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

基于docker搭建es集群

一、部署三个节点

node1:9301

node2:9302

node3:9303

二、创建配置文件

1、节点1配置

vi /usr/etc/es/node1.yml

cluster.name: hzq‐es

node.name: node1

network.host: 0.0.0.0

# 外部访问es的端口

http.port: 9301

# 节点之间通讯的端口

transport.tcp.port: 9304

# 各个节点的ip与通讯端口

discovery.seed_hosts: ["192.168.124.20:9304","192.168.124.20:9305","192.168.124.20:9306"]

cluster.initial_master_nodes: ["node1"]

bootstrap.system_call_filter: false

bootstrap.memory_lock: false

http.cors.enabled: true

http.cors.allow-origin: "*"

2、节点2配置

cluster.name: hzq‐es

node.name: node2

network.host: 0.0.0.0

http.port: 9302

transport.tcp.port: 9305

discovery.seed_hosts: ["192.168.124.20:9304","192.168.124.20:9305","192.168.124.20:9306"]

cluster.initial_master_nodes: ["node1"]

bootstrap.system_call_filter: false

bootstrap.memory_lock: false

http.cors.enabled: true

http.cors.allow-origin: "*"

3、节点3配置

cluster.name: hzq‐es

node.name: node3

network.host: 0.0.0.0

http.port: 9303

transport.tcp.port: 9306

discovery.seed_hosts: ["192.168.124.20:9304","192.168.124.20:9305","192.168.124.20:9306"]

cluster.initial_master_nodes: ["node1"]

bootstrap.system_call_filter: false

bootstrap.memory_lock: false

http.cors.enabled: true

http.cors.allow-origin: "*"

三、创建与启动docker容器

创建docker容器:

docker create --name node1 --net elastic -p 9301:9301 -p9304:9304 -v /usr/etc/es/node1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -t docker.elastic.co/elasticsearch/elasticsearch:7.12.0

docker create --name node2 --net elastic -p 9302:9302 -p9305:9305 -v /usr/etc/es/node2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -t docker.elastic.co/elasticsearch/elasticsearch:7.12.0

docker create --name node3 --net elastic -p 9303:9303 -p9306:9306 -v /usr/etc/es/node3.yml:/usr/share/elasticsearch/config/elasticsearch.yml -t docker.elastic.co/elasticsearch/elasticsearch:7.12.0

启动docker容器:

docker start node1

docker start node2

docker start node3

四、查看集群节点状态

curl http://192.168.124.20:9301/_cat/health?v

也可以网页打开 http://192.168.124.20:9301/_cat/health?v

五、不同节点介绍

-1. 客户端节点

当主节点和数据节点配置都设置为false的时候,该节点只能处理路由请求,处理

搜索,分发索引操作等,从本质上来说该客户节点表现为智能负载平衡器。

独立的客户端节点在一个比较大的集群中是非常有用的,他协调主节点和数据节

点,客户端节点加入集群可以得到集群的状态,根据集群的状态可以直接路由请求。

-2. 数据节点数据节点主要是存储索引数据的节点,主要对文档进行增删改查操作,聚合操作

等。数据节点对cpu,内存,io要求较高, 在优化的时候需要监控数据节点的状态,

当资源不够的时候,需要在集群中添加新的节点。

-3. 主节点

主资格节点的主要职责是和集群操作相关的内容,如创建或删除索引,跟踪哪些节

点是群集的一部分,并决定哪些分片分配给相关的节点。稳定的主节点对集群的健康

是非常重要的,默认情况下任何一个集群中的节点都有可能被选为主节点,索引数据

和搜索查询等操作会占用大量的cpu,内存,io资源,为了确保一个集群的稳定,分离

主节点和数据节点是一个比较好的选择。

在一个生产集群中我们可以对这些节点的职责进行划分,建议集群中设置3台以上的节

点作为master节点,这些节点只负责成为主节点,维护整个集群的状态。再根据数据

量设置一批data节点,这些节点只负责存储数据,后期提供建立索引和查询索引的服

务,这样的话如果用户请求比较频繁,这些节点的压力也会比较大,所以在集群中建

议再设置一批client节点(node.master: false node.data: false),这些节点只负责

处理用户请求,实现请求转发,负载均衡等功能

相关文章:

  • 2.可视化基础(上)
  • 解决Vue项目中ESLint和Prettier冲突问题[Vue.js项目实践: 新冠自检系统]
  • 【misc】buu-面具下的flag——zip伪加密+用NTFS流隐藏文件
  • java毕业设计企业安全与设备管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
  • Message Bus Solace Deeper Dive
  • Android-AGP之手写你的第一款自定义plugin插件
  • 入门力扣自学笔记159 C++ (题目编号788)
  • java毕业设计奇妙店铺电子商务网站源码+lw文档+mybatis+系统+mysql数据库+调试
  • 类与对象(十四)----包package
  • Codeforces Round #820 (Div. 3)A. Two Elevators
  • 实现淘宝购物车RecyclerView或LIstView的嵌套选择的逻辑
  • (pt可视化)利用torch的make_grid进行张量可视化
  • MQTT协议规范总结
  • SAP EWM-拣货队列操作演示实例
  • 公众号查题功能接口系统使用教程
  • 自己简单写的 事件订阅机制
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 0基础学习移动端适配
  • bootstrap创建登录注册页面
  • Consul Config 使用Git做版本控制的实现
  • express + mock 让前后台并行开发
  • Java|序列化异常StreamCorruptedException的解决方法
  • Laravel核心解读--Facades
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • mysql_config not found
  • node入门
  • PhantomJS 安装
  • Promise初体验
  • React-redux的原理以及使用
  • Spark RDD学习: aggregate函数
  • Vue ES6 Jade Scss Webpack Gulp
  • vue-router的history模式发布配置
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • Vue--数据传输
  • windows下使用nginx调试简介
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 项目管理碎碎念系列之一:干系人管理
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 白色的风信子
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #每天一道面试题# 什么是MySQL的回表查询
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (02)Hive SQL编译成MapReduce任务的过程
  • (03)光刻——半导体电路的绘制
  • (2)Java 简介
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net FrameWork简介,数组,枚举
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)