我是靠谱客的博主 坦率发卡,最近开发中收集的这篇文章主要介绍etcd集群部署前言:节点1中:节点2中:应用:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

etcd是让配置数据和程序代码脱离的产物,更详尽的应用场景阐述,可以参考《etcd:从应用场景到实现原理的全方位解读》

 

前言:

1、需要至少两台服务器,
节点1:etd-1 192.168.0.1
节点2:etd-2 192.168.0.2
2、系统版本:CentOS7
3、端口2379、2380、4001的开放

 

节点1中:

一、下载安装
1、下载etcd二进制包 etcd-v3.3.8-linux-amd64.tar.gz,官方地址:https://github.com/coreos/etcd/releases/


2、解压里面命令,复制到/usr/bin目录里


二、配置
1、新建etcd所需的数据目录/opt/etcd/data,后续配置会用到
mkdir -p /opt/etcd/data


2、新建配置文件,注意这里ip的配置必须是内网ip,公网ip会启动不了,vim /etc/etcd/conf.yml
name: etcd-1
data-dir: /opt/etcd/data
listen-client-urls: http://192.168.0.1:2379,http://127.0.0.1:2379
advertise-client-urls: http://192.168.0.1:2379,http://127.0.0.1:2379
listen-peer-urls: http://192.168.0.1:2380
initial-advertise-peer-urls: http://192.168.0.1:2380
initial-cluster-token: etcd-cluster-token
initial-cluster-state: new
initial-cluster: etcd-1=http://192.168.0.1:2380,etcd-2=http://192.168.0.2:2380


配置参数说明:
name      节点名称
data-dir      指定节点的数据存储目录
listen-peer-urls      监听URL,用于与其他节点通讯
listen-client-urls    对外提供服务的地址:比如 http://ip:2379,http://127.0.0.1:2379 ,客户端会连接到这里和 etcd 交互
initial-advertise-peer-urls   该节点同伴监听地址,这个值会告诉集群中其他节点
initial-cluster-state     新建集群的时候,这个值为 new ;假如已经存在的集群,这个值为 existing
initial-cluster-token     创建集群的 token,这个值每个集群保持唯一。这样的话,如果你要重新创建集群,即使配置和之前一样,也会再次生成新的集群和节点 uuid;否则会导致多个集群之间的冲突,造成未知的错误
advertise-client-urls     对外公告的该节点客户端监听地址,这个值会告诉集群中其他节点
initial-cluster   集群中所有节点的信息,格式为 node1=http://ip1:2380,node2=http://ip2:2380,… 。注意:这里的 node1 是节点的 --name 指定的名字;后面的 ip1:2380 是 --initial-advertise-peer-urls 指定的值


3、新建启动服务,vim /usr/lib/systemd/system/etcd.service
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target


[Service]
Type=notify
WorkingDirectory=/opt/etcd/data/
# User=etcd
ExecStart=/usr/bin/etcd --config-file=/etc/etcd/conf.yml
Restart=on-failure
LimitNOFILE=65536


[Install]
WantedBy=multi-user.target      
         
三、启动etcd服务
systemctl daemon-reload
systemctl enable etcd.service
systemctl start etcd.service



 

节点2中:

一、重复以上步骤,不同的是配置文件vim /etc/etcd/conf.yml,为
name: etcd-2
data-dir: /opt/etcd/data
listen-client-urls: http://192.168.0.2:2379,http://127.0.0.1:2379
advertise-client-urls: http://192.168.0.2:2379,http://127.0.0.1:2379
listen-peer-urls: http://192.168.0.2:2380
initial-advertise-peer-urls: http://192.168.0.2:2380
initial-cluster-token: etcd-cluster-token
initial-cluster-state: new
initial-cluster: etcd-1=http://192.168.0.1:2380,etcd-2=http://192.168.0.2:2380


 

应用:

1、查看集群的节点列表
etcdctl member list
27bff32661a83e07: name=etcd-1 peerURLs=http://192.168.0.1:2380 clientURLs=http://127.0.0.1:2379,http://192.168.0.1:2379 isLeader=true
34dgg34dfdsf2e32: name=etcd-2 peerURLs=http://192.168.0.2:2380 clientURLs=http://127.0.0.1:2379,http://192.168.0.2:2379 isLeader=true

2、查看集群节点健康状态
etcdctl cluster-health



3、ECTD读写操作
基于HTTP协议的API使用起来比较简单,这里主要通过etcdctl和curl两种方式来做简单介绍。


下面通过给message key设置Hello值示例:
etcdctl set /message Hello
Hello

$ curl -X PUT http://127.0.0.1:2379/v2/keys/message -d value="Hello"
{"action":"set","node":{"key":"/message","value":"Hello","modifiedIndex":4,"createdIndex":4}}

 

 

读取message的值:

etcdctl  get /message

Hello

$ curl http://127.0.0.1:2379/v2/keys/message
{"action":"get","node":{"key":"/message","value":"Hello","modifiedIndex":9,"createdIndex":9}}
 

 

删除message key:
etcdctl  rm  /message

$ curl -X DELETE http://127.0.0.1:2379/v2/keys/message
{"action":"delete","node":{"key":"/message","modifiedIndex":10,"createdIndex":9},"prevNode":{"key":"/message","value":"Hello","modifiedIndex":9,"createdIndex":9}}




 

如想了解更多技术架构文章,扫码关注我的个人公众号以及转发分享哈~

最后

以上就是坦率发卡为你收集整理的etcd集群部署前言:节点1中:节点2中:应用:的全部内容,希望文章能够帮你解决etcd集群部署前言:节点1中:节点2中:应用:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部