当前位置: 首页 > article >正文

基于Docker搭建ES集群,并设置冷热数据节点

1.背景

存在三台服务器分别是 192.168.2.91(master节点、data-content节点、data-hot节点)、192.168.2.92(data-cold节点、ingest节点)、192.168.2.93(master节点、data-content节点、data-hot节点)

冷热数据分离搭建教程

2.搭建91节点 热数据节点

(1)获取到elasticsearch.tar包,使用

docker load -i elasticsearch.tar

在这里插入图片描述

命令生成elasticsearch镜像。

(2)执行命令

 docker run -t -d --name node-database -p 19200:19200/tcp -p 19201:19201/tcp --restart always 镜像ID 

生成 elasticsearch 容器
在这里插入图片描述

(3)进入当前生成的容器内部

docker exec -it 容器ID bash

(4)进入config目录

cd config/

(5)修改elasticsearch.yml 配置文件

#绑定ip地址
network.host: 0.0.0.0

#绑定端口
http.port: 19200
transport.port: 19201

#索引目录
path.data: /自定义目录/elasticsearch

#日志目录
path.logs: /自定义目录/logs/elasticsearch
####### 集群信息 #######
network.publish_host: 192.168.2.91  集群内部互相暴露出地址 便于互相发现
http.publish_host: 192.168.2.91    集群内部互相暴露出地址 便于互相发现
transport.publish_host: 192.168.2.91  集群内部互相暴露出地址 便于互相发现
transport.publish_port: 19201   集群内部互相暴露出地址 便于互相发现
#集群名称
cluster.name: group

节点角色,master,data_hot,data_content 热数据节点 以及 master节点

node.roles: [master,data_hot,data_content]
node.attr.temperature: hot  #说明该节点是热数据节点
#节点名称
node.name: group-node-1

#节点自定义属性
#node.attr.rack: r1

#启动时传递节点列表
discovery.seed_hosts: ["192.168.2.91", "192.168.2.92","192.168.2.93"]

#集群节点
cluster.initial_master_nodes: ["group-node-1","group-node-2","group-node-3"]

####### 集群信息 #######
#设置在节点间传输数据时是否压缩,默认为 False,不压缩。
#transport.tcp.compress: true
 #心跳超时时间
#discovery.zen.ping_timeout: 120s
#节点检测时间
#discovery.zen.fd.ping_interval: 120s
#ping 超时时间
#discovery.zen.fd.ping_timeout: 120s
#心跳重试次数
#discovery.zen.fd.ping_retries: 6

#自动创建索引
action.auto_create_index: false
#index.mapper.dynamic: false
#设置堆大小,内存占比
indices.fielddata.cache.size: 30%
#内存
indices.memory.index_buffer_size: 30%

ingest.geoip.downloader.enabled: false

action.destructive_requires_name: false
#锁定内存
bootstrap.memory_lock: false

index.codec: best_compression

#threadpool.index.type: fixed
#threadpool.index.size: 100
#threadpool.index.queue_size: 500
#threadpool.bulk.queue_size: 1000

cluster.max_shards_per_node: 100000

thread_pool.write.queue_size: 2000

#增加新的参数,head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"

#Enable security features
xpack.security.enabled: true
xpack.security.enrollment.enabled: true

#是否开启ssl
xpack.security.http.ssl:
  enabled: false
  keystore.path: certs/http.p12

#节点之间数据传输加密
xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: certs/elastic-certificates.p12
  truststore.path: certs/elastic-certificates.p12

(7)重启当前服务器中的ES容器

docker restart 容器ID

3.搭建92节点

(1)

重复91节点所有工作,只不过在修改elasticsearch.yml 配置文件中修改为如下信息
####### 集群信息 #######
network.publish_host: 192.168.2.92
http.publish_host: 192.168.2.92
transport.publish_host: 192.168.2.92
transport.publish_port: 19201
#节点角色,冷数据节点、ingest计算节点
node.roles: [data_cold,ingest]
#标记为冷数据节点
node.attr.temperature: cold
#节点名称
node.name: group-node-2

(2)重启当前服务器中的ES容器

docker restart 容器ID

4.搭建93节点

(1)重复91节点所有工作,只不过在修改elasticsearch.yml 配置文件中修改为如下信息

#集群名称
network.publish_host: 192.168.2.93
http.publish_host: 192.168.2.93
transport.publish_host: 192.168.2.93
transport.publish_port: 19201
#节点角色,热数据节点、数据存储节点、mater节点
node.roles: [master,data_hot,data_content]
#标记为冷数据节点
node.attr.temperature: hot
#节点名称
node.name: group-node-3

(2)重启当前服务器中的ES容器

docker restart 容器ID

5.测试是否搭建成功
浏览器输入https://192.168.2.91:19200/_cluster/health 说明有一个集群产生了 包含3个节点
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/537570.html

相关文章:

  • P1049 装箱问题(dp)
  • ESP32系列芯片
  • Go 语言环境安装指南
  • 如何在macOS上安装Ollama
  • 瞬态分析中的时域分析与频域分析:原理、对比与应用指南
  • 安卓/ios脚本开发按键精灵经验小分享
  • 【Flink实战】Flink -C实现类路径配置与实现UDF Jar
  • linux上scp能不能取代rsync
  • 学习笔记十九:K8S生成pod过程
  • 国自然面上项目|多模态MRI影像组学模型对乳腺癌新辅助治疗疗效的早期预判研究|基金申请·25-02-08
  • Windows逆向工程入门之汇编开发框架解析
  • Axios 拦截器实现的原理
  • C++ 23 的栈踪迹库(stacktrace)
  • 深度洞察与精确匹配:基于HAI部署DeepSeekR1的公考岗位推荐与智能分析
  • XY2-100的Verilog实现
  • 阿里云宝塔在线安装步骤
  • DeepSeek底层揭秘——记忆网络与持续学习机制
  • 用户位置与IP属地:二者之间的关联与差异
  • 日志2025.2.8
  • 深度剖析 Redisson 分布式锁:原理、实现与应用实践
  • k8s部署go-fastdfs
  • OSPF基础(3):区域划分
  • Java 的 CopyOnWriteArrayList 和 Collections.synchronizedList 有什么区别?分别有什么优缺点?
  • 【算法】动态规划专题⑧ —— 分组背包问题 python
  • 《qt6+Open3d点云读取》
  • android apk反编译