etcd3.0集群安装
etcd 是一个分布式一致性键值存储,用于共享配置和服务发现,Go编写,并使用 Raft 一致性算法来管理高可用复制日志。
特性
简单:支持curl方式的用户API(http+json)
安全:可选ssl客户端证书认证
快速:单实例可达1000/s写操作
可靠:使用Raft实现分布式
etcd有三种集群化启动方案:
静态配置
自身服务发现
通过DNS进行服务发现
主机环境
192.168.1.3 node1
192.168.1.4 node2
192.168.1.5 node3
OS: CentOS7.0
etcd: etcd-v3.0.0-linux-amd64.tar.gz
1、解压etcd(三个节点都需操作)
tar xf etcd-v3.0.0-linux-amd64.tar.gz -C /usr/local/
mv /usr/local/etcd-v3.0.0-linux-amd64 /usr/local/etcd
export ETCDCTL_API=3 ##如果不设置,api还是版本2
2、启动(这里是以静态方式启动)
node1
=========
nohup ./etcd --name e1 --initial-advertise-peer-urls http://192.168.1.3:2380 --listen-peer-urls http://192.168.1.3:2380 --initial-cluster-token etcd-cluster-1 --data-dir /data/etcd/data --wal-dir /data/etcd/wal --listen-client-urls http://192.168.1.3:2379,http://127.0.0.1:2379,http://127.0.0.1:22379,http://127.0.0.1:32379 --advertise-client-urls http://192.168.1.3:2379 --initial-cluster e1=http://192.168.1.3:2380,e2=http://192.168.1.4:2380,e3=http://192.168.1.5:2380 --initial-cluster-state new >> etcd.log 2>&1 &
node2
======
nohup ./etcd --name e2 --initial-advertise-peer-urls http://192.168.1.4:2380 --listen-peer-urls http://192.168.1.4:2380 --initial-cluster-token etcd-cluster-1 --data-dir /data/etcd/data --wal-dir /data/etcd/wal --listen-client-urls http://192.168.1.4:2379,http://127.0.0.1:2379,http://127.0.0.1:22379,http://127.0.0.1:32379 --advertise-client-urls http://192.168.1.4:2379 --initial-cluster e1=http://192.168.1.3:2380,e2=http://192.168.1.4:2380,e3=http://192.168.1.5:2380 --initial-cluster-state new >> etcd.log 2>&1 &
node3
=======
nohup ./etcd --name e3 --initial-advertise-peer-urls http://192.168.1.5:2380 --listen-peer-urls http://192.168.1.5:2380 --initial-cluster-token etcd-cluster-1 --data-dir /data/etcd/data --wal-dir /data/etcd/wal --listen-client-urls http://192.168.1.5:2379,http://127.0.0.1:2379,http://127.0.0.1:22379,http://127.0.0.1:32379 --advertise-client-urls http://192.168.1.5:2379 --initial-cluster e1=http://192.168.1.3:2380,e2=http://192.168.1.4:2380,e3=http://192.168.1.5:2380 --initial-cluster-state new >> etcd.log 2>&1 &
###参数详解
–data-dir #指定节点的数据存储目录,包括节点ID 集群ID 集群初始化配置 Snapshot文件 若未指定—wal-dir 还会存储WAL文件;
–wal-dir #指定节点的was文件的存储目录 若指定了该参数 wal文件会和其他数据文件分开存储;
–name #节点名称
–initial-advertise-peer-urls #参数表示节点监听其他节点同步信号的地址
–listen-peer-urls #监听URL 用于与其他节点通讯
–advertise-client-urls #告知客户端url 也就是服务的url
–initial-cluster #集群中所有节点new or existing
–initial-cluster-token #集群的ID 如果所在的网络环境配置了多个etcd集群 为了避免意外发生 最好使用–initial-cluster-token参数为每个集群单独配置一个token认证,这样就可以确保每个集群和集群的成员都拥有独特的ID.
--force-new-cluster #加备份的数据重新启动节点
peer-urls #通常监听的端口为2380(老版本的端口为7001)包括所有已经在集群中正常工作的所有节点的地址。
client-urls #通常监听的端口为2379(老版本的端口为4001)为适应复杂的网络环境,新版etcd监听客户端请求的url从原来的1个变为现在可配置的多个 这样etcd可以配合多块网卡同时监听不同网络下的请求。
--initial-cluster-state new #用于指示本次是否为新建集群。有两个取值new和existing。如果填为existing,则该member启动时会尝试与其他member交互。
集群初次建立时,要填为new,经尝试最后一个节点填existing也正常,其他节点不能填为existing。
集群运行过程中,一个member故障后恢复时填为existing,经尝试填为new也正常。
3. 查看成员信息
root@node1:/usr/local/etcd# ./etcdctl member list
aa8379415edde74c, started, e3, http://192.168.1.3:2380, http://192.168.1.3:2379
da3cf4bd9e4c6189, started, e2, http://192.168.1.4:2380, http://192.168.1.4:2379
e6c603bf0f013bfc, started, e1, http://192.168.1.5:2380, http://192.168.1.5:2379
root@node1:/usr/local/etcd# curl http://127.0.0.1:2379/v2/members
4. 集群健康状态检查
etcdctl cluster-health
5. 查看成员角色
curl http://127.0.0.1:2379/v2/stats/leader
6. etcd 修改通过Ip访问方式
./etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379 --listen-peer-urls http://0.0.0.0:2380
7. 删除一个成员
curl http://192.168.1.131:2379/v2/members/42c5aa0fece37ff6 -XDELETE
8. 增加一个成员
1. curl http://127.0.0.1:2379/v2/members -XPOST -H "Content-Type: application/json" -d '{"peerURLs": ["http://192.168.1.193:2380"]}'
2. etcdctl member add node3 http://192.168.1.193:2380
在新节点,启动etcd服务
测试读写速度
boom -m PUT -d value="hello world!" -n 1000000 -c 10 -H "Content-Type: application/x-www-form-urlencoded" http://127.0.0.1/v2/keys/foo/car
###集群备份
#!/bin/bash
date_time=`date +%Y%m%d`
etcdctl backup --data-dir /data/etcd/ --backup-dir /data/etcd_backup/${date_time}
find /data/etcd_backup/ -ctime +7 -exec rm -r {} \;
etcd3.0集群安装的更多相关文章
- hadoop 2.2.0集群安装详细步骤(简单配置,无HA)
安装环境操作系统:CentOS 6.5 i586(32位)java环境:JDK 1.7.0.51hadoop版本:社区版本2.2.0,hadoop-2.2.0.tar.gz 安装准备设置集群的host ...
- CentOS下Hadoop-2.2.0集群安装配置
对于一个刚开始学习Spark的人来说,当然首先需要把环境搭建好,再跑几个例子,目前比较流行的部署是Spark On Yarn,作为新手,我觉得有必要走一遍Hadoop的集群安装配置,而不仅仅停留在本地 ...
- hadoop 2.2.0集群安装
相关阅读: hbase 0.98.1集群安装 本文将基于hadoop 2.2.0解说其在linux集群上的安装方法,并对一些重要的设置项进行解释,本文原文链接:http://blog.csdn.net ...
- ElasticSearch 5.0.0 集群安装部署文档
1. 搭建环境 3台物理机 操作系统 centos7 es1 192.168.31.141 4g内存 2核 es2 192.168.31.142 4g内存 2核 es3 ...
- CentOS下Storm 1.0.0集群安装具体解释
本文环境例如以下: 操作系统:CentOS 6 32位 ZooKeeper版本号:3.4.8 Storm版本号:1.0.0 JDK版本号:1.8.0_77 32位 python版本号:2.6.6 集群 ...
- Linux基于Hadoop2.8.0集群安装配置Hive2.1.1及基础操作
前言 安装Apache Hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可,安装前需保证Hadoop已启(动文中用到了hadoop的hdfs命 ...
- redis3.0.0 集群安装详细步骤
Redis集群部署文档(centos6系统) Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对 ...
- hadoop2.20.0集群安装教程
一.安装的需要软件及集群描述 1.软件: Vmware9.0:虚拟机 Hadoop2.2.0:Apache官网原版稳定版本 JDK1.7.0_07:Oracle官网版本 Ubuntu12.04LTS: ...
- 最新版spark1.1.0集群安装配置
和分布式文件系统和NoSQL数据库相比而言,spark集群的安装配置还算是比较简单的: 很多教程提到要安装java和scala,但我发现spark最新版本是包含scala的,JRE采用linux内嵌的 ...
随机推荐
- app自动化测试环境配置:adb环境配置、monkey环境配置、appium环境配置大全
1. 安装jdk 2. 安装配置Andriod sdk 安装Andriod sdk前首先需要安装配置好jdk环境. 然后安装Android sdk 安装完成后需要配置环境变量:ANDROID_HOME ...
- 【数位dp+状压】XHXJ 's LIS
题目 define xhxj (Xin Hang senior sister(学姐)) If you do not know xhxj, then carefully reading the enti ...
- 机器学习之KNN算法(分类)
KNN算法是解决分类问题的最简单的算法.同时也是最常用的算法.KNN算法也可以称作k近邻算法,是指K个最近的数据集,属于监督学习算法. 开发流程: 1.加载数据,加载成特征矩阵X与目标向量Y. 2.给 ...
- Java 内存分析之mat安装
有三款内存分析的工具 免费 VisualVM MAT 下载地址https://www.eclipse.org/mat/ mac 下面 under the current working directo ...
- 又一款开源图标库 CSS.GG,值得一用
嗨,我是 Martin,也叫老王,今天推荐一款好用的开源图标库. 我们平常找图标往往会去 iconfont 但是今天,我们看了 Martin 的文章之后,就会有一个新的选择--CSS.GG Githu ...
- CSS3动画 相比JS Animation 哪个更快?
CSS vs. JS Animation: 哪个更快? 基于JavaScript的动画竟然已经默默地比CSS的transition动画快了?而且,Adobe和 Google竟然一直在发布可以媲美原生应 ...
- 使用centos8搭建僵尸毁灭工程(PZ)服务器
自从领到了阿里云的ECS服务器后,本着既能熟悉linux操作,又能为喜欢的游戏搭建一个可以和朋友一起联机的服务器(游戏提供自建本地服务器极渣)的想法.作为linux小白的我翻遍了网上的资料,用了五天终 ...
- axure8.0实现tab切换
这两天帮忙做产品原型图,tab切换做一次忘一次,这次索性记录一下,免得下次再忘了. 1.在元件库中拉出来一个动态面板,双击动态面板,添加状态,添加完成之后,点击红色标注的地方,开始编辑每个面板状态: ...
- Github和Azure DevOps的代码同步
[前言]Github和Azure DevOps都提供了Git代码库功能,那么有没有办法将两边的代码库进行同步呢,答案是肯定的.这里的操作我都是用Azure DevOps的Pipelines功能来完成的 ...
- 3.Unity3d物体操作常用按键
新建一个cube物体.在unity3d界面左上角可以看到红色下划线的五个图标(下面用图标1到5数字表示),分别对应不同功能,这些功能操作物体很常用.下面用cube物体的操作来演示这几个功能. 1.按Q ...