用docker搭建elasticsearch集群


声明:本文转载自https://my.oschina.net/hiease/blog/1531739,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

概述

用docker进行elasticsearch的部署非常简单,如果要实现集群配置,需要进行一些特殊的处理,本文介绍如何利用docker进行elasticsearch集群的搭建。

具体的配置可以参照该 示例

主节点配置

docker-compose.yml配置文件

es:   image: elasticsearch   volumes:     - ./es:/usr/share/elasticsearch/data     - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml   ports:     - 9200:9200     - 9300:9300 

其中的./es:/usr/share/elasticsearch/data是将elasticsearch的数据文件挂在到本机的一个目录上,这儿指定的本机目录是./es,可以修改为其它有权限的目录。

elasticsearch.yml配置文件

cluster.name: elasticsearch_cluster node.name: node-master node.master: true node.data: true http.port: 9200 network.host: 0.0.0.0 network.publish_host: master-ip discovery.zen.ping.unicast.hosts: ["master-ip"] 

network.publish_host: master-ip指定了本机ip,需要将master-ip修改为真实的机器ip。discovery.zen.ping.unicast.hosts中的master-ip同样需要修改为真实的机器ip。

启动服务

首先确认一下/etc/sysctl.conf配置文件中的vm.max_map_count是否大于655360,如果不是,或者配置文件中没有该配置,则用root用户将该配置修改为vm.max_map_count=655360,并执行命令sysctl -p否则启动时elasticsearch会报错。

执行docker-compose up -d,就可以正常启动了。

数据节点配置

docker-compose.yml配置文件

与主节点的配置相同。

elasticsearch.yml配置文件

cluster.name: elasticsearch_cluster node.name: node-data-1 node.master: false node.data: true http.port: 9200 network.host: 0.0.0.0 network.publish_host: data-ip discovery.zen.ping.unicast.hosts: ["master-ip"] 

与主节点配置的区别在于以下几点:

node.name: node-data-1 node.master: false network.publish_host: data-ip 

node.name是数据节点的名字,node.master要设置为false,network.publish_host设置为数据节点的机器ip。

启动服务

启动步骤同主节点。

主节点和数据节点都启动完成后,在主节点服务器上执行 curl http://10.164.196.218:9200/_cat/nodes 命令可以看到集群中节点的状态。

本文发表于2017年09月08日 16:35
(c)注:本文转载自https://my.oschina.net/hiease/blog/1531739,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2079 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1