您的位置:首页 > 其它

zookeeper简介与安装过程

2015-10-01 19:26 363 查看
zookeeper是一个为分布式应用所设计的开源协调服务。设计目的是为了减轻分布式应用程序所承担的协调服务。

zookeeper的设计目标:(1)简单化。(2)健壮性。(3)有序性。(4)速度优势。

zookeeper安装:

(1)准备环境 安装好jdk 搭建好集群环境

(2)官网下载zookeeper安装包 http://zookeeper.apache.org/
(3)在集群中的一台电脑上进行操作,进入安装目录,本人这边安装在 /app 下 cd /app

解压安装包 tar zxf zookeeper-3.4.6.tar.gz

(4)修改配置文件 在/app/zookeeper-3.4.6/conf 目录下有cgf的模板,将zoo_sample.cfg拷贝一份命名为zoo.cfg,也放在conf目录下。在文本的最后加上几个值

server.1=hadoop1:2888:3888

server.2=hadoop2:2888:3888

server.3=hadoop3:2888:3888

server.4=hadoop4:2888:3888

server.5=hadoop5:2888:3888

server.6=hadoop6:2888:3888

集群有几台电脑即添加几行,只需修改ip映射地址即可。即将hadoop1,hadoop2.。。等替换成自己电脑的ip地址或者映射地址。

还需要修改的地方就是dataDir的值,配置文件中默认为dataDir=/tmp/zookeeper/ 修改完之后在相应的地方创建相应的文件夹 mkdir指令

如本人设置dataDir=/app/zookeeper-3.4.6/tmp/zookeeper 即需要创建tmp文件夹和tmp下的zookeeper文件夹。

(5)在dataDir目录下新建文本,命名为myid,文本内容为数字,其数字值与配置文件zoo.cgf中server冒号后的值相同。

(6)单台机子操作完成,将文件夹传到其他台电脑的相应位置,例如 scp -r /app/zookeeper-3.4.6/ hadoop@hadoop2:/app/

之后采用ssh无密码登录其他集群的机子,或者其他方法,修改之前dataDir目录下myid里文本的值,修改成相应的数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就修改成这个数字。

以上安装过程完成,可以开始启动集群。

在每台机子上执行启动ZooKeeper服务的脚本 bin/zkServer.sh start 如果没有设置环境变量或者没有进入安装目录,代码前还需要加入zookeeper的完整路径

执行后,结果如下

[hadoop@hadoop2 ~]$ /app/zookeeper-3.4.6/bin/zkServer.sh start

JMX enabled by default

Using config: /app/zookeeper-3.4.6/bin/../conf/zoo.cfg

Starting zookeeper ... STARTED

该台节点启动成功,陆续执行所有的节点。

全部执行之后,即可查看每台zookeeper的状态 指令为 bin/zkServer.sh status

[hadoop@hadoop2 ~]$ /app/zookeeper-3.4.6/bin/zkServer.sh status

JMX enabled by default

Using config: /app/zookeeper-3.4.6/bin/../conf/zoo.cfg

Mode: follower

此时则会看到该台计算机节点是follower还是leader。

至此,安装成功。

同时可以通过客户端节点登录zookeeper集群,指令为 /app/zookeeper-3.4.6/bin/zkCli.sh hadoop3:2181

[hadoop@hadoop2 ~]$ /app/zookeeper-3.4.6/bin/zkCli.sh hadoop3:2181

Connecting to localhost:2181

2015-09-21 10:22:31,133 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT

2015-09-21 10:22:31,136 [myid:] - INFO [main:Environment@100] - Client environment:host.name=hadoop2

2015-09-21 10:22:31,136 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.7.0_21

2015-09-21 10:22:31,137 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation

2015-09-21 10:22:31,137 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/app/software/jdk1.7.0_21/jre

2015-09-21 10:22:31,137 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/app/zookeeper-3.4.6/bin/../build/classes:/app/zookeeper-3.4.6/bin/../build/lib/*.jar:/app/zookeeper-3.4.6/bin/../lib/slf4j-log4j12-1.6.1.jar:/app/zookeeper-3.4.6/bin/../lib/slf4j-api-1.6.1.jar:/app/zookeeper-3.4.6/bin/../lib/netty-3.7.0.Final.jar:/app/zookeeper-3.4.6/bin/../lib/log4j-1.2.16.jar:/app/zookeeper-3.4.6/bin/../lib/jline-0.9.94.jar:/app/zookeeper-3.4.6/bin/../zookeeper-3.4.6.jar:/app/zookeeper-3.4.6/bin/../src/java/lib/*.jar:/app/zookeeper-3.4.6/bin/../conf:.:/app/software/jdk1.7.0_21/lib:/app/software/jdk1.7.0_21/lib/tools.jar

2015-09-21 10:22:31,138 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/i386:/lib:/usr/lib

2015-09-21 10:22:31,138 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp

2015-09-21 10:22:31,138 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA>

2015-09-21 10:22:31,138 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux

2015-09-21 10:22:31,138 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=i386

2015-09-21 10:22:31,138 [myid:] - INFO [main:Environment@100] - Client environment:os.version=2.6.32-358.el6.i686

2015-09-21 10:22:31,138 [myid:] - INFO [main:Environment@100] - Client environment:user.name=hadoop

2015-09-21 10:22:31,138 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/home/hadoop

2015-09-21 10:22:31,138 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/home/hadoop

2015-09-21 10:22:31,139 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@1392356
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: