Dcoker安装配置ElasticSearch集群(7版本)

本文档指导如何在三个服务器节点上配置和启动Elasticsearch分布式集群。首先确保操作系统限制适配,然后分别配置每个节点的elasticsearch.yml文件,包括集群名称、节点名称、网络监听地址等关键设置。接着在每个节点上启动Docker容器运行Elasticsearch,并通过浏览器检查集群状态以验证部署成功。
摘要由CSDN通过智能技术生成

前言

接着之前安装的ES、head等操作。

如果之前的安装你没有操作,去安装一遍。Docker安装ES、Kibana、head、IK 

如果安装过了并且之前启动过ES,执行下下面这个命令,删除nodes文件夹,否则会导致ES各节点的UUID不一致。

# 我的data挂载文件夹是这个目录 /elasticsearch/data
rm -rf /elasticsearch/data/nodes/

前期准备

服务器主机名称
192.168.206.212node1
192.168.206.213node2
192.168.206.214node3

1、操作系统限制修改

vim /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p

2、配置elasticsearch.yml

之前我们配置的elasticsearch.yml内容是针对单节点的,下面是三台机子的elasticsearch.yml内容

三台主机内容只有两处不一样:node.name 和 network.host

node1主机

# 设置集群名称,集群内所有节点的名称必须一致。
cluster.name: kont
# 设置节点名称,集群内节点名称必须唯一。
node.name: node1
# 表示该节点会不会作为主节点,true表示会;false表示不会
node.master: true
# 当前节点是否用于存储数据,是:true、否:false
node.data: true
# 索引数据存放的位置
#path.data: /usr/share/elasticsearch/data
# 日志文件存放的位置
#path.logs: /usr/share/elasticsearch/logs
# 需求锁住物理内存,是:true、否:false
#bootstrap.memory_lock: true
# 监听地址,用于访问该es
network.host: 192.168.206.212
# es对外提供的http端口,默认 9200
http.port: 9200
# TCP的默认监听端口,默认 9300
transport.tcp.port: 9300
# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.minimum_master_nodes: 1
# es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.206.212:9300", "192.168.206.213:9300","192.168.206.214:9300"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
# es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["192.168.206.212:9300", "192.168.206.213:9300","192.168.206.214:9300"]
# 是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.enabled: true
# “*” 表示支持所有域名
http.cors.allow-origin: "*"

node2主机

# 设置集群名称,集群内所有节点的名称必须一致。
cluster.name: kont
# 设置节点名称,集群内节点名称必须唯一。
node.name: node2
# 表示该节点会不会作为主节点,true表示会;false表示不会
node.master: true
# 当前节点是否用于存储数据,是:true、否:false
node.data: true
# 索引数据存放的位置
#path.data: /usr/share/elasticsearch/data
# 日志文件存放的位置
#path.logs: /usr/share/elasticsearch/logs
# 需求锁住物理内存,是:true、否:false
#bootstrap.memory_lock: true
# 监听地址,用于访问该es
network.host: 192.168.206.213
# es对外提供的http端口,默认 9200
http.port: 9200
# TCP的默认监听端口,默认 9300
transport.tcp.port: 9300
# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.minimum_master_nodes: 1
# es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.206.212:9300", "192.168.206.213:9300","192.168.206.214:9300"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
# es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["192.168.206.212:9300", "192.168.206.213:9300","192.168.206.214:9300"]
# 是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.enabled: true
# “*” 表示支持所有域名
http.cors.allow-origin: "*"

node3主机

# 设置集群名称,集群内所有节点的名称必须一致。
cluster.name: kont
# 设置节点名称,集群内节点名称必须唯一。
node.name: node2
# 表示该节点会不会作为主节点,true表示会;false表示不会
node.master: true
# 当前节点是否用于存储数据,是:true、否:false
node.data: true
# 索引数据存放的位置
#path.data: /usr/share/elasticsearch/data
# 日志文件存放的位置
#path.logs: /usr/share/elasticsearch/logs
# 需求锁住物理内存,是:true、否:false
#bootstrap.memory_lock: true
# 监听地址,用于访问该es
network.host: 192.168.206.213
# es对外提供的http端口,默认 9200
http.port: 9200
# TCP的默认监听端口,默认 9300
transport.tcp.port: 9300
# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.minimum_master_nodes: 1
# es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.206.212:9300", "192.168.206.213:9300","192.168.206.214:9300"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
# es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["192.168.206.212:9300", "192.168.206.213:9300","192.168.206.214:9300"]
# 是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.enabled: true
# “*” 表示支持所有域名
http.cors.allow-origin: "*"

3、启动ES

# node1主机
docker run  -d  --network=host --privileged=true  \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m"  \
-e TAKE_FILE_OWNERSHIP=true --name es-node1 \
-v /elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /elasticsearch/data:/usr/share/elasticsearch/data \
-v /elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /elasticsearch/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.4.2

# node2主机
docker run  -d  --network=host --privileged=true  \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m"  \
-e TAKE_FILE_OWNERSHIP=true --name es-node2 \
-v /elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /elasticsearch/data:/usr/share/elasticsearch/data \
-v /elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /elasticsearch/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.4.2

# node3主机
docker run  -d  --network=host --privileged=true  \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m"  \
-e TAKE_FILE_OWNERSHIP=true --name es-node3 \
-v /elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /elasticsearch/data:/usr/share/elasticsearch/data \
-v /elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /elasticsearch/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.4.2

4、测试

打开浏览器,检查集群是否正常

192.168.206.212:9200/_cat/nodes?pretty

 192.168.206.212:9100

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值