centos7安裝elasticsearch5.6.7+ik分詞器+head插件+kibana(3臺服務器,數據外部掛載和ik分詞器外部掛載),自己手搭

1 準備3臺機器

      服務器1 :192.168.2.89

      服務器2 :192.168.2.90

      服務器3 :192.168.2.91

2 在每臺機器上做好準備工作

掛載數據data文件夾,配置文件config,和plugins文件夾

[root@localhost soft]# pwd
/root/soft
[root@localhost soft]# mkdir -p ES/config
[root@localhost soft]# cd  ES 
[root@localhost ES]# mkdir data
[root@localhost ES]# mkdir plugins
[root@localhost ES]# cd ES/config/
[root@localhost config]# touch es.yml
[root@localhost ES]# firewall-cmd --add-port=9300/tcp
success
[root@localhost ES]# firewall-cmd --add-port=9301/tcp
success
[root@localhost ES]# firewall-cmd --add-port=9302/tcp
success

別忘了重新加載下防火牆
=============================我這邊暴露端口採用的linux的寶塔面板==============

描述:在root文件夾下,新建soft文件夾,在soft文件夾下建ES文件夾,在ES文件夾下建data,config,plugins 三個文件夾

es.yml文件內容如下,copy進去即可,copy到這臺機器ES/config/es.yml中

#集羣名
cluster.name: elasticsearch-cluster

#當前機器下的es節點名字
node.name: es-node1

#指綁定這臺機器的任何一個ip
network.bind_host: 0.0.0.0

#當前機器的ip(這樣設置,可以讓別的機器可以通過這個ip來和這個es通訊,不設置,別的機器不能通過這個ip和這臺機器上的es通訊)
network.publish_host: 192.168.2.89 

#設置對外服務的http端口,默認爲9200
http.port: 9200

#設置節點之間交互的tcp端口,默認是9300
transport.tcp.port: 9300

#是否允許跨域REST請求
http.cors.enabled: true

#允許 REST 請求來自何處
http.cors.allow-origin: "*"

#節點角色設置
node.master: true 

node.data: true  
#有成爲主節點資格的節點列表
discovery.zen.ping.unicast.hosts: ["192.168.2.89:9300","192.168.2.90:9300","192.168.2.91:9300"]

#集羣中一直正常運行的,有成爲master節點資格的最少節點數(默認爲1)
# (totalnumber of master-eligible nodes / 2 + 1)
discovery.zen.minimum_master_nodes: 2

下載ik分詞器,版本要和es版本一致,這裏es和ik都是5.6.7的。包括kibana也是5.6.7

ik分詞器連接:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v5.6.7

下載 elasticsearch-analysis-ik-5.6.7.zip 到桌面,在桌面上新建文件夾  ik  ,把 elasticsearch-analysis-ik-5.6.7.zip 解壓到ik

文件夾裏,並刪除 .zip文件,把ik文件夾上傳到 服務器上的ES/plugins/文件下即可,其他不需要做什麼

當然你的目錄結構和我的不一樣也行,只要你自己改的清楚就行

3.調高JVM線程數限制數量

在centos窗口中,修改配置sysctl.conf

vim /etc/sysctl.conf

加入如下內容:

vm.max_map_count=262144 

保存退出,在執行如下命令,讓其生效

sysctl -p



 

4 其他機器也是一樣。就是ES/config/es.yml文件不一樣而已,下面展示三臺機器的es.yml

機器1  192.168.2.89 的es.yml

#集羣名
cluster.name: elasticsearch-cluster

#當前機器下的es節點名字
node.name: es-node1

#指綁定這臺機器的任何一個ip
network.bind_host: 0.0.0.0

#當前機器的ip(這樣設置,可以讓別的機器可以通過這個ip來和這個es通訊,不設置,別的機器不能通過這個ip和這臺機器上的es通訊)
network.publish_host: 192.168.2.89 

#設置對外服務的http端口,默認爲9200
http.port: 9200

#設置節點之間交互的tcp端口,默認是9300
transport.tcp.port: 9300

#是否允許跨域REST請求
http.cors.enabled: true

#允許 REST 請求來自何處
http.cors.allow-origin: "*"

#節點角色設置
node.master: true 

node.data: true  
#有成爲主節點資格的節點列表
discovery.zen.ping.unicast.hosts: ["192.168.2.89:9300","192.168.2.90:9300","192.168.2.91:9300"]

#集羣中一直正常運行的,有成爲master節點資格的最少節點數(默認爲1)
# (totalnumber of master-eligible nodes / 2 + 1)
discovery.zen.minimum_master_nodes: 2

機器二  192.168.2.90 機器下的es.yml文件,其實就是 network.publish_host: 192.168.2.90 ,和node.name (node節點名字)不一樣而已

#集羣名
cluster.name: elasticsearch-cluster

#當前機器下的es節點名字
node.name: es-node2

#指綁定這臺機器的任何一個ip
network.bind_host: 0.0.0.0

#當前機器的ip(這樣設置,可以讓別的機器可以通過這個ip來和這個es通訊,不設置,別的機器不能通過這個ip和這臺機器上的es通訊)
network.publish_host: 192.168.2.90 

#設置對外服務的http端口,默認爲9200
http.port: 9200

#設置節點之間交互的tcp端口,默認是9300
transport.tcp.port: 9300

#是否允許跨域REST請求
http.cors.enabled: true

#允許 REST 請求來自何處
http.cors.allow-origin: "*"

#節點角色設置
node.master: true 

node.data: true  
#有成爲主節點資格的節點列表
discovery.zen.ping.unicast.hosts: ["192.168.2.89:9300","192.168.2.90:9300","192.168.2.91:9300"]

#集羣中一直正常運行的,有成爲master節點資格的最少節點數(默認爲1)
# (totalnumber of master-eligible nodes / 2 + 1)
discovery.zen.minimum_master_nodes: 2

機器三 192.168.2.91  下的es.yml文件


#集羣名
cluster.name: elasticsearch-cluster

#當前機器下的es節點名字
node.name: es-node3

#指綁定這臺機器的任何一個ip
network.bind_host: 0.0.0.0

#當前機器的ip(這樣設置,可以讓別的機器可以通過這個ip來和這個es通訊,不設置,別的機器不能通過這個ip和這臺機器上的es通訊)
network.publish_host: 192.168.2.91 

#設置對外服務的http端口,默認爲9200
http.port: 9200

#設置節點之間交互的tcp端口,默認是9300
transport.tcp.port: 9300

#是否允許跨域REST請求
http.cors.enabled: true

#允許 REST 請求來自何處
http.cors.allow-origin: "*"

#節點角色設置
node.master: true 

node.data: true  
#有成爲主節點資格的節點列表
discovery.zen.ping.unicast.hosts: ["192.168.2.89:9300","192.168.2.90:9300","192.168.2.91:9300"]

#集羣中一直正常運行的,有成爲master節點資格的最少節點數(默認爲1)
# (totalnumber of master-eligible nodes / 2 + 1)
discovery.zen.minimum_master_nodes: 2
 

 

5 拉去鏡像,啓動鏡像:

拉去鏡像命令:(三臺機器都一樣)

docker pull elasticsearch:5.6.7

啓動鏡像命令:

機器一啓動es命令:

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300  -v /root/soft/ES/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /root/soft/ES/data:/usr/share/elasticsearch/data  -v /root/soft/ES/plugins:/usr/share/elasticsearch/plugins --name ES01 elasticsearch:5.6.7

機器二啓動es命令:

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300  -v /root/soft/ES/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /root/soft/ES/data:/usr/share/elasticsearch/data  -v /root/soft/ES/plugins:/usr/share/elasticsearch/plugins --name ES02 elasticsearch:5.6.7

機器三啓動es命令:

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300  -v /root/soft/ES/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /root/soft/ES/data:/usr/share/elasticsearch/data  -v /root/soft/ES/plugins:/usr/share/elasticsearch/plugins --name ES03 elasticsearch:5.6.7

命令解釋:

-e ES_JAVA_OPTS="-Xms256m -Xmx256m" :設置jvm的初始內存和最大內存,我這裏內存不夠,所以設置小了,你可以根據你自己的情況設置

-d  :後臺i啓動

 -p 9200:9200 -p 9300:9300  :docker容器和宿主機的端口映射

-v /root/soft/ES/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml:-v 是外部掛載命令符,

    這個意思是:把root/soft/ES/config/es.yml 掛在到es的docker容器裏,替代es容器裏原本的elasticsearch.yml

-v /root/soft/ES/data:/usr/share/elasticsearch/data :意思同上,就是把es容器的數據存到/root/soft/ES/data裏

-v /root/soft/ES/plugins:/usr/share/elasticsearch/plugins :意思同上,就是把/root/soft/ES/plugins 文件夾 替代es的docker容器原本的plugins,這裏面可以放一下es的插件,比如 ik 分析器,等,這樣做是爲了刪除docker容器時,不影響插件,而不是向其他的,到docker容器裏去裝插件,要是docker容器刪了,裏面的插件就沒了,每次都要進容器裏面裝插件。外部掛在,不存在這樣的問題,刪了就刪了,重新run一個就像,data,config和plugins都在外面。

--name ES01 elasticsearch:5.6.7  啓動的這個容器名字是 ES01 ,elasticsearch:5.6.7是啓動的es版本

啓動後可以在瀏覽器中測試  ip:port即可

如:http://192.168.2.89:9200/ ,http://192.168.2.90:9200/ ,http://192.168.2.91:9200/ 

6 下面安裝head插件和kibana,套路,拉取對象,啓動鏡像,即可

head插件:

docker pull mobz/elasticsearch-head:5

docker run -d -p 9100:9100 --name es-manager  mobz/elasticsearch-head:5

瀏覽器訪問:http://192.168.2.89:9100/

 

docker pull kibana:5.6.7


docker run --name kibana -e ELASTICSEARCH_URL=http://192.168.2.89:9200 -p 5601:5601 -d kibana:5.6.7

http://192.168.2.89:5601/

 

到此結束!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章