本次搭建的是一个三节点的集群java
(一)es的安装node
(1)下载安装包linux
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.4.tar.gzgit
(2)解压到指定目录github
(3)进入根目录,修改config/elasticsearch.yml文件,清空内容,添加以下配置npm
cluster.name: es node.name: ${HOSTNAME} bootstrap.memory_lock: false bootstrap.system_call_filter: false network.host: ${HOSTNAME} http.port: 9600 transport.tcp.port: 9700 discovery.zen.ping.unicast.hosts: ["host0:9700", "host1:9700"] discovery.zen.minimum_master_nodes: 2 http.cors.enabled: true http.cors.allow-origin: "*"
注意配置主机名与ip的映射bootstrap
(4)修改文件config/jvm.options ,设置堆内存,其余的根据状况调整跨域
-Xms4g -Xmx4g
(5)若是系统里面有多个jdk存在,能够修改bin/elasticsearch里面,指定jdk版本cors
export JAVA_HOME=/usr/java/jdk1.8 export PATH=$JAVA_HOME/bin:$PATH
(6)配置完成后分发到全部机器上ssh
(7)写一个启动集群和关闭集群的脚本 es.sh
注意,同级目录下须要有一个hosts文件,里面按行配置全部用到的ip
#启动集群方法 start(){ for ip in `cat hosts` do echo $ip"开始启动es节点" ssh $ip "cd /home/search/elasticsearch && bin/elasticsearch -d -p /home/search/elasticsearch/es_pid " done } #关闭集群方法 stop(){ for ip in `cat hosts` do echo $ip"开始关闭es节点" ssh $ip " cat /home/search/elasticsearch/es_pid | xargs kill -15 " done }
(二)head的安装
//下载源码 (1)git clone git://github.com/mobz/elasticsearch-head.git //进入根目录 (2)cd elasticsearch-head //安装 (3)npm install //启动 (4)npm run start
这里须要注意es5的head再也不是es的插件而是须要单独做为一个服务提供,上面咱们安装es时,最后两行配置属性是开启了es的跨域访问,因此head做为一个单独的服务,是能够访问es集群的。
此外es5的head安装依赖nodejs环境,因此咱们要安装node 步骤以下:
这里采用的是下载官网编译好的二进制包直接安装
(1)wget https://nodejs.org/dist/v8.9.4/node-v8.9.4-linux-x64.tar.xz (2)xz -d node-v8.9.4-linux-x64.tar.xz (3)设置全局环境变量 export NODE_HOME=/usr/local/node/8.9.4 export PATH=$NODE_HOME/bin:$PATH (4)验证 node -v
这里还须要本身制做一个启动和关闭head脚本:
//start.sh脚本 nohup npm run start &> es5_head.log & //stop.sh脚本 ps -ef | grep grunt | awk '{print $2}' | xargs kill -9
head只须要在一台es节点上安装便可
总结:
本文介绍了es5.6.4版本集群的搭建以及es5的head的安装,并给出了方便管理的启动和关闭脚本。至此咱们的集群已经能正常工做了。固然es5里面还有不少其余的插件好比典型的kibana,x-pack,kopf(最新的版本叫cerebro),这些会在后面的文章中介绍。