一、环境准备:
- JDK :JDK1.7+
- ES安装程序 : elasticsearch
- 机器 :
192.168.245.16
、192.168.245.48
、192.168.251.11
- 操作系统 :RHEL 6.4
二、安装Elasticsearch
1. 解压安装包
tar -zxvf elasticsearch-2.3.1.tar.gz
2. 配置ElasticSearch
vim config/elasticsearch.yml
修改如下配置:
cluster.name: ESApplication #同一个集群的名字需要一致 node.name: node-16 #集群中的每个节点的名称,系统会自动生成也可以自己设置,习惯上IP地址的最后一组。 bootstrap.mlockall: true #设置这个属性来锁定内存,ES2.0以上不允许使用SWAP,true为锁定 network.host: 192.168.245.16 #绑定本机IP http.port: 9200 #设置一个监听HTTP传输的自定义端口 discovery.zen.ping.unicast.hosts: ["192.168.245.48", "192.168.251.11","192.168.245.16"] #需要将集群中的所有节点的IP设置进去,否则无法链接到集群 discovery.zen.minimum_master_nodes: 2 #这个选项用来设置一个节点可以看到其他N个在集群中具有可操性的并且具有当选主节点资格的节点,对于大的集群(大于3个节点),这个选项应该设置成一个高一点的值(2-4);配置了unicast.hosts后,需要配置这个,否则启动节点后每个节点都会变成master,关于数值(total number of nodes / 2 + 1),如果当前节点数少于这个数量就会造成集群无法访问,一般会设置多一个节点。
3. 将ElacticSearch分发到其它机器
scp -r elasticsearch-2.3.1 cdhuser@192.168.245.48:~/ scp -r elasticsearch-2.3.1 cdhuser@192.168.251.11:~/
4. 修改48/11两台机器的elasticsearch.yml
分别修改如下几项:
node.name: node-11 #集群中的每个节点的名称,系统会自动生成也可以自己设置,习惯上IP地址的最后一组。 network.host: 192.168.251.11 #绑定本机IP ```
5. 启动ES集群
bash nohup bin/elasticsearch 2>&1 &
6. 安装插件
(1)elasticsearch-head
- 下载 :elasticsearch-head
- 解压 :
unzip elasticsearch-head-master.zip
在elasticsearch-2.3.1
创建目录plugins/head
elasticsearch-2.3.1/plugins/head
将elasticsearch-head-master
里面的所有内容copy到elasticsearch-2.3.1/plugins/head/
里:
cp -r * ../plugins/head/
重新启动ES,输入http://192.168.245.16:9200/_plugin/head/ 就可以看到了。
注意:
1.新版的ES不能在root用户中安装启动;
2.需要修改memlock的设置,同一个集群中保证cluster.name一致, node.name不一致,统一网络中不同集群只需要区别cluster.name ;
3.根据官网JDK至少1.7;
4.discovery.zen.minimum_master_nodes 这个值要小于当前活动节点的数量,如果活动节点小于这个值,集群就不进行选举了。
5.这个东西插件很多:更多插件1