内容简介:zookeeper是一个自动管理分布式集群的一个工具,以实现集群的高可用。比如集群中的一个机器挂掉了,没有zookeeper的话就得考虑挂一个机器对剩下集群工作的影响,而有了zookeeper,它就能自动帮你协调这些事儿。正规的解释如下:zookeeper是 一个开源的针对大型分布式系统的可靠协调系统。
zookeeper是一个自动管理分布式集群的一个工具,以实现集群的高可用。比如集群中的一个机器挂掉了,没有zookeeper的话就得考虑挂一个机器对剩下集群工作的影响,而有了zookeeper,它就能自动帮你协调这些事儿。
正规的解释如下:
zookeeper是 一个开源的针对大型分布式系统的可靠协调系统。
设计目标是:将复杂且容易出错的分布式式一致性服务封装起来,构成一个高效可靠的原语集,
并以简单易用的接口提供给用户使用。
提供的功能包括:发布/订阅,分布式协调/通知,配置管理,集群管理,主从协调,分布式锁等。
安装与配置:
这里用三台CentOS 6.9 mini虚拟机演示,主机名分别是h1、h2、h3,ip分别是192.168.227.11、192.168.227.22、192.168.227.33。
三台虚拟机都已创建了Hadoop用户,配了免密码登录。
软件安装路径是/home/hadoop/apps/。
1. 下载解压安装包
解压后,/home/hadoop/apps/zookeeper-3.4.10/下面的文件
2. 创建软连接
这一步要用root用户操作,先切换到root用户
语法:ln -s 源路径 软连接路径
ln -s /home/hadoop/apps/zookeeper-3.4.10 /usr/local/zookeeper
修改zookeeper软链接属主为hadoop:
chown -R hadoop:hadoop /usr/local/zookeeper
3. 修改环境变量
用root用户操作
vim /etc/profile
添加以下内容:
export JAVA_HOME=/usr/local/jdk
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:${ZOOKEEPER_HOME}/bin:${JAVA_HOME}/bin
添加并保存后,重新编译环境变量:
source /etc/profile
(没有jdk的先下载jdk)
4. 修改配置文件
zookeeper/conf是保存配置文件的文件夹
修改里面的zoo.cfg文件
vi /conf/zoo.cfg
添加以下内容:
dataDir=/usr/local/zookeeper/data #快照文件存储目录
dataLogDir=/usr/local/zookeeper/log #事务日志文件目录
#(主机名, 心跳端口、数据端口)
server.1=h1:2888:3888
server.2=h2:2888:3888
server.3=h3:2888:3888
5. 创建运行需要的目录
在zookeeper目录下创建配置文件里写的目录
mkdir /usr/local/zookeeper/data
mkdir /usr/local/zookeeper/log
在data文件夹下新建myid文件,myid的文件内容为该节点的编号
cd data
touch myid
echo 1 >myid
6. 配置其余两个机器
用scp命令将整个zookeeper文件夹复制到其余两个机器上
scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop@h2:/home/hadoop/apps
scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop@h3:/home/hadoop/apps
然后按步骤2和步骤3分别对这两个机器创建软连接和修改环境变量。
将h2和h3机器里/hadoop/data/myid 中的数分别改成2和3。
至此就配置完了!
检查一下各个主机的运行
h1、h2、h3 依次执行zkServer.sh start
jps查看进程:
三个都开启后,执行zkServer.sh status查看zookeeper状态:
h1
h2
h3
可以看到zookeeper能够正常运行了。
数据存储:
zookeeper以Znode形式存储数据
类似于linux,但Znode可以存放数据
Znode类型:
持久节点、临时节点、顺序节点
组合:持久节点、持久顺序节点
临时节点、临时顺序节点
客户端创建临时节点后,当客户端与服务端断开连接后,临时节点将被删除,临时节点下不允许有子节点
监听机制使用:
即发布订阅功能
客户端注册一个监听时间,当zookeeper上被监听的时间发生变化时,会第一时间通知订阅者
客户端操作:
zkCli.sh 命令进入客户端
create [选项] 路径 值 #创建节点并赋值,不能不赋值
-s 顺序型 -e 临时型
set 路径 值 #改变节点的值
get 路径 #获取节点的值
get 路径 watch #监听节点数据内容变化,只监听一次
ls 路径 watch #监听节点目录变化,只监听一次
delete 路径 #删除一个节点,节点下不能有子节点
rmr 路径 #删除有子节点的目录
cons #输出所有客户端的连接信息
在 CentOS7 上安装 Zookeeper-3.4.9 服务 https://www.linuxidc.com/Linux/2016-09/135052.htm
ZooKeeper官方文档翻译——ZooKeeper Overview 3.4.6 https://www.linuxidc.com/Linux/2016-12/138025.htm
CentOS下ZooKeeper 3.4.8 集群环境搭建 https://www.linuxidc.com/Linux/2016-12/137958.htm
CentOS 7下Zookeeper集群安装 https://www.linuxidc.com/Linux/2017-01/139733.htm
分布式服务Dubbo+Zookeeper安全认证 https://www.linuxidc.com/Linux/2017-12/149605.htm
Linux下安装Zookeeper集群 https://www.linuxidc.com/Linux/2017-01/139545.htm
Linux下Zookeeper集群的安装 https://www.linuxidc.com/Linux/2017-03/141400.htm
CentOS 6.5下ZooKeeper3.4.6集群环境部署及单机部署详解 https://www.linuxidc.com/Linux/2018-03/151439.htm
Linux公社的RSS地址: https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-08/153596.htm
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Elasticsearch 集群搭建和集群原理
- Zookeeper学习系列【二】Zookeeper 集群章节之集群搭建
- Spark集群环境搭建
- Zookeeper搭建集群
- FastDFS集群搭建
- 搭建Selenium 集群
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构与算法分析
[美]Mark Allen Weiss / 张怀勇 / 人民邮电出版社 / 2007年 / 49.00元
《数据结构与算法分析:C++描述(第3版)》是数据结构和算法分析的经典教材,书中使用主流的程序设计语言C++作为具体的实现语言。书的内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。《数据结构与算法分析:C++描述(第3版)》适合作为计算机相关专业本科生的数据结构课程和研究生算法分析课程的教材。本科生的数据结构课......一起来看看 《数据结构与算法分析》 这本书的介绍吧!