博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
本地服务方式搭建etcd集群
阅读量:4061 次
发布时间:2019-05-25

本文共 4472 字,大约阅读时间需要 14 分钟。

本地服务方式搭建etcd集群

IP 功能

172.18.6.101 etcd node
172.18.6.102 etcd node
172.18.6.103 etcd node
172.18.6.104 etcd proxy
172.18.6.105 etcd proxy
172.18.6.106 etcd proxy

下载安装etcd二进制文件

以下命令将下载etcd发布版本v3.0.15,并解压后安装至宿主机的/usr/bin目录下,并验证

wget https://github.com/coreos/etcd/releases/download/v3.0.15/etcd-v3.0.15-linux-amd64.tar.gz && tar -vzxf etcd-v3.0.15-linux-amd64.tar.gz && cp etcd-v3.0.15-linux-amd64/etcd* /usr/bin/ && etcdctl --help

分别在需要部署的宿主机中执行如上命令安装etcd与etcdctl两个工具

集群节点部署

172.18.6.101 etcd0

在/etc/systemd/system/目录里创建etcd2.service,其内容如下:

[Unit]Description=etcd2.service[Service]Type=notifyTimeoutStartSec=0Restart=alwaysExecStartPre=-/bin/mkdir -p /data/etcd2ExecStart=/usr/bin/etcd \  --data-dir /data/etcd2 \  --name etcd0 \  --advertise-client-urls http://172.18.6.101:2379,http://172.18.6.101:4001 \  --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \  --initial-advertise-peer-urls http://172.18.6.101:2380 \  --listen-peer-urls http://0.0.0.0:2380 \  --initial-cluster-token etcd-cluster-1 \  --initial-cluster etcd0=http://172.18.6.101:2380,etcd1=http://172.18.6.102:2380,etcd2=http://172.18.6.103:2380[Install]WantedBy=multi-user.target

执行如下命令:

# 设置服务自启动systemctl enable /etc/systemd/system/etcd2.service# 启动etcd2systemctl restart etcd2.service

172.18.6.102 etcd1

在/etc/systemd/system/目录里创建etcd2.service,其内容如下:

[Unit]Description=etcd2.service[Service]Type=notifyTimeoutStartSec=0Restart=alwaysExecStartPre=-/bin/mkdir -p /data/etcd2ExecStart=/usr/bin/etcd \  --data-dir /data/etcd2 \  --name etcd1 \  --advertise-client-urls http://172.18.6.102:2379,http://172.18.6.102:4001 \  --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \  --initial-advertise-peer-urls http://172.18.6.102:2380 \  --listen-peer-urls http://0.0.0.0:2380 \  --initial-cluster-token etcd-cluster-1 \  --initial-cluster etcd0=http://172.18.6.101:2380,etcd1=http://172.18.6.102:2380,etcd2=http://172.18.6.103:2380[Install]WantedBy=multi-user.target

执行如下命令:

# 设置服务自启动systemctl enable /etc/systemd/system/etcd2.service# 启动etcd2systemctl restart etcd2.service

172.18.6.103 etcd2

在/etc/systemd/system/目录里创建etcd2.service,其内容如下:

[Unit]Description=etcd2.service[Service]Type=notifyTimeoutStartSec=0Restart=alwaysExecStartPre=-/bin/mkdir -p /data/etcd2ExecStart=/usr/bin/etcd \  --data-dir /data/etcd2 \  --name etcd2 \  --advertise-client-urls http://172.18.6.103:2379,http://172.18.6.103:4001 \  --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \  --initial-advertise-peer-urls http://172.18.6.103:2380 \  --listen-peer-urls http://0.0.0.0:2380 \  --initial-cluster-token etcd-cluster-1 \  --initial-cluster etcd0=http://172.18.6.101:2380,etcd1=http://172.18.6.102:2380,etcd2=http://172.18.6.103:2380[Install]WantedBy=multi-user.target

执行如下命令:

# 设置服务自启动systemctl enable /etc/systemd/system/etcd2.service# 启动etcd2systemctl restart etcd2.service

集群检查

# 在以上三个节点任意一个节点上执行如下命令,输出如下所示表示正常。$ etcdctl member liste160d83780b9342: name=etcd1 peerURLs=http://172.18.6.102:2380 clientURLs=http://172.18.6.102:2379,http://172.18.6.102:4001 isLeader=false2cb830c4198c7098: name=etcd2 peerURLs=http://172.18.6.103:2380 clientURLs=http://172.18.6.103:2379,http://172.18.6.103:4001 isLeader=false717e65599f151c45: name=etcd0 peerURLs=http://172.18.6.101:2380 clientURLs=http://172.18.6.101:2379,http://172.18.6.101:4001 isLeader=true

代理节点部署

172.18.6.104/172.18.6.105/172.18.6.106 proxy

在/etc/systemd/system/目录里创建etcd2.service,其内容如下:

[Unit]Description=etcd2.service[Service]Type=notifyExecStartPre=-/bin/mkdir -p /data/etcd2ExecStart=/usr/bin/etcd \  --proxy on \  --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \  --initial-cluster etcd0=http://172.18.6.101:2380,etcd1=http://172.18.6.102:2380,etcd2=http://172.18.6.103:2380 \  --data-dir /data/etcd2[Install]WantedBy=multi-user.target

执行如下命令:

# 设置服务自启动systemctl enable /etc/systemd/system/etcd2.service# 启动etcd2systemctl restart etcd2.service

测试代理

在172.18.6.103或172.18.6.104或172.18.6.105上执行如下命令

# 输出如下所示表示正常。$ etcdctl member list$ etcdctl member liste160d83780b9342: name=etcd1 peerURLs=http://172.18.6.102:2380 clientURLs=http://172.18.6.102:2379,http://172.18.6.102:4001 isLeader=false2cb830c4198c7098: name=etcd2 peerURLs=http://172.18.6.103:2380 clientURLs=http://172.18.6.103:2379,http://172.18.6.103:4001 isLeader=false717e65599f151c45: name=etcd0 peerURLs=http://172.18.6.101:2380 clientURLs=http://172.18.6.101:2379,http://172.18.6.101:4001 isLeader=true

至此,etcd集群与代理节点搭建完成,每个节点或者代理的数据都放置在宿主机的/data/etcd目录下`

转载地址:http://iucji.baihongyu.com/

你可能感兴趣的文章
SQL语句(二)查询语句
查看>>
SQL语句(六) 自主存取控制
查看>>
《计算机网络》第五章 运输层 ——TCP和UDP 可靠传输原理 TCP流量控制 拥塞控制 连接管理
查看>>
堆排序完整版,含注释
查看>>
二叉树深度优先遍历和广度优先遍历
查看>>
生产者消费者模型,循环队列实现
查看>>
PostgreSQL代码分析,查询优化部分,process_duplicate_ors
查看>>
PostgreSQL代码分析,查询优化部分,canonicalize_qual
查看>>
PostgreSQL代码分析,查询优化部分,pull_ands()和pull_ors()
查看>>
ORACLE权限管理调研笔记
查看>>
移进规约冲突一例
查看>>
IA32时钟周期的一些内容
查看>>
SM2椭圆曲线公钥密码算法
查看>>
获得github工程中的一个文件夹的方法
查看>>
《PostgreSQL技术内幕:查询优化深度探索》养成记
查看>>
PostgreSQL查询优化器详解之逻辑优化篇
查看>>
STM32中assert_param的使用
查看>>
C语言中的 (void*)0 与 (void)0
查看>>
vu 是什么
查看>>
io口的作用
查看>>