CentOS 安装etcd集群 —— 筑梦之路
环境说明
192.168.1.11
192.168.1.12
192.168.1.13
yum在线安装
yum install etcd -y
#etcd01
cat > /etc/etcd/etcd.conf <<EOF
ETCD_NAME=etcd01
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.1.11:2380"
ETCD_INITIAL_CLUSTER="etcd001=http://192.168.1.11:2380,etcd002=http://192.168.1.12:2380,etcd003=http://192.168.1.13:2380"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-token"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.1.11:2379"
EOF
#etcd02
cat > /etc/etcd/etcd.conf <<EOF
ETCD_NAME=etcd02
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.1.12:2380"
ETCD_INITIAL_CLUSTER="etcd001=http://192.168.1.11:2380,etcd002=http://192.168.1.12:2380,etcd003=http://192.168.1.13:2380"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-token"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.1.12:2379"
EOF
#etcd03
cat > /etc/etcd/etcd.conf <<EOF
ETCD_NAME=etcd02
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.1.13:2380"
ETCD_INITIAL_CLUSTER="etcd001=http://192.168.1.11:2380,etcd002=http://192.168.1.12:2380,etcd003=http://192.168.1.13:2380"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-token"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.1.13:2379"
EOF
systemctl enable etcd --now
测试验证
#添加数据,添加一个behavior值的数据
etcdctl -C http://192.168.1.11:2379 set /behavior "[\"192.168.1.11:80\", \"192.168.1.12:80\"]"
#查询数据
curl http://192.168.1.11:2379/v2/keys/behavior
# 查看节点
etcdctl member list
Etcd是一个分布式键值存储系统,用于在分布式系统中保存配置信息、元数据以及关键的共享状态。它是一个开源项目,最初由CoreOS开发并维护,现在由CNCF(Cloud Native Computing Foundation)托管。Etcd的设计目标是提供可靠的分布式存储,以支持分布式系统的一致性和高可用性。
关键特性:
分布式存储: Etcd的数据存储是分布式的,可以跨多个节点进行分布,确保高可用性和可扩展性。
强一致性: Etcd提供强一致性的保证,确保在集群中的所有节点都能看到相同的数据视图。
轻量级: Etcd采用轻量级的Raft一致性算法,以确保集群中的节点之间达成一致,同时保持相对较低的性能开销。
API支持: Etcd提供简单而强大的HTTP+JSON API,使得开发人员可以轻松地与其进行交互,并集成到各种应用和工具中。
Watch机制: Etcd支持Watch机制,允许客户端监视特定键的变化,并在数据发生变更时得到通知。
安全性: Etcd支持SSL/TLS加密,以保障数据在传输过程中的安全性,并提供基于角色的访问控制。
应用场景:
配置管理: Etcd常用于存储应用程序和系统的配置信息,允许动态地更新配置而无需重启应用。
服务发现: Etcd可以用作服务发现的后端存储,帮助服务在动态环境中找到彼此。
分布式锁: 通过Etcd的分布式锁机制,可以实现分布式系统中的协同工作和资源同步。
集群协调: Etcd在构建分布式系统中,作为集群协调的关键组件,确保系统的一致性和稳定性。
总体而言,Etcd在云原生应用和分布式系统中发挥着重要作用,提供了可靠的分布式存储和协调服务,为应用程序提供一致性、可靠性和高可用性的基础设施支持。
搜集自网络