现有三台机器 CentOS7

node1 10.2.0.10

node2 10.2.0.11

node3 10.2.0.12

 1 源码解压命令行方式

node1

./etcd --name infra0 --data-dir /home/etcddata --initial-advertise-peer-urls http://10.2.0.10:2380 \
--listen-peer-urls http://10.2.0.10:2380 \
--listen-client-urls http://10.2.0.10:2379,http://127.0.0.1:2379 \
--advertise-client-urls http://10.2.0.10:2379 \
--initial-cluster-token etcd-cluster- \
--initial-cluster infra0=http://10.2.0.10:2380,infra1=http://10.2.0.11:2380,infra2=http://10.2.0.12:2380 \
--initial-cluster-state new

node2

./etcd --name infra1 --data-dir /home/etcddata --initial-advertise-peer-urls http://10.2.0.11:2380 \
--listen-peer-urls http://10.2.0.11:2380 \
--listen-client-urls http://10.2.0.11:2379,http://127.0.0.1:2379 \
--advertise-client-urls http://10.2.0.11:2379 \
--initial-cluster-token etcd-cluster- \
--initial-cluster infra0=http://10.2.0.10:2380,infra1=http://10.2.0.11:2380,infra2=http://10.2.0.12:2380 \
--initial-cluster-state new

node3

./etcd --name infra2 --data-dir /home/etcddata --initial-advertise-peer-urls http://10.2.0.12:2380 \

--listen-peer-urls http://10.2.0.12:2380 \
--listen-client-urls http://10.2.0.12:2379,http://127.0.0.1:2379 \
--advertise-client-urls http://10.2.0.12:2379 \
--initial-cluster-token etcd-cluster- \
--initial-cluster infra0=http://10.2.0.10:2380,infra1=http://10.2.0.11:2380,infra2=http://10.2.0.12:2380 \
--initial-cluster-state new

变化的部分 --name 、host地址

2服务器启动方式

$cat /usr/lib/systemd/system/etcd.service

# cat /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=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf #环境变量配置文件
User=etcd #用户
# set GOMAXPROCS to number of processors
#ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\"" ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /home/install/etcd/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\" --initial-advertise-peer-urls=\"${ETCD_INITIAL_ADVERTISE_PEER_URLS}\" --listen-peer-urls=\"${ETCD_LISTEN_PEER_URLS}\" --advertise-client-urls=\"${ETCD_ADVERTISE_CLIENT_URLS}\" --initial-cluster-token=\"${ETCD_INITIAL_CLUSTER_TOKEN}\" --initial-cluster=\"${ETCD_INITIAL_CLUSTER}\" --initial-cluster-state=\"${ETCD_INITIAL_CLUSTER_STATE}\""
#启动脚本 Restart=on-failure
LimitNOFILE= [Install]
WantedBy=multi-user.target
[root@node1 etcddata]#

$ cat /etc/etcd/etcd.conf

# cat /etc/etcd/etcd.conf
# [member]
ETCD_NAME=etcd1
ETCD_DATA_DIR="/home/etcddata"
#ETCD_WAL_DIR=""
#ETCD_SNAPSHOT_COUNT=""
#ETCD_HEARTBEAT_INTERVAL=""
#ETCD_ELECTION_TIMEOUT=""
ETCD_LISTEN_PEER_URLS="http://node1:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
#ETCD_MAX_SNAPSHOTS=""
#ETCD_MAX_WALS=""
#ETCD_CORS=""
#
#[cluster]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://node1:2380"
# if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."
ETCD_INITIAL_CLUSTER="etcd1=http://node1:2380,etcd2=http://node2:2380,etcd3=http://node3:2380"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_ADVERTISE_CLIENT_URLS="http://node1:2379"
#ETCD_DISCOVERY=""
#ETCD_DISCOVERY_SRV=""
#ETCD_DISCOVERY_FALLBACK="proxy"
#ETCD_DISCOVERY_PROXY="

node2 node3 根据以上相应修改

备注 log查看 为系统日志 tail -500f /var/log/message

集群方式启动后不能清除数据文件,数据文件在第一次启动后生成,修改配置文件后重新系统如果不清除数据文件新配置不生效。

原理说明参考

http://www.infoq.com/cn/articles/coreos-analyse-etcd/

etcd 集群搭建的更多相关文章

  1. Docker下ETCD集群搭建

    搭建集群之前首先准备两台安装了CentOS 7的主机,并在其上安装好Docker. Master 10.100.97.46 Node 10.100.97.64 ETCD集群搭建有三种方式,分别是Sta ...

  2. [Kubernetes]CentOS7下Etcd集群搭建

    Etcd简要介绍 Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息 Etcd构建自身高可用集群主要有三种形式: ①静态发现: 预先已知 Etcd 集 ...

  3. Kubernetes-3.3:ETCD集群搭建及使用(https认证+数据备份恢复)

    etcd集群搭建 环境介绍 基于CentOS Linux release 7.9.2009 (Core) ip hostname role 172.17.0.4 cd782d0a790b etcd1 ...

  4. Centos7下Etcd集群搭建

    一.简介 "A highly-available key value store for shared configuration and service discovery." ...

  5. kubeadm 线上集群部署(一) 外部 ETCD 集群搭建

      IP Hostname   192.168.1.23 k8s-etcd-01 etcd集群节点,默认关于ETCD所有操作均在此节点上操作 192.168.1.24 k8s-etcd-02 etcd ...

  6. etcd集群搭建

    etcd介绍,以及适用场景,参考:http://www.infoq.com/cn/articles/etcd-interpretation-application-scenario-implement ...

  7. etcd集群的搭建

    由于最近在学习kubernetes,etcd作为kubernetes集群的主数据库,必须先启动. etcds实例名称 IP地址 Hostname etcd 1 192.168.142.161 kube ...

  8. etcd集群部署与遇到的坑

    在k8s集群中使用了etcd作为数据中心,在实际操作中遇到了一些坑.今天记录一下,为了以后更好操作. ETCD参数说明 —data-dir 指定节点的数据存储目录,这些数据包括节点ID,集群ID,集群 ...

  9. Kubernetes集群部署之三ETCD集群部署

    kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点复用 kubernetes 集群机器k8s-master.k8s-node-1.k ...

随机推荐

  1. C#通过接口与线程通信(捕获线程状态)介绍

    C#通过接口与线程通信(捕获线程状态)介绍 摘要:本文介绍C#通过接口与线程通信(捕获线程状态),并提供简单的示例代码供参考. 提示:本文所提到的线程状态变化,并不是指线程启动.暂停.停止,而是说线程 ...

  2. [转]Intercepting the App Store's Traffic on iOS

    Source:https://nabla-c0d3.github.io/blog/2013/08/20/intercepting-the-app-stores-traffic-on-ios/ TL;D ...

  3. IOS学习之路二十二(UIAlertView获得文本框内容及添加北京图片)

    今天写项目要用到警告框带输入框的,于是就自己做了个小demo. 效果图大体如下: 下面简单介绍一下UIAlertView alertViewStyle属性有以下三种选项:  UIAlertViewSt ...

  4. [原创]opencv实现图像拼接,制做全景图

     转载请注明:http://www.cnblogs.com/ausk/p/3332255.html    调用opencv2.4.6中的库函数,实现图像的拼接功能,傻瓜式拼接,不需要太多的专业知识.. ...

  5. 如何安装ArchLinux

    如何安装ArchLinux   本文基于ArchLinux(https://www.archlinux.org/)Current Release: 2013.08.01的ISO写的安装教程! ISO下 ...

  6. python打包成window可执行程序

    python程序可以通过python hello.py执行,但是需要安装python的解释器,并配置环境变量,打包成exe程序之后可以直接执行. 使用setup工具和py2exe可以做到这一点. 最简 ...

  7. wp加载本地HTML(附带图片,CSS,JS)

    wp加载本地HTML(附带图片,CSS,JS) Windows Phone:Load Local HTML with Img,Css,Js by 唐小崇 http://www.cnblogs.com/ ...

  8. JSP和JavaBean

    JSP JSP全称是Java Server Pages.JSP实际上就是Servlet. JSP原理:JSP会被Tomcat翻译成一个Servlet JSP语法 1)JSP的Java脚本表达式 作用: ...

  9. ASP.NET4.5Web API及非同步程序开发系列

    ASP.NET4.5Web API及非同步程序开发系列 认识ASP.NET WEB API 他的前身为WCF WEB API用于协助WCF支持RestFul.现在集成进ASP.NET,正式更名为ASP ...

  10. Unity3D中使用MiniJson解析json的例子

    json: --------------------------------- {     "name":"中国",     "province&qu ...