基于Docker部署ES

环境准备:

由于es依赖于java执行。可以在机器上执行以下命令安装java8。

yum install java-1.8.0-openjdk* -y

下载镜像包:

docker pull elasticsearch:7.17.4

创建配置目录:

mkdir -p /data/es/config

创建数据目录:

mkdir -p /data/es/node1/data
mkdir -p /data/es/node2/data
mkdir -p /data/es/node3/data

数据目录赋权限:

chmod 777 /data/es/node1/data
chmod 777 /data/es/node2/data
chmod 777 /data/es/node3/data

建立配置文件es1.yml

cd /data/es/config
vim es1.yml
cluster.name: elasticsearch-cluster   #集群名(三个节点一致)
cluster.initial_master_nodes: es-node1 # 默认的主节点
node.name: es-node1   #节点名(每台节点不同)
network.bind_host: 0.0.0.0
network.publish_host: 120.48.65.211  #对外地址
http.port: 9201 #对外端口(每台机器装一个ES则不用改)
transport.tcp.port: 9301 #ES内部通信端口(每台机器装一个ES则不用改)
discovery.zen.minimum_master_nodes: 2 #主节点数/2+1,防止脑裂
http.max_content_length: 2000mb
http.max_header_size: 1024k
http.max_initial_line_length: 1024k
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["120.48.65.211:9301","120.48.65.211:9302","120.48.65.211:9303"]

创建集群其他节点配置文件

cp -r es1.yml es2.yml
cp -r es1.yml es3.yml

启动ES noed1 节点

docker run -itd -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \
-p 9201:9201 \
-p 9301:9301 \
-e ES_MIN_MEM=128m \
-e ES_MAX_MEM=4096m \
-v ./data/es/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v ./data/es/node1/data:/usr/share/elasticsearch/data \
--restart=always --name ES01 elasticsearch:7.17.4

启动ES noed2 节点

14.docker run -itd -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \
-p 9202:9202 \
-p 9302:9302 \
-e ES_MIN_MEM=128m \
-e ES_MAX_MEM=4096m \
-v ./data/es/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v ./data/es/node2/data:/usr/share/elasticsearch/data \
--restart=always --name ES02 elasticsearch:7.17.4

启动ES node3节点

docker run -itd -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \
-p 9203:9203 \
-p 9303:9303 \
-e ES_MIN_MEM=128m \
-e ES_MAX_MEM=4096m \
-v ./data/es/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v ./data/es/node3/data:/usr/share/elasticsearch/data \
--restart=always --name ES03 elasticsearch:7.17.4

查看日志

docker logs ES01

访问ES

http://120.48.65.211:9201

查看ES集群状态

http://120.48.65.211:9201/_cat/health?v

ES操作指令详解

/_cat/allocation         #查看单节点的shard分配整体情况
/_cat/shards          #查看各shard的详细情况
/_cat/shards/{index}     #查看指定分片的详细情况
/_cat/master          #查看master节点信息
/_cat/nodes           #查看所有节点信息
/_cat/indices         #查看集群中所有index的详细信息
/_cat/indices/{index}      #查看集群中指定index的详细信息
/_cat/segments        #查看各index的segment详细信息,包括segment名, 所属shard, 内存(磁盘)占用大小, 是否刷盘
/_cat/segments/{index}#查看指定index的segment详细信息
/_cat/count           #查看当前集群的doc数量
/_cat/count/{index}   #查看指定索引的doc数量
/_cat/recovery        #查看集群内每个shard的recovery过程.调整replica。
/_cat/recovery/{index}#查看指定索引shard的recovery过程
/_cat/health          #查看集群当前状态:红、黄、绿
/_cat/pending_tasks   #查看当前集群的pending task
/_cat/aliases         #查看集群中所有alias信息,路由配置等
/_cat/aliases/{alias} #查看指定索引的alias信息
/_cat/thread_pool     #查看集群各节点内部不同类型的threadpool的统计信息,
/_cat/plugins         #查看集群各个节点上的plugin信息
/_cat/fielddata       #查看当前集群各个节点的fielddata内存使用情况
/_cat/fielddata/{fields}     #查看指定field的内存使用情况,里面传field属性对应的值
/_cat/nodeattrs              #查看单节点的自定义属性
/_cat/repositories           #输出集群中注册快照存储库
/_cat/templates              #输出当前正在存在的模板信息

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值