1. 程式人生 > >Linux(centos7) Elasticsearch6.5叢集安裝與Kibana視覺化

Linux(centos7) Elasticsearch6.5叢集安裝與Kibana視覺化

必須要先安全JDK1.8或以上版本,記憶體配置1G以上,最好2G

https://www.elastic.co/cn/downloads/elasticsearch#ga-release  官網下載tar

上傳到linux 解壓

tar -zxvf elasticsearch-6.5.0.tar.gz

進行bin目錄

cd elasticsearch-6.5.0/bin/

啟動ES

./elasticsearch

報錯:因為es不能使用root使用者啟動

新建使用者 myes

adduser myes

給使用者操作elasticsearch資料夾的許可權(若要修改es資料和日誌的儲存路徑,也需要對對應資料夾授權)

 chown -R myes /data/elasticsearch-6.5.0

切換到myes使用者

su myes

啟動ES

./elasticsearch

但是無法訪問,進入到配置檔案

cd elasticsearch-6.5.0/config/

 

 修改成0.0.0.0

重啟ES  (查詢程序ps -ef|grep elasticsearch   kill -9 21667)

又報錯了

 

報了【1】 【2】兩個錯誤

[1]解決方案

切換到root使用者,編輯limits.conf新增類似如下內容

vi /etc/security/limits.conf

新增如下內容:

* soft nofile 65536

* hard nofile 65536

* soft nproc 4096

* hard nproc 4096

儲存後重啟系統讓修改生效

[2]解決方案

[2]錯誤是因為作業系統的vm.max_map_count引數設定太小導致的:

切換到root使用者修改配置sysctl.conf

vi /etc/sysctl.conf 

新增下面配置:

vm.max_map_count=262144

並執行命令,讓修改生效:

sysctl -p

執行sysctl -a | grep "vm.max_map_count"命令檢視修改是否生效

切換到es使用者,重啟es,啟動成功 -d表示後臺啟動

./elasticsearch -d

//臨時關閉

systemctl stop firewalld

 

 

//禁止開機啟動

systemctl disable firewalld

 

Kibana安裝

https://www.elastic.co/downloads/kibana  下載並上傳到linux

tar -zxvf kibana-6.5.1-linux-x86_64.tar.gz

修改kibana配置檔案   elasticsearch.url必須是主節點的url

vi kibana-6.5.1-linux-x86_64/config/kibana.yml

elasticsearch.url必須是主節點的url

啟動kibana服務

./kibana-6.5.1-linux-x86_64/bin/kibana

啟動成功

後臺啟動

nohup ./kibana-6.5.1-linux-x86_64/bin/kibana &

訪問地址 192.168.79.130:5601

 

ES未啟動

修改ES的配置檔案

#新增下面配置

#network.host 繫結ip

network.host: 127.0.0.1

.讓kibana外掛能夠連線訪問(配置允許跨域訪問)

http.cors.enabled: true

http.cors.allow-origin: "*"

 

啟動ES

成功

 

Elasticsearch6.5叢集配置  1主2從

分散式叢集配置(設定主從關係)

master主節點配置

#叢集名稱cluster.name: wali

#指定該服務為指揮官角色

node.name: master

node.master: true

#繫結的ip    network.host: 127.0.0.1

 

設定從機配置:2個從

同主機安裝一樣,在新目錄安裝elasticsearch,並將目錄名設定為es_slave1 ...

cp -r elasticsearch-6.5.0 es_slave1

cp -r elasticsearch-6.5.0 es_slave2

修改yml檔案配置

#叢集名稱,需要和主機的保持一致

es_slave1配置

cluster.name: wali

#設定節點名稱

node.name: slave1

#設定ip

network.host: 127.0.0.1

#指定服務啟動埠  因為預設埠號(9200)被主節點佔用了

http.port: 8200

#找到叢集中的master

discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

 

es_slave2配置

cluster.name: wali

#設定節點名稱

node.name: slave2

#設定ip

network.host: 127.0.0.1

#指定服務啟動埠  因為預設埠號(9200)被主節點佔用了

http.port: 8300

#找到叢集中的master

discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

 

給myes使用者配置許可權

chown -R myes /data/es_slave1

chown -R myes /data/es_slave2

直接啟動 slave會報錯

 

是因為複製的elasticsearch資料夾下包含了data檔案中主節點資料,需要把從節點data檔案下的檔案清空。

啟動master和slave1

 

啟動slave2時報錯,記憶體不足failed; error='Cannot allocate memory' (errno=12)

進行slave2的配置檔案config 把記憶體修改小一點

vi jvm.options

 

啟動 3臺ES 大功告成