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内嵌的 ...
随机推荐
- Python实用笔记 (11)高级特性——迭代器
这些可以直接作用于for循环的对象统称为可迭代对象:Iterable. 可以使用isinstance()判断一个对象是否是Iterable对象: >>> from collectio ...
- JavaScript基础JavaScript的常用编码惯例(007)
采用一定的编码惯例,可以使得项目中的代码提到较高的一致性,可读性和可预测性. 1.缩进缩 进可以提高代码的可读性.不过错误的缩进也可能导致代码的误读.有人认为缩进应该使用tab,另外的一些人主张采用4 ...
- SpringBoot + MyBatis + MySQL 读写分离实战
1. 引言 读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做.因此,一般来讲,读写分离有两种实现方式.第一种是依靠 ...
- AdminLTE 2.4
https://jeesite.gitee.io/front/AdminLTE/2.4/index2.html
- Linux 文件类型 ,文件权限
第一个字符段:文件类型.第二个组字符段又分为三段(每三个字符为一段不足用‘-’):文件属性. . drwxrwxrwx . -rwxr-xr-x 第一字符段: 第二字符组段依次为: - :普通文件 ...
- Spring拦截器和SpringAop实现
一.拦截器 1.aop是面向切面编程,原理是java的发射技术. 2.分为三类,before.after.arround 3.springMvc为我们提供了一个适配器HandlerIntercepto ...
- day46 mysql进阶
目录 一.约束条件 1 default默认值 2 unique唯一 2.1 单列唯一 2.2 联合唯一 3 primary key主键 3.1 主键的基本使用 3.2 主键的特性 4 auto_inc ...
- day10 基本数据类型(下)
目录 一.集合 1.作用 2.定义 3.类型转换 4.内置方法 4.1交集:两者共有的 4.2合集:两者融合去重 4.3差集:某个集合单独有的 4.4对称差集:两个集合各自单独有的组成的集合 4.5父 ...
- 记Centos7和RHEL连接不上网络
一 .前言 我是把Linux系统安装在虚拟机中的,用的是VMware. 在终端工具和操作界面中. VMware里面采用的网络适配器是NAT技术. 标题中的Centos和RHEL区别就不多说了,自行百度 ...
- 数据可视化之 图表篇(三)体验Power BI最新发布的AI图表:分解树
在刚刚发布的11月更新中,PowerBI界面全新改版,采用和Office套件相似的Ribbon风格,除了这个重大变化,还发布了一个AI黑科技图表:分解树(Decomposition Tree). 无论 ...