Elasticsearch的安裝使用是怎樣的-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)Elasticsearch的安裝使用是怎樣的,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,先為阿里地區(qū)等服務(wù)建站,阿里地區(qū)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為阿里地區(qū)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
導(dǎo)讀ElasticSearch是一個(gè)基于Lucene的搜索服務(wù)器。它提供了一個(gè)分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java語言開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是一種流行的企業(yè)級(jí)搜索引擎。

Elastic

Elastic有一條完整的產(chǎn)品線及解決方案:Elasticsearch、Kibana、Logstash等,前面說的三個(gè)就是大家常說的ELK技術(shù)棧。

Elasticsearch的安裝使用是怎樣的

Elasticsearch

Elasticsearch官網(wǎng):https://www.elastic.co/cn/products/elasticsearch

Elasticsearch的安裝使用是怎樣的

如上所述,Elasticsearch具備以下特點(diǎn):

分布式,無需人工搭建集群(solr就需要人為配置,使用Zookeeper作為注冊(cè)中心)

Restful風(fēng)格,一切API都遵循Rest原則,容易上手

近實(shí)時(shí)搜索,數(shù)據(jù)更新在Elasticsearch中幾乎是完全同步的。

版本

目前Elasticsearch最新的版本是6.3.1,我們就使用6.3.0

Elasticsearch的安裝使用是怎樣的

需要虛擬機(jī)JDK1.8及以上

安裝和配置

為了模擬真實(shí)場(chǎng)景,我們將在 linux下安裝Elasticsearch。

新建一個(gè)用戶leyou

出于安全考慮,elasticsearch默認(rèn)不允許以root賬號(hào)運(yùn)行。

創(chuàng)建用戶:

useradd leyou

設(shè)置密碼:

passwd leyou

切換用戶:

su - leyou

上傳安裝包,并解壓

我們將安裝包上傳到:/home/leyou目錄

解壓縮:

tar -zxvf elasticsearch-6.2.4.tar.gz

刪除壓縮包:

rm -rf elasticsearch-6.2.4.tar.gz

我們把目錄重命名:

mv elasticsearch-6.2.4/ elasticsearch

進(jìn)入,查看目錄結(jié)構(gòu):

Elasticsearch的安裝使用是怎樣的

修改配置

我們進(jìn)入config目錄:cd config

需要修改的配置文件有兩個(gè):

Elasticsearch的安裝使用是怎樣的

jvm.options

Elasticsearch基于Lucene的,而Lucene底層是Java實(shí)現(xiàn),因此我們需要配置jvm參數(shù)。

編輯jvm.options:

vim jvm.options
默認(rèn)配置如下:
-Xms1g
-Xmx1g
內(nèi)存占用太多了,我們調(diào)小一些:
-Xms512m
-Xmx512m
elasticsearch.yml
vim elasticsearch.yml
修改數(shù)據(jù)和日志目錄:
path.data: /home/leyou/elasticsearch/data # 數(shù)據(jù)目錄位置
path.logs: /home/leyou/elasticsearch/logs # 日志目錄位置

我們把data和logs目錄修改指向了elasticsearch的安裝目錄。但是這兩個(gè)目錄并不存在,因此我們需要?jiǎng)?chuàng)建出來。

進(jìn)入elasticsearch的根目錄,然后創(chuàng)建:

mkdir data
mkdir logs

Elasticsearch的安裝使用是怎樣的

修改綁定的ip:

network.host: 0.0.0.0 # 綁定到0.0.0.0,允許任何ip來訪問

默認(rèn)只允許本機(jī)訪問,修改為0.0.0.0后則可以遠(yuǎn)程訪問

目前我們是做的單機(jī)安裝,如果要做集群,只需要在這個(gè)配置文件中添加其它節(jié)點(diǎn)信息即可。

elasticsearch.yml的其它可配置信息:

屬性名	說明
cluster.name 	配置elasticsearch的集群名稱,默認(rèn)是elasticsearch。建議修改成一個(gè)有意義的名稱。
node.name 	節(jié)點(diǎn)名,es會(huì)默認(rèn)隨機(jī)指定一個(gè)名字,建議指定一個(gè)有意義的名稱,方便管理
path.conf 	設(shè)置配置文件的存儲(chǔ)路徑,tar或zip包安裝默認(rèn)在es根目錄下的config文件夾,rpm安裝默認(rèn)在/etc/ elasticsearch
path.data 	設(shè)置索引數(shù)據(jù)的存儲(chǔ)路徑,默認(rèn)是es根目錄下的data文件夾,可以設(shè)置多個(gè)存儲(chǔ)路徑,用逗號(hào)隔開
path.logs 	設(shè)置日志文件的存儲(chǔ)路徑,默認(rèn)是es根目錄下的logs文件夾
path.plugins 	設(shè)置插件的存放路徑,默認(rèn)是es根目錄下的plugins文件夾
bootstrap.memory_lock 	設(shè)置為true可以鎖住ES使用的內(nèi)存,避免內(nèi)存進(jìn)行swap
network.host 	設(shè)置bind_host和publish_host,設(shè)置為0.0.0.0允許外網(wǎng)訪問
http.port 	設(shè)置對(duì)外服務(wù)的http端口,默認(rèn)為9200。
transport.tcp.port 	集群結(jié)點(diǎn)之間通信端口
discovery.zen.ping.timeout 	設(shè)置ES自動(dòng)發(fā)現(xiàn)節(jié)點(diǎn)連接超時(shí)的時(shí)間,默認(rèn)為3秒,如果網(wǎng)絡(luò)延遲高可設(shè)置大些
discovery.zen.minimum_master_nodes 	主結(jié)點(diǎn)數(shù)量的最少值 ,此值的公式為:(master_eligible_nodes / 2) + 1 ,比如:有3個(gè)符合要求的主結(jié)點(diǎn),那么這里要設(shè)置為2

修改文件權(quán)限:

leyou 要own(擁有) elasticsearch 這個(gè)文件夾權(quán)限 -R 是遞歸的賦予權(quán)限

chown leyou:leyou elasticsearch/ -R

運(yùn)行

進(jìn)入elasticsearch/bin目錄,可以看到下面的執(zhí)行文件:

Elasticsearch的安裝使用是怎樣的

然后輸入 命令:

./elasticsearch

發(fā)現(xiàn)報(bào)錯(cuò)了,啟動(dòng)失?。?/p>

錯(cuò)誤1:內(nèi)核過低

Elasticsearch的安裝使用是怎樣的

我們使用的是 CentOS6,其linux內(nèi)核版本為2.6。而Elasticsearch的插件要求至少3.5以上版本。不過沒關(guān)系,我們禁用這個(gè)插件即可。

修改elasticsearch.yml文件,在最下面添加如下配置:

bootstrap.system_call_filter: false

然后重啟

錯(cuò)誤2:文件權(quán)限不足

再次啟動(dòng),又出錯(cuò)了:

Elasticsearch的安裝使用是怎樣的

[1]: max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

我們用的是leyou用戶,而不是root,所以文件權(quán)限不足。

首先用root用戶登錄。

然后修改配置文件:

vim /etc/security/limits.conf
添加下面的內(nèi)容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096

錯(cuò)誤3:線程數(shù)不夠

剛才報(bào)錯(cuò)中,還有一行:

[1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

這是線程數(shù)不夠。

繼續(xù)修改配置:

vim /etc/security/limits.d/90-nproc.conf 
修改下面的內(nèi)容:
* soft nproc 1024
改為:
* soft nproc 4096

錯(cuò)誤4:進(jìn)程虛擬內(nèi)存

[3]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

vm.max_map_count:限制一個(gè)進(jìn)程可以擁有的VMA(虛擬內(nèi)存區(qū)域)的數(shù)量,繼續(xù)修改配置文件, :

vim /etc/sysctl.conf 
添加下面內(nèi)容:
vm.max_map_count=655360
然后執(zhí)行命令:
sysctl -p

重啟終端窗口

所有錯(cuò)誤修改完畢,一定要重啟你的 X shell終端,否則配置無效。

啟動(dòng)

再次啟動(dòng),終于成功了!

Elasticsearch的安裝使用是怎樣的

可以看到綁定了兩個(gè)端口:

9300:集群節(jié)點(diǎn)間通訊接口

9200:客戶端訪問接口

我們?cè)跒g覽器中訪問:http://192.168.56.101:9200

Elasticsearch的安裝使用是怎樣的

安裝kibana

1.4.1.什么是Kibana?

Elasticsearch的安裝使用是怎樣的

Kibana是一個(gè)基于Node.js的Elasticsearch索引庫(kù)數(shù)據(jù)統(tǒng)計(jì)工具,可以利用Elasticsearch的聚合功能,生成各種圖表,如柱形圖,線狀圖,餅圖等。

而且還提供了操作Elasticsearch索引數(shù)據(jù)的控制臺(tái),并且提供了一定的API提示,非常有利于我們學(xué)習(xí)Elasticsearch的語法。

安裝

因?yàn)镵ibana依賴于node,我們的虛擬機(jī)沒有安裝node,而window中安裝過。所以我們選擇在window下使用kibana。

最新版本與elasticsearch保持一致,也是6.3.0

Elasticsearch的安裝使用是怎樣的

解壓到特定目錄即可

配置運(yùn)行

進(jìn)入安裝目錄下的config目錄,修改kibana.yml文件:

修改elasticsearch服務(wù)器的地址:

elasticsearch.url: "http://192.168.56.101:9200"

運(yùn)行

進(jìn)入安裝目錄下的bin目錄:

Elasticsearch的安裝使用是怎樣的

雙擊運(yùn)行:

Elasticsearch的安裝使用是怎樣的

發(fā)現(xiàn)kibana的監(jiān)聽端口是5601

我們?cè)L問:http://127.0.0.1:5601

Elasticsearch的安裝使用是怎樣的

控制臺(tái)

選擇左側(cè)的DevTools菜單,即可進(jìn)入控制臺(tái)頁(yè)面:

Elasticsearch的安裝使用是怎樣的

在頁(yè)面右側(cè),我們就可以輸入請(qǐng)求,訪問Elasticsearch了。

Elasticsearch的安裝使用是怎樣的

安裝ik分詞器

Lucene的IK分詞器早在2012年已經(jīng)沒有維護(hù)了,現(xiàn)在我們要使用的是在其基礎(chǔ)上維護(hù)升級(jí)的版本,并且開發(fā)為ElasticSearch的集成插件了,與Elasticsearch一起維護(hù)升級(jí),版本也保持一致,最新版本:6.3.0

安裝

上傳資料中的zip包,解壓到Elasticsearch目錄的plugins目錄中:

Elasticsearch的安裝使用是怎樣的

使用unzip命令解壓:

unzip elasticsearch-analysis-ik-6.3.0.zip -d ik-analyzer

然后重啟elasticsearch:

Elasticsearch的安裝使用是怎樣的

測(cè)試

大家先不管語法,我們先測(cè)試一波。

在kibana控制臺(tái)輸入下面的請(qǐng)求:

POST _analyze
{
  "analyzer": "ik_max_word",
  "text":     "我是中國(guó)人"
}

運(yùn)行得到結(jié)果:

{
  "tokens": [
    {
      "token": "我",
      "start_offset": 0,
      "end_offset": 1,
      "type": "CN_CHAR",
      "position": 0
    },
    {
      "token": "是",
      "start_offset": 1,
      "end_offset": 2,
      "type": "CN_CHAR",
      "position": 1
    },
    {
      "token": "中國(guó)人",
      "start_offset": 2,
      "end_offset": 5,
      "type": "CN_WORD",
      "position": 2
    },
    {
      "token": "中國(guó)",
      "start_offset": 2,
      "end_offset": 4,
      "type": "CN_WORD",
      "position": 3
    },
    {
      "token": "國(guó)人",
      "start_offset": 3,
      "end_offset": 5,
      "type": "CN_WORD",
      "position": 4
    }
  ]
}

以上就是Elasticsearch的安裝使用是怎樣的,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。

本文題目:Elasticsearch的安裝使用是怎樣的-創(chuàng)新互聯(lián)
URL地址:http://www.bm7419.com/article30/cdjepo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、自適應(yīng)網(wǎng)站網(wǎng)站維護(hù)、網(wǎng)站改版、全網(wǎng)營(yíng)銷推廣、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)