zoukankan      html  css  js  c++  java
  • etcd集群搭建

    etcd简介 etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。Raft是一个来自Stanford的新的一致性算法,适用于分布式系统的日志复制,Raft通过选举的方式来实现一致性,在Raft中,任何一个节点都可能成为Leader。Google的容器集群管理系统Kubernetes、开源PaaS平台Cloud Foundry和CoreOS的Fleet都广泛使用了etcd。

    1.软件环境

    下载etcd-v3.3.9-linux-amd64.tar.gz

    本例采用三台节点搭建集群

    192.168.158.130 kylinos01

    192.168.158.140 kylinos02

    192.168.158.150 kylinos03

    2.各节点配置

    1)更改各节点主机名

    hostnamectl set-hostname kylinos01..kylinos02...kylinos03

    2)更改/etc/hosts文件

    192.168.158.130 kylinos01

    192.168.158.140 kylinos02

    192.168.158.150 kylinos03

    将/etc/hosts文件拷贝至其他两个节点

    scp /etc/hosts kylinos02:/etc scp /etc/hsots kylinos03:/etc

    3)创建etcd.service文件

    解压etcd.tar.gz文件

    tar xvf etcd.tar.gz

    mv etcd /opt/etcd

    cat /lib/systemd/system/etcd.service

    [Unit] Description=ETCD

    [Service]

    Type=notify

    EnvironmentFile=-/etc/sysconfig/etcd

    ExecStart=/opt/etcd/etcd --name ETCD0 --initial-advertise-peer-urls http://192.168.158.130:2380 --listen-peer-urls http://192.168.158.130:2380 --listen-client-urls http://192.168.158.130:2379,http://127.0.0.1:2379 --advertise-client-urls http://192.168.158.130:2379 --initial-cluster-token etcd-cluster --initial-cluster ETCD0=http://192.168.158.130:2380,ETCD1=http://192.168.158.140:2380,ETCD2=http://192.168.158.150:2380 --initial-cluster-state new

    Restart=on-failure

    其中

    --initial-advertise-peer-urls  本地用于监听并连接其他 member 的地址,#广播给集群内其他成员访问的URL

    --LISTEN_PEER_URLS  #集群内部通信使用的URL

    --listen-client-urls   #供外部客户端使用的url

    --advertise-client-urls  #广播给外部客户端使用的url

    --initial-cluster  #初始集群成员列表

    --initial-cluster-token  #集群的名称

    4)启动服务

    systemctl daemon-reload

    systemctl restart etcd.service

    5)查看状态

    创建etcdctl文件链接

    ln -s /opt/etcd/etcdctl /usr/local/bin/etcdctl

    etcdctl member list etcdctl cluster-health

    6)数据操作

    在一个节点etcdctl set name yst

    在另一个节点 etcdctl get name

  • 相关阅读:
    mysql 查询当天、本周,本月,上一个月的数据
    Mysql 查看连接数,状态 最大并发数,以及设置连接数
    MySQL慢查询日志优化
    java中线程通信(传统的线程通信)
    java中死锁
    同步锁(lock)
    同步锁(lock)
    释放同步监视器的锁定(java疯狂讲义)
    linux第9天 UDP
    linux第8天 connect强化
  • 原文地址:https://www.cnblogs.com/mushou/p/11345576.html
Copyright © 2011-2022 走看看