1. 程式人生 > >es集群搭建

es集群搭建

echo 8.0 exp log vim stopped system 其中 top

1、復制5份es,版本要相同,且各個節點上jdk版本也要相同,否則會報數據同步格式不一致 invalid internal transport message format。

2、配置elasticsearch.yml,主要修改以下方面:

  cluster.name: my-application #集群名,各個節點要一致

  node.name: node-01 #節點名

  path.data: /data1/elk/elasticsearch/data #數據存儲位置

  path.logs: /data1/elk/elasticsearch/logs #日誌

  bootstrap.system_call_filter: false #關閉鎖內存

  network.host: 192.168.0.1 #各個節點IP,每個節點寫自己的ip

  http.port: 9200 #端口

  discovery.zen.ping.unicast.hosts: ["192.168.0.1", "192.168.0.2","192.168.0.3","192.168.0.4","192.168.0.5"] #集群ip列表

  discovery.zen.minimum_master_nodes: 3 #集群master節點數,建議為(集群節點總數/2)+1

3、配置好直接啟動即可,隨意先啟動哪一臺,先啟動即為master。9300是tcp通訊端口,集群間和TCPClient都走的它,所以各個主機間9300一定要能互通。

4、驗證集群 ,es 9200是http協議的RESTful接口,可用此端口查看集群狀態

  curl -XGET ‘http://192.168.0.1:9200/_cat/nodes?pretty‘

  其中

  • _cat代表查看信息
  • nodes為查看節點信息,默認會顯示為一行,所以就用刀了?preety讓信息更有好的顯示
  • ?preety讓輸出信息更友好的顯示

結果如下表示集群已搭建成功:

技術分享圖片

5、es啟動腳本

  vim /etc/init.d/es

#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch

export JAVA_HOME=/usr/local/jdk1.8.0_92

export JAVA_BIN=/usr/local/jdk1.8.0_92/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH

case "$1" in
start)
su dev<<!
cd /data1/elk/elasticsearch
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
stop)
es_pid=`ps aux|grep elasticsearch | grep -v ‘grep elasticsearch‘ | awk ‘{print $2}‘`
kill -9 $es_pid
echo "elasticsearch stopped"
;;
restart)
es_pid=`ps aux|grep elasticsearch | grep -v ‘grep elasticsearch‘ | awk ‘{print $2}‘`
kill -9 $es_pid
echo "elasticsearch stopped"
su dev<<!
cd /data1/elk/elasticsearch
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
*)
echo "start|stop|restart"
;;
esac

exit $?

技術分享圖片

技術分享圖片

es集群搭建