搭建zookeeper环境
zookeeper
是一个强一致的分布式数据库,由多个节点共同组成一个分布式集群,挂掉任意一个节点,数据库仍然可以正常工作。
独立模式
下载zookeeper
打包文件,并进行解压
➜ ~ tar -xvzf apache-zookeeper-3.5.6-bin.tar.gz
进入zookeeper
的解压目录,重命名conf
目录下的配置文件
➜ apache-zookeeper-3.5.6-bin mv conf/zoo_sample.cfg conf/zoo.cfg
启动zookeeper
,使用start-foreground
启动到前台,方便查看服务的输出信息
➜ apache-zookeeper-3.5.6-bin bin/zkServer.sh start-foreground
仲裁模式
在zoo.cfg
的基础上进行编辑,创建zoo_1.cfg
、zoo_2.cfg
及zoo_3.cfg
需要额外追加的配置信息。冒号分割的第二部分和第三部分为TCP
端口号,分别用于仲裁通讯和群首选举。
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445
当启动一个服务器时,我们需要知道启动的是哪个服务器。zookeeper
通过读取dataDir
下的名为myid
的文件来获取服务器ID
信息。
➜ zookeeper echo 1 > zoo_1/data/myid
➜ zookeeper echo 2 > zoo_2/data/myid
➜ zookeeper echo 3 > zoo_3/data/myid
启动服务,从zoo_1
开始
➜ zoo_1 ~/apache-zookeeper-3.5.6-bin/bin/zkServer.sh start-foreground ./zoo_1.cfg
因为我们只启动了三个zookeeper
中的一个,所以整个服务器还无法运行。
2020-01-01 12:08:37,016 [myid:1] - INFO [QuorumPeer[myid=1](plain=/0:0:0:0:0:0:0:0:2181)(secure=disabled):QuorumPeer@1193] - LOOKING
2020-01-01 12:08:37,016 [myid:1] - INFO [QuorumPeer[myid=1](plain=/0:0:0:0:0:0:0:0:2181)(secure=disabled):FastLeaderElection@885] - New election. My id = 1, proposed zxid=0x0
2020-01-01 12:08:37,021 [myid:1] - WARN [WorkerSender[myid=1]:QuorumCnxManager@679] www.xinyueylzc.cn- Cannot open channel to 2 at election address /127.0.0.1:3334
java.net.ConnectException: Connection refused (Connection refused)
...
2020-01-01 12:08:37,031 [myid:1] - WARN [WorkerSender[myid=1]:QuorumCnxManager@679] - Cannot open channel to 3 at election address /127.0.0.1:4445
java.net.ConnectException: Connection refused (Connection refused)
...
启动第二个服务器,这样可以构成仲裁的法定人数
➜ zoo_2 ~/apache-zookeeper-3.5.6-bin/bin/zkServer.sh start-foreground ./zoo_2.cfg
服务器二被选择为群首
2020-01-01 12:10:40,802 [myid:2] - INFO [QuorumPeer[myid=2](plain=/0:0:0:0:0:0:0:0:2182)(secure=disabled):Leader@464] - LEADING - LEADER ELECTION TOOK - 54 MS
2020-01-01 12:10:40,804 [myid:2] - INFO [QuorumPeer[myid=2](www.lafei6d.cn plain=/0:0:0:0:0:0:0:0:2182)(secure=disabled):FileTxnSnapLog@384] - Snapshotting: 0x0 to /tmp/zookeeper/zoo_2/data/version-2/snapshot.0
2020-01-01 12:10:40,812 [myid:2] - INFO [LearnerHandler-www.huizhonggjpt.cn /127.0.0.1:62308:LearnerHandler@406] - Follower sid: 1 : info : 127.0.0.1:2222:2223:participant
2020-01-01 12:10:40,816 [myid:2] - INFO [LearnerHandler-www.shentuylzc.cn /127.0.0.1:62308:ZKDatabase@295] - On disk txn sync enabled with snapshotSizeFactor 0.33
访问集群
➜ bin ./zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
发布与订阅的例子
启动一个zk_0
,创建一个临时的znode
节点:
[zk: 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183(CONNECTED) 9] create www.feishenbo.cn-e /master "this is master"
Created /master
启动另一个zk_1
, 给znode
设置一个监视点:
[zk: 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183(CONNECTED) 3] ls /master true
'ls path [watch]' has been deprecated. Please use 'ls [-w] path' instead.
[]
再启动另一个zk_2
,给znode
设置一个监视点:
[zk: 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183(CONNECTED) 1] ls /master true
'ls path [watch]' has been deprecated.www.jujinyule.com Please use 'ls [-w] path' instead.
[]
在zk_0
中删除掉master
,zk_1
和zk_2
同时收到删除的通知消息
zk_0:
[zk: 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183(www.letianhuanchao.cn CONNECTED) 10] delete /master
zk_1/zk_2:
[zk: 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183(CONNECTED) 2]
WATCHER::
WatchedEvent state:SyncConnected type:NodeDeleted path:/master
搭建zookeeper环境的更多相关文章
- CentOS7搭建Zookeeper环境
Linux下安装JDK 1.检查一下系统中的jdk版本 [root@localhost software]# java -version 显示: openjdk version "1.8.0 ...
- ZooKeeper系列(1):安装搭建ZooKeeper环境
ZooKeeper系列文章:https://www.cnblogs.com/f-ck-need-u/p/7576137.html#zk ZooKeeper有三种安装模式:单机安装(standalone ...
- Linux下搭建Zookeeper环境
Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. 其工作原 ...
- hadoop2.6.2+hbase+zookeeper环境搭建
1.hadoop环境搭建,版本:2.6.2,参考:http://www.cnblogs.com/bookwed/p/5251393.html 启动服务:在master机器上,进入hadoop安装目录, ...
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(环境Centos6.8)
资源:3台centos6.8虚拟机 4cpu 8G内存 ip 10.19.54.111-113 1台centos6.8虚拟机2cpu 8G ip 10.19.53.55 1.System Requir ...
- [转]云计算之hadoop、hive、hue、oozie、sqoop、hbase、zookeeper环境搭建及配置文件
云计算之hadoop.hive.hue.oozie.sqoop.hbase.zookeeper环境搭建及配置文件已经托管到githubhttps://github.com/sxyx2008/clou ...
- zookeeper的集群介绍、搭建、环境、安装
zookeeper是本身是一种分布式协调服务(英文意思动物园园长因为Hadoop就是一个动物园,storm.hadoop.kafkaka.hbaser都是基于zookeeper开发的) 原理:Zook ...
- zookeeper 环境搭建
1.准备三台服务器 ip分别为:192.168.100.128.192.168.100.129.192.168.100.133 a.修改主机名称 vi /etc/sysconfig/network 修 ...
- Zookeeper环境搭建
zookeeper支持windows.linux.mac等操作系统,其搭建方式也有集群.伪集群.单机环境.下面研究三种方式的搭建. 单机环境:windows操作系统 伪集群:windows 集群:li ...
随机推荐
- nodejs学习笔记(一):centos7安装node环境
由于windows环境安装nodejs只需要访问官方网站下载压缩包,解压即可. 首先检查自己是否安装==wget==,已安装可以跳过这步,未安装则需要先安装: linux yum install -y ...
- ActiveMQ消息队列和SignalR之日志实时监控及警报小实例
主要技术: log4net-生成日志. ActiveMQ-生成日志的时候发送消息,并实时监控日志. SignalR-将ActiveMQ监控的日志实时显示到浏览器上,而不用刷新浏览器. 小实例介绍: 左 ...
- Babel(1)认识Babel
阅读文档 Babel中文网 关于 Babel 你必须知道的 如何写好.babelrc?Babel的presets和plugins配置解析 不容错过的 Babel 7 知识汇总 一口(很长的)气了解 b ...
- webpack散记---提取公共代码
(1)作用: 减少代码冗余 提高加载速度 (2)来源 commonsChunkPlugin webpack.optimize.CommonsChunkPlugin (3)配置 { plugins:[ ...
- 第七篇:Python3连接MySQL
第七篇:Python3连接MySQL 连接数据库 注意事项 在进行本文以下内容之前需要注意: 你有一个MySQL数据库,并且已经启动. 你有可以连接该数据库的用户名和密码 你有一个有权限操作的data ...
- String类型不属于八种基本类型
String不属于8种基本数据类型,String是一个对象.因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. new String( ...
- stm32f4 dma + uart idle + double 调试小记
使用 stm32f4 调试uart 接收, 使用 空闲中断,dma 双缓冲模式,有以下几点需要注意的. 调试的时候断点不要打在 if (USART_GetITStatus(USART6, USART_ ...
- 新iPhone泄密12人被捕,苹果这是下狠手的节奏
一直以来,苹果在保密这件事儿上就秉持着强硬态度.还记得当年乔老爷子在的时候,苹果的保密工作在科技行业算得上是首屈一指.每款iPhone及其他新品在正式发布前,几乎不会被曝出什么消息.而这,或许也是&q ...
- 洛谷 P1964 【mc生存】卖东西(多重背包)
题目传送门 解题思路: 题目里有,多重背包. AC代码: #include<iostream> #include<cstdio> #include<map> usi ...
- 洛谷 P5662 纪念品
题目传送门 解题思路: 一道DP,完全背包,不过有点不同于模板.因为本题的每件物品可自由在不同的时间买卖,且不同时间价格不同. 这道题的关键在于要明白一个非常傻逼的性质,就是我在某天买了第i个物品,然 ...