1. [etcd]
    2. https://github.com/etcd-io/etcd/releases
    1. [Centos7 直接安装]
    2. yum -y install etcd
    3. [配置 /etc/etcd/etcd.conf]
    4. [root@localhost opt]# vim /etc/etcd/etcd.conf
    5. #[Member]
    6. #ETCD_CORS=""
    7. ETCD_DATA_DIR="/var/lib/etcd/default.etcd" # 定义数据存放位置
    8. #ETCD_WAL_DIR=""
    9. #ETCD_LISTEN_PEER_URLS="http://localhost:2380" # 监听etcd实例的地址
    10. ETCD_LISTEN_CLIENT_URLS="http://localhost:2379" # 监听客户端地址
    11. #ETCD_MAX_SNAPSHOTS="5"
    12. #ETCD_MAX_WALS="5"
    13. ETCD_NAME="default"
    14. #ETCD_SNAPSHOT_COUNT="100000"
    15. #ETCD_HEARTBEAT_INTERVAL="100"
    16. #ETCD_ELECTION_TIMEOUT="1000"
    17. #ETCD_QUOTA_BACKEND_BYTES="0"
    18. #ETCD_MAX_REQUEST_BYTES="1572864"
    19. #ETCD_GRPC_KEEPALIVE_MIN_TIME="5s"
    20. #ETCD_GRPC_KEEPALIVE_INTERVAL="2h0m0s"
    21. #ETCD_GRPC_KEEPALIVE_TIMEOUT="20s"
    22. #
    23. #[Clustering]
    24. #ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380" #通知其他etcd实例地址
    25. ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379" # 通知客户端地址
    26. #ETCD_DISCOVERY=""
    27. #ETCD_DISCOVERY_FALLBACK="proxy"
    28. #ETCD_DISCOVERY_PROXY=""
    29. #ETCD_DISCOVERY_SRV=""
    30. #ETCD_INITIAL_CLUSTER="default=http://localhost:2380" #定义etcd集群节点
    31. #ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster" # 初始化集群token,token一致则可以进入同一集群
    32. #ETCD_INITIAL_CLUSTER_STATE="new" # 初始化集群状态,new表示新建
    33. #ETCD_STRICT_RECONFIG_CHECK="true"
    34. #ETCD_ENABLE_V2="true"
    35. #
    36. #[Proxy]
    37. #ETCD_PROXY="off"
    38. #ETCD_PROXY_FAILURE_WAIT="5000"
    39. #ETCD_PROXY_REFRESH_INTERVAL="30000"
    40. #ETCD_PROXY_DIAL_TIMEOUT="1000"
    41. #ETCD_PROXY_WRITE_TIMEOUT="5000"
    42. #ETCD_PROXY_READ_TIMEOUT="0"
    43. #
    44. #[Security]
    45. #ETCD_CERT_FILE=""
    46. #ETCD_KEY_FILE=""
    47. #ETCD_CLIENT_CERT_AUTH="false"
    48. #ETCD_TRUSTED_CA_FILE=""
    49. #ETCD_AUTO_TLS="false"
    50. #ETCD_PEER_CERT_FILE=""
    51. #ETCD_PEER_KEY_FILE=""
    52. #ETCD_PEER_CLIENT_CERT_AUTH="false"
    53. #ETCD_PEER_TRUSTED_CA_FILE=""
    54. #ETCD_PEER_AUTO_TLS="false"
    55. #
    56. #[Logging]
    57. #ETCD_DEBUG="false"
    58. #ETCD_LOG_PACKAGE_LEVELS=""
    59. #ETCD_LOG_OUTPUT="default"
    60. #
    61. #[Unsafe]
    62. #ETCD_FORCE_NEW_CLUSTER="false"
    63. #
    64. #[Version]
    65. #ETCD_VERSION="false"
    66. #ETCD_AUTO_COMPACTION_RETENTION="0"
    67. #
    68. #[Profiling]
    69. #ETCD_ENABLE_PPROF="false"
    70. #ETCD_METRICS="basic"
    71. #
    72. #[Auth]
    73. #ETCD_AUTH_TOKEN="simple"
    74. //
    75. ETCD_NAME=etcd-node1 #定义节点名称
    76. ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #定义数据存放位置
    77. #[cluster]
    78. ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.0.0.101:2380 #通知其他etcd实例地址
    79. ETCD_INITIAL_CLUSTER="etcd-node1=http://10.0.0.101:2380,etcd-node2=http://10.0.0.2:2380,etcd-node3=http://10.0.0.3:2380" #定义etcd集群节点
    80. ETCD_INITIAL_CLUSTER_STATE=new # 初始化集群状态,new表示新建
    81. ETCD_INITIAL_CLUSTER_TOKEN=etcd-k8s-cluster # 初始化集群token,token一致则可以进入同一集群
    82. ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380 # 监听etcd实例的地址
    83. ETCD_ADVERTISE_CLIENT_URLS=http://10.0.0.101:2379 # 通知客户端地址
    84. ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" # 监听客户端地址
    85. #[proxy]
    86. ETCD_PROXY="off"
    87. #[security]
    1. [启动]
    2. # systemctl daemon-reload
    3. # systemctl enable etcd.service
    4. # systemctl start etcd.service # 启动数据库
    5. [检测]
    6. # etcdctl cluster-health # 查询etcd集群健康状态
    7. # etcdctl member list # 查询etcd集群成员

    etcd数据库安装时要安装为奇数节点(与zookeeper类似),最少为3台,否则选举Leader会失败,启动其他节点时直接修改以上配置文件的本地ip为当前服务器ip即可

    1. [解压安装,创建软链接]
    2. unzip etcd-v3.3.13-darwin-amd64.zip
    3. ln -sf /opt/etcd-v3.3.13-darwin-amd64/etcd /usr/bin/etcd
    4. ln -sf /opt/etcd-v3.3.13-darwin-amd64/etcdctl /usr/bin/etcdctl
    5. [配置]
    6. mkdir /var/lib/etcd
    7. :/usr/lib/systemd/system/etcd.service # 创建配置文件etcd.service
    8. [Unit]
    9. Description=Etcd Server
    10. [Service]
    11. Type=notify
    12. TimeoutStartSec=0
    13. Restart=always
    14. WorkingDirectory=/var/lib/etcd/
    15. EnvironmentFile=-/etc/etcd/etcd.conf
    16. ExecStart=/usr/bin/etcd
    17. [Install]
    18. WantedBy=multi-user.target
    19. # WorkingDirectory为etcd数据库目录,需要在etcd安装前创建
    20. : /etc/etcd/etcd.conf # 创建配置文件etcd.conf
    21. ETCD_NAME=ETCD Server
    22. ETCD_DATA_DIR="/var/lib/etcd/"
    23. ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
    24. ETCD_ADVERTISE_CLIENT_URLS="http://10.0.209.151:2379"