【ES系列五】——集群搭建(多机集群&单机多节点集群)

本文详细介绍如何搭建Elasticsearch集群,包括多机集群和单机多节点两种方式,并提供了配置要点和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ES集群搭建(多机集群)

一、基本介绍

集群是为一组互联的完整计算机,一起作为一个统一的计算资源而工作,给人以一台机器的感觉。 
集群有三大优点,所以很多系统都以集群的形式出现:
高性价比:使用普通的计算机来构建集群,能够以非常低的价格,获得比大型机更高的性能。
高可用性:因为集群中的每个节点都是一台独立的计算机(或者部署在其上),集群服务都有容错能力,所以某一个节点的故障不意味着集群服务的失败。
可伸缩性:可以通过横向调整集群节点的伸缩,实现集群的服务能力。
elasticsearch以集群的形式服务也是基于上面原因。

其中192.168.37.132这台机器为master,192.168.37.131这台机器为slave

注意事项:如果安装包中之前存入过数据,那么在data文件夹中会生成相关文件,需要将其删除然后再按照下面内容进行配置启动,否则将报读取数据不一致问题!

二、配置文件内容

修改132中ES安装包中的config/elasticsearch.yml文件内容如下:

修改131中ES安装包中的config/elasticsearch.yml文件内容如下:

以上的discovery.zen.ping.unicast.hosts:属性,需要将集群中所有节点内容弄都加入进去,以便配合使用!!!

三、启动

    先启动那一台机器都可以,但是先启动的机器会被选为master

四、查看

通过head插件进行查看:

ES集群搭建(单机多节点)

一、基本介绍

    从ElasticSearch官方的多份文档中可以看到,官方并不建议部署ES时为实例指定超过32GB的内存,但是现在内存的价格非常便宜,一台实体机服务器仅用32G内存显然是非常浪费的。所以我们要尝试在一个服务器上开多个ES实例,以便达到充分利用资源的目的。本文提供了一些ES单机双实例的配置要点,可扩展至单机多实例。

二、基本配置

Node-2依然为主节点,只需要将安装包拷贝一份,修改/config/elasticsearch.yml文件中的内容(node.name、http.port、transport.tcp.port、node.master)即可,如下图:


以上的discovery.zen.ping.unicast.hosts:属性,需要将集群中所有节点内容弄都加入进去,以便配合使用!!!

三、启动

    先启动那一台机器都可以,但是先启动的机器会被选为master

四、查看

总结

    针对于单机多节点的问题,只是提高了ES服务器cpu的利用率,当该服务器出问题之后依然会影响所有节点访问的情况,所以还是建议利用多机集群的形式。

    配置elasticsearch.yml文件的时候要用node.master属性的默认值,要是强制指定的话,如果指定的master挂掉了,那么整个集群将不能够使用!!!

    通过简单的实践完之后,心中豁然开朗,继续前行啦~
### 在 Docker 中搭建 Kingbase 高可用集群架构配置教程 在 Docker 环境中搭建 Kingbase 高可用集群,通常需要结合容器编排工具(如 Kubernetes 或 Docker Swarm)来实现高可用性和负载均衡。以下是关于如何在 Docker 中搭建 Kingbase 高可用环境的详细指南。 #### 1. 检查和准备 KingbaseES 镜像 首先确保本地已经导入了所需的 KingbaseES 镜像,并验证其版本和大小是否符合预期[^1]。 ```bash root@jeven01:/data/kingbasees# docker image ls | grep kingbase ``` 如果镜像未导入,可以通过以下命令从私有仓库拉取或手动构建: ```bash docker pull <your-repository>/kingbase:latest ``` #### 2. 创建用户和部署目录 为了保证权限管理的安全性,创建专门用于运行 Kingbase 的用户和组[^2]。 ```bash groupadd kingbase useradd kingbase -g kingbase echo "kingbase123" | passwd --stdin kingbase mkdir -p /opt/Kingbase/ES/V9 chown -R kingbase:kingbase /opt/Kingbase/ES/V9 ``` #### 3. 配置高可用架构 Kingbase 高可用集群通常基于主从复制模式,包括以下组件: - **主节点(Primary Node)**:负责写入操作。 - **从节点(Standby Node)**:通过流复制同步主节点的数据。 - **仲裁节点(Witness Node)**:在主节点故障时协助选举新的主节点。 ##### 3.1 创建主节点容器 启动主节点容器并挂载数据卷以持久化存储数据。 ```bash docker run -d \ --name kingbase-primary \ -p 54321:5432 \ -v /opt/Kingbase/ES/V9/data:/var/lib/kingbase/data \ -e KINGBASE_USER=kingbase \ -e KINGBASE_PASSWORD=kingbase123 \ -e KINGBASE_DBNAME=mydb \ <your-repository>/kingbase:latest ``` ##### 3.2 创建从节点容器 启动从节点容器,并配置为主节点的流复制目标。 ```bash docker run -d \ --name kingbase-standby \ -p 54322:5432 \ -v /opt/Kingbase/ES/V9/standby_data:/var/lib/kingbase/data \ -e KINGBASE_USER=kingbase \ -e KINGBASE_PASSWORD=kingbase123 \ -e KINGBASE_DBNAME=mydb \ -e KINGBASE_REPLICATION_HOST=<primary-node-ip> \ -e KINGBASE_REPLICATION_PORT=5432 \ <your-repository>/kingbase:latest ``` ##### 3.3 配置仲裁节点 仲裁节点可以使用简单的 PostgreSQL 配置文件或专用的仲裁服务(如 Patroni 或 pgpool-II)。以下是一个基本的仲裁节点配置示例: ```bash docker run -d \ --name kingbase-witness \ -p 54323:5432 \ -v /opt/Kingbase/ES/V9/witness_data:/var/lib/kingbase/data \ -e KINGBASE_USER=kingbase \ -e KINGBASE_PASSWORD=kingbase123 \ -e KINGBASE_DBNAME=mydb \ <your-repository>/kingbase:latest ``` #### 4. 配置负载均衡器 使用 HAProxy 或 Nginx 配置负载均衡器,将客户端请求分发到主节点或从节点。 ```haproxy global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners stats timeout 30s user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 frontend kingbase_frontend bind *:5432 default_backend kingbase_backend backend kingbase_backend balance roundrobin server primary 192.168.1.101:54321 check server standby 192.168.1.102:54322 check ``` #### 5. 监控和维护 为确保高可用集群的稳定运行,建议使用监控工具(如 Prometheus 和 Grafana)来实时跟踪节点状态和性能指标。 --- ### 注意事项 - 在生产环境中,必须加强安全配置,例如启用 SSL/TLS 加密、设置强密码策略等。 - 定期备份主节点的数据,以防止数据丢失。 - 测试故障切换制,确保从节点能够无缝接管主节点的角色。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

创业之路&下一个五年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值