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

etcd 集群搭建与测试指南

etcd 集群搭建与测试指南

一、容器搭建

1. 拉取 etcd 镜像

首先,需要从 Docker Hub 拉取 etcd 的镜像:

docker pull quay.io/coreos/etcd:v3.3.1

2. 创建自定义网络

为了设置容器的固定 IP,需要创建一个自定义网络:

docker network create --subnet 172.19.0.0/16 ots

3. 创建容器

以下是创建 etcd 集群的三个节点的命令:

  • 容器一 (IP: 172.19.0.110)
docker run -d \
-p 2379:2379 -p 2380:2380 \
--name node1 --network=ots \
--ip 172.19.0.110 \
quay.io/coreos/etcd:v3.3.1 \
etcd \
-name node1 \
-advertise-client-urls http://172.19.0.110:2379 \
-initial-advertise-peer-urls http://172.19.0.110:2380 \
-listen-client-urls http://0.0.0.0:2379  \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster \
-initial-cluster "node1=http://172.19.0.110:2380,node2=http://172.19.0.120:2380,node3=http://172.19.0.130:2380" \
-initial-cluster-state new
  • 容器二 (IP: 172.19.0.120)
docker run -d \
-p 2479:2379 -p 2480:2380 \
--name node2 --network=ots \
--ip 172.19.0.120 \
quay.io/coreos/etcd:v3.3.1 \
etcd \
-name node2 \
-advertise-client-urls http://172.19.0.120:2379 \
-initial-advertise-peer-urls http://172.19.0.120:2380 \
-listen-client-urls http://0.0.0.0:2379 \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster \
-initial-cluster "node1=http://172.19.0.110:2380,node2=http://172.19.0.120:2380,node3=http://172.19.0.130:2380" \
-initial-cluster-state new
  • 容器三 (IP: 172.19.0.130)
docker run -d \
-p 2579:2379 -p 2580:2380 \
--name node3 --network=ots \
--ip 172.19.0.130 \
quay.io/coreos/etcd:v3.3.1 \
etcd \
-name node3 \
-advertise-client-urls http://172.19.0.130:2379 \
-initial-advertise-peer-urls http://172.19.0.130:2380 \
-listen-client-urls http://0.0.0.0:2379 \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster \
-initial-cluster "node1=http://172.19.0.110:2380,node2=http://172.19.0.120:2380,node3=http://172.19.0.130:2380" \
-initial-cluster-state new

参数解释

  • --listen-client-urls: 监听 URL,用于与客户端通讯。
  • --listen-peer-urls: 监听 URL,用于与其他节点通讯。
  • --initial-advertise-peer-urls: 告知集群其他节点 URL。
  • --advertise-client-urls: 告知客户端 URL。
  • --initial-cluster-token: 集群的 ID。
  • --initial-cluster: 集群中所有节点。
  • --initial-cluster-state new: 表示从无到有搭建 etcd 集群。

4. 检查容器状态

使用以下命令查看所有容器是否都在运行状态:

docker ps -a

二、容器集群测试

1. 进入容器

打开两个窗口,分别进入 node1 和 node2 容器:

docker exec -it node1 sh
docker exec -it node2 sh

2. 测试数据同步

在 node2 容器中添加数据:

etcdctl set /aa/bb 123

在 node1 容器中获取数据:

etcdctl get /aa/bb

如果数据能够成功同步,说明集群已经搭建成功。

3. 查看所有节点

使用以下命令查看所有节点信息:

etcdctl member list

可以看到 node1 最后的 true,这代表它是主节点。

应用场景

  • 日均流量: 3400万
  • 车场数量: 5万个
  • 设备数量: 5万台

状态查询机制

  • 状态、事件、地感、道闸、道闸开启、鉴权、识别、检索日志

数据处理

  • 每月处理 10 亿数据
  • 使用 Kafka 进行数据持久化

通过上述步骤,可以成功搭建并测试一个 etcd 集群,用于处理大规模的数据同步和状态管理。

http://www.lryc.cn/news/445351.html

相关文章:

  • 写毕业论文用什么软件?分享6款好用的AI论文写作软件网站
  • 【技术解析】wx.request 封装:优化小程序网络请求的最佳实践
  • 9.24 C++ 常成员,运算符重载
  • C#设计模式之访问者模式
  • 一次RPC调用过程是怎么样的?
  • 鸭脖变“刺客”,啃不起了
  • 力扣 —— 删除有序数组中的重复项
  • rmdir :删除空文件夹
  • 网络爬虫Request静态页面数据获取
  • 网页聊天——测试报告——Selenium自动化测试
  • mysql5.7常用操作命令手册
  • 前端组件库Element UI 的使用
  • 【C++ 基础数学 】2121. 2615相同元素的间隔之和|1760
  • 从手动测试菜鸟,到自动化测试老司机,实现自动化落地
  • docker zookeeper集群启动报错:Cannot open channel to * at election address /ip:3888
  • 【Linux探索学习】第一弹——Linux的基本指令(上)——开启Linux学习第一篇
  • 3.Vue2结合element-ui实现国际化多语言i18n
  • 整数二分算法和浮点数二分算法
  • 智能回收箱的功能和使用步骤介绍
  • Remix在SPA模式下,出现ErrorBoundary错误页加载Ant Design组件报错,不能加载样式的问题
  • ADB ROOT开启流程
  • 传输层协议 —— TCP协议(上篇)
  • YOLOv8改进,YOLOv8的Neck替换成AFPN(CVPR 2023)
  • 学习大数据DAY59 全量抽取和增量抽取实战
  • YOLOv8——测量高速公路上汽车的速度
  • 在线相亲交友系统:寻找另一半的新方式
  • MySQL 中存储过程参数的设置与使用
  • 2k1000LA 调试HDMI
  • 24年蓝桥杯及攻防世界赛题-MISC-1
  • 前端项目代码开发规范及工具配置