用docker搭建elasticsearch集群
博客专区 > QiHaiYan 的博客 > 博客详情
用docker搭建elasticsearch集群
QiHaiYan 发表于1个月前
用docker搭建elasticsearch集群
  • 发表于 1个月前
  • 阅读 1577
  • 收藏 140
  • 点赞 1
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

概述

用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://master-ip:9200/_cat/nodes 命令(将命令中的master-ip修改为主节点的机器ip)可以看到集群中节点的状态。

共有 人打赏支持
粉丝 18
博文 8
码字总数 13566
×
QiHaiYan
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: