【轉(zhuǎn)】Linux上安裝Elasticsearch5.x

前言

1、這里我的系統(tǒng)是阿里云的 CentOS 7.2 64位,2核4G

2、$開始的命令表示你要輸入的命令

一、JAVA環(huán)境配置

ElasticSearch是基于lucence開發(fā)的,也就是運(yùn)行需要java支持。所以要先安裝JAVA環(huán)境。
由于ElasticSearch 5.x 依賴于JDK 1.8的,所以現(xiàn)在我們下載JDK 1.8或者更高版本。以下命令將會(huì)下載最新的jdk

$ yum install java

安裝完畢后測(cè)試

$ java -version

二、Elasticsearch引擎安裝

1、創(chuàng)建帳號(hào)和分配權(quán)限

官方文檔上說(shuō)Elasticsearch不適合在root管理員帳號(hào)下運(yùn)行,所以要先建立一個(gè)賬號(hào)專門運(yùn)行Elasticsearch.

創(chuàng)建一個(gè)elsearch賬戶

$ adduser elsearch

設(shè)置密碼

$ passwd elsearch

按照提示輸入密碼和確認(rèn)密碼就成功創(chuàng)建elsearch賬戶了。

修改用戶權(quán)限,這一步非常重要

使用vim 編輯器打開文件打開/etc 目錄下面的文件sudoers

$ vim /etc/sudoers

找到如下位置:

## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL

在這個(gè)區(qū)塊下面添加一行命令,使elsearch這個(gè)帳號(hào)可以獲得更高的操作權(quán)限

## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL
elsearch        ALL=(ALL)       NOPASSWD: ALL 

ok保存。

2、引擎下載

退出root賬戶,使用剛剛創(chuàng)建的elsearch賬戶登錄服務(wù)器想,下載Elasticsearch安裝包。

$ wget -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.2.zip

文件校驗(yàn)

$ sha1sum elasticsearch-5.3.2.zip 

解壓

$ unzip elasticsearch-5.3.2.zip

解壓完將有兩個(gè)文件,zip可以刪掉。

$ ls
elasticsearch-5.3.2  elasticsearch-5.3.2.zip
3、引擎啟動(dòng)

進(jìn)到elasticsearch-5.3.2目錄下

# cd elasticsearch-5.3.2/ 

啟動(dòng)引擎(-d表示為后臺(tái)啟動(dòng))

$ ./bin/elasticsearch -d

查看elasticsearch進(jìn)程情況

$ ps -ef |grep elasticsearch

如果看到如下一串東西則表示啟動(dòng)成功

elsearch 22042     1 20 00:36 pts/2    00:00:09 /bin/java -Xms2g -Xmx2g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -server -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -Djdk.io.permissionsUseCanonicalPath=true -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j.skipJansi=true -XX:+HeapDumpOnOutOfMemoryError -Des.path.home=/home/elsearch/elasticsearch-5.3.2 -cp /home/elsearch/elasticsearch-5.3.2/lib/elasticsearch-5.3.2.jar:/home/elsearch/elasticsearch-5.3.2/lib/* org.elasticsearch.bootstrap.Elasticsearch -d

或者使用 curl測(cè)試,es端口默認(rèn)情況下是9200

$ curl "localhost:9200"

返回如下信息則說(shuō)明啟動(dòng)成功

{
  "name" : "nHlYWW8",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "SNUvV-1fQLKaGnfXrA4UXg",
  "version" : {
    "number" : "5.3.2",
    "build_hash" : "3068195",
    "build_date" : "2017-04-24T16:15:59.481Z",
    "build_snapshot" : false,
    "lucene_version" : "6.4.2"
  },
  "tagline" : "You Know, for Search"
}
4、引擎健康情況
$ curl "localhost:9200/_cat/health?v"

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1493916286 00:44:46  elasticsearch green           1         1      0   0    0    0        0             0                  -                100.0%

如果出現(xiàn)這條信息,說(shuō)明你的elastic search已經(jīng)正常運(yùn)行了,恭喜你

標(biāo)題 含義
epoch unix 的時(shí)間
timestamp 時(shí)間戳
cluster 集群
status 健康狀態(tài):紅為異常, 綠黃為健康
node.total 節(jié)點(diǎn)的總數(shù)
node.data 節(jié)點(diǎn)的數(shù)據(jù)
shards 分片
pri active_primary_shards 已激活的主要分片
relo 回收的切片
init 已經(jīng)初始的切片數(shù)量
unassign 未分配切片數(shù)量
pending_tasks 被擱置的任務(wù)數(shù)量
max_task_wait_time 任務(wù)等待的最大時(shí)間
active_shards_percents 激活分片的百分比

注意 status黃色和綠色的區(qū)別:

  • 紅色:所有的分片沒(méi)有全部激活
  • 黃色:主要分片全部啟動(dòng),但是備份的分片沒(méi)有啟動(dòng)
  • 綠色:主要分片和其備份都已經(jīng)啟動(dòng)

官方詳情請(qǐng)參閱https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html

5、安裝中文分詞插件 smartcn

仍然使用elsearch登錄,然后切換目錄到elsearchsearch 所在的文件夾

$ cd elasticsearch-5.3.2

執(zhí)行安裝命令

$ sudo ./bin/elasticsearch-plugin install analysis-smartcn

卸載命名

$ sudo ./bin/elasticsearch-plugin remove analysis-smartcn

測(cè)試分詞,使用"人人編程,世界和平"為例子,進(jìn)行測(cè)試,使用站長(zhǎng)工具 將例子中的字?jǐn)噢D(zhuǎn)換成unicode編碼的字?jǐn)?在的終端中,調(diào)用下面方法,驗(yàn)證smartcn分詞插件是否已經(jīng)成功運(yùn)行

$ curl -XGET 'localhost:9200/_analyze?pretty' -d '{"analyzer":"smartcn", "text": "\u4eba\u4eba\u7f16\u7a0b\uff0c\u4e16\u754c\u548c\u5e73"}'

出現(xiàn)如下結(jié)果證明分詞成功。若沒(méi)有添加"analyzer":"smartcn"指定分詞,將使用默認(rèn)分詞。對(duì)于中文來(lái)講,將會(huì)把所有的字單獨(dú)分出來(lái)。

{
  "tokens" : [
    {
      "token" : "人人",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "編程",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "世界",
      "start_offset" : 5,
      "end_offset" : 7,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "和平",
      "start_offset" : 7,
      "end_offset" : 9,
      "type" : "word",
      "position" : 4
    }
  ]
}
6、配置elasticsearch.yml
$ cd elasticsearch-5.3.2
$ vim ./config/elasticsearch.yml

根據(jù)需求修改一下節(jié)點(diǎn):

cluster.name: es-5.3-test   #換個(gè)集群的名字,免得跟別人的集群混在一起

node.name: node-es-101     #換個(gè)節(jié)點(diǎn)名字

network.host: 0.0.0.0       #修改一下ES的監(jiān)聽地址,這樣別的機(jī)器也可以訪問(wèn)
http.port: 9200             #端口號(hào),默認(rèn)就好

# 增加新的參數(shù),這樣head插件可以訪問(wèn)es
http.cors.enabled: true 
http.cors.allow-origin: "*"

#增加新的參數(shù),這樣ES可以通過(guò)外網(wǎng)進(jìn)行訪問(wèn),只設(shè)置network.host: 0.0.0.0 公網(wǎng)仍舊無(wú)法訪問(wèn)
transport.host: localhost
transport.tcp.port: 9300

@注意,設(shè)置參數(shù)的時(shí)候:后面要有空格!
7、Sense安裝使用

對(duì)于不熟悉Linux的人來(lái)講,使用curl是個(gè)硬傷,所以 Chrome有個(gè)插件Sense可以幫我們很方便的操作Elasticsearch。國(guó)內(nèi)需要翻墻。

先來(lái)測(cè)試下分詞

三、安裝 Kibaba

Kibana是一個(gè)開源為elasticsearch 引擎提供數(shù)據(jù)和數(shù)據(jù)分析

1、下載安裝

切換到root賬戶,按順序依次執(zhí)行以下命令

$ wget -c https://artifacts.elastic.co/downloads/kibana/kibana-5.3.2-x86_64.rpm
$ sha1sum kibana-5.3.2-x86_64.rpm 
$ sudo rpm --install kibana-5.3.2-x86_64.rpm
2、配置Kibana的host
$ whereis kibana
kibana: /etc/kibana /usr/share/kibana

如果顯示以上結(jié)果表明kibana已經(jīng)正確安裝完成,兩個(gè)目錄

/etc/kibana 為kibana config文件所在的目錄

/usr/share/kibana 為程序所在的目錄

修改Kibana的配置文件,允許公網(wǎng)訪問(wèn)

$ vim /etc/kibana/kibana.yml

server.host修改為

server.host: "0.0.0.0"
3、啟動(dòng)Kibana

配置kibana能夠自動(dòng)啟動(dòng)

$ sudo chkconfig --add kibana

啟動(dòng)和停止

$ sudo -i service kibana start
$ sudo -i service kibana stop

接下來(lái)即可使用公網(wǎng)訪問(wèn)http://IP:5601打開Kibana了。

官方詳情請(qǐng)參閱https://www.elastic.co/guide/en/kibana/5.3/targz.html


原文:http://www.itdecent.cn/p/e62bd4afe325

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容