昨天有个伙伴一直想让我写个搭建elasticsearch集群的文章,由于时间有限,用docker部署了一把,不多说了,直接上安装配置吧。

1、拉取镜像
docker pull elasticsearch:5.6
2、创建配置文件路径及data存放路径
cd /home/dingzhen
mkdir -p ES/config
cd ES
mkdir data1 data2 data3
4、集群配置文件
在ES/config/路径下创建配置文件并配置
es1.yml文件
cluster.name: elasticsearch-cluster
node.name: es-node1
network.bind_host: 0.0.0.0
network.publish_host: 192.168.111.129
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.111.129:9300","192.168.111.129:9301","192.168.111.129:9302"]
discovery.zen.minimum_master_nodes: 2
es2.yml文件
cluster.name: elasticsearch-cluster
node.name: es-node1
network.bind_host: 0.0.0.0
network.publish_host: 192.168.111.129
http.port: 9201
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.111.129:9300","192.168.111.129:9301","192.168.111.129:9302"]
discovery.zen.minimum_master_nodes: 2
es3.yml文件
cluster.name: elasticsearch-cluster
node.name: es-node1
network.bind_host: 0.0.0.0
network.publish_host: 192.168.111.129
http.port: 9202
transport.tcp.port: 9302
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.111.129:9300","192.168.111.129:9301","192.168.111.129:9302"]
discovery.zen.minimum_master_nodes: 2
5、启动集群
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -v /home/dingzhen/ES/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/dingzhen/ES/data1:/usr/share/elasticsearch/data --name ES01 elasticsearch:5.6
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9201 -p 9301:9301 -v /home/dingzhen/ES/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/dingzhen/ES/data2:/usr/share/elasticsearch/data --name ES02 elasticsearch:5.6
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9202:9202 -p 9302:9302 -v /home/dingzhen/ES/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/dingzhen/ES/data3:/usr/share/elasticsearch/data --name ES03 elasticsearch:5.6
6、连接集群测试
浏览器:
http://192.168.111.129:9200/_cat/nodes?pretty

或者使用的elasticsearch-head.crx插件连接集群
出现如下界面,集群部署成功!


[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
- 执行
sysctl -p
来源:oschina
链接:https://my.oschina.net/dtz/blog/4494977