1.vm安装(略)
环境hadoop 2.7.2 192.168.1.150 namenode 192.168.1.151,192.168.1.152 datanode
2.软件安装
下载 zookeeper 3.3.4 版本 http://archive.apache.org/dist/zookeeper/zookeeper-3.3.4/
Standalone 模式
下载后直接解压
将zookeeper-3.3.4/conf目录下面的 zoo_sample.cfg修改为zoo.cfg
[root@namenode conf]# mv zoo.sample.cfg zoo.cfg
[root@namenode conf]# vi zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/root/zookeeper
# the port at which the clients will connect
clientPort=2181
~
wq!
[root@namenode zookeeper-3.3.4]# bin/zkServer.sh start
JMX enabled by default
Using config: /root/zookeeper/zookeeper-3.3.4/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@namenode zookeeper-3.3.4]# jps
7873 AzkabanWebServer
13217 Jps
8740 ResourceManager
13189 QuorumPeerMain
8201 NameNode
6479 AzkabanWebServer
5232 AzkabanWebServer
5521 AzkabanWebServer
5362 AzkabanExecutorServer
7922 AzkabanWebServer
9522 AzkabanExecutorServer
8469 SecondaryNameNode
5754 AzkabanWebServer
6782 AzkabanWebServer
本机登陆验证
[root@namenode zookeeper-3.3.4]# bin/zkCli.sh
Connecting to localhost:2181
2016-12-23 00:16:00,114 - INFO [main:Environment@97] - Client environment:zookeeper.version=3.3.3-1203054, built on 11/17/2011 05:47 GMT
2016-12-23 00:16:00,283 - INFO [main:Environment@97] - Client environment:host.name=namenode
2016-12-23 00:16:00,284 - INFO [main:Environment@97] - Client environment:java.version=1.8.0_77
2016-12-23 00:16:00,286 - INFO [main:Environment@97] - Client environment:java.vendor=Oracle Corporation
2016-12-23 00:16:00,287 - INFO [main:Environment@97] - Client environment:java.home=/root/java/jdk1.8.0_77/jre
2016-12-23 00:16:00,289 - INFO [main:Environment@97] - Client environment:java.class.path=/root/zookeeper/zookeeper-3.3.4/bin/../build/classes:/root/zookeeper/zookeeper-3.3.4/bin/../build/lib/*.jar:/root/zookeeper/zookeeper-3.3.4/bin/../zookeeper-3.3.4.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/log4j-1.2.15.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/jline-0.9.94.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/commons-lang-2.4.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/commons-collections-3.2.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/commons-cli-1.1.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/apache-rat-tasks-0.6.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/apache-rat-core-0.6.jar:/root/zookeeper/zookeeper-3.3.4/bin/../src/java/lib/*.jar:/root/zookeeper/zookeeper-3.3.4/bin/../conf:.:/root/java/jdk1.8.0_77/lib/dt.jar:/root/java/jdk1.8.0_77/lib/tools.jar
2016-12-23 00:16:00,292 - INFO [main:Environment@97] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2016-12-23 00:16:00,296 - INFO [main:Environment@97] - Client environment:java.io.tmpdir=/tmp
2016-12-23 00:16:00,299 - INFO [main:Environment@97] - Client environment:java.compiler=<NA>
2016-12-23 00:16:00,300 - INFO [main:Environment@97] - Client environment:os.name=Linux
2016-12-23 00:16:00,301 - INFO [main:Environment@97] - Client environment:os.arch=amd64
2016-12-23 00:16:00,323 - INFO [main:Environment@97] - Client environment:os.version=3.10.0-327.el7.x86_64
2016-12-23 00:16:00,324 - INFO [main:Environment@97] - Client environment:user.name=root
2016-12-23 00:16:00,325 - INFO [main:Environment@97] - Client environment:user.home=/root
2016-12-23 00:16:00,326 - INFO [main:Environment@97] - Client environment:user.dir=/root/zookeeper/zookeeper-3.3.4
2016-12-23 00:16:00,389 - INFO [main:ZooKeeper@379] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@439f5b3d
2016-12-23 00:16:00,714 - INFO [main-SendThread():ClientCnxn$SendThread@1061] - Opening socket connection to server localhost/127.0.0.1:2181
Welcome to ZooKeeper!
JLine support is enabled
2016-12-23 00:16:01,822 - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@950] - Socket connection established to localhost/127.0.0.1:2181, initiating session
[zk: localhost:2181(CONNECTING) 0] 2016-12-23 00:16:02,485 - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@739] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x1592750b7630000, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
help
ZooKeeper -server host:port cmd args
stat path [watch]
set path data [version]
ls path [watch]
delquota [-n|-b] path
ls2 path [watch]
setAcl path acl
setquota -n|-b val path
history
redo cmdno
printwatches on|off
delete path [version]
sync path
listquota path
get path [watch]
create [-s] [-e] path data acl
addauth scheme auth
quit
getAcl path
close
connect host:port
[zk: localhost:2181(CONNECTED) 1]
客户端验证:
[root@datanode1 zookeeper-3.3.4]# bin/zkCli.sh -server namenode:2181
Connecting to namenode:2181
2016-12-23 00:23:21,788 - INFO [main:Environment@97] - Client environment:zookeeper.version=3.3.3-1203054, built on 11/17/2011 05:47 GMT
2016-12-23 00:23:21,800 - INFO [main:Environment@97] - Client environment:host.name=datanode1
2016-12-23 00:23:21,801 - INFO [main:Environment@97] - Client environment:java.version=1.8.0_77
2016-12-23 00:23:21,801 - INFO [main:Environment@97] - Client environment:java.vendor=Oracle Corporation
2016-12-23 00:23:21,802 - INFO [main:Environment@97] - Client environment:java.home=/root/java/jdk1.8.0_77/jre
2016-12-23 00:23:21,803 - INFO [main:Environment@97] - Client environment:java.class.path=/root/zookeeper/zookeeper-3.3.4/bin/../build/classes:/root/zookeeper/zookeeper-3.3.4/bin/../build/lib/*.jar:/root/zookeeper/zookeeper-3.3.4/bin/../zookeeper-3.3.4.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/log4j-1.2.15.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/jline-0.9.94.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/commons-lang-2.4.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/commons-collections-3.2.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/commons-cli-1.1.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/apache-rat-tasks-0.6.jar:/root/zookeeper/zookeeper-3.3.4/bin/../lib/apache-rat-core-0.6.jar:/root/zookeeper/zookeeper-3.3.4/bin/../src/java/lib/*.jar:/root/zookeeper/zookeeper-3.3.4/bin/../conf:.:/root/java/jdk1.8.0_77/lib/dt.jar:/root/java/jdk1.8.0_77/lib/tools.jar
2016-12-23 00:23:21,804 - INFO [main:Environment@97] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2016-12-23 00:23:21,805 - INFO [main:Environment@97] - Client environment:java.io.tmpdir=/tmp
2016-12-23 00:23:21,806 - INFO [main:Environment@97] - Client environment:java.compiler=<NA>
2016-12-23 00:23:21,807 - INFO [main:Environment@97] - Client environment:os.name=Linux
2016-12-23 00:23:21,811 - INFO [main:Environment@97] - Client environment:os.arch=amd64
2016-12-23 00:23:21,812 - INFO [main:Environment@97] - Client environment:os.version=3.10.0-327.el7.x86_64
2016-12-23 00:23:21,813 - INFO [main:Environment@97] - Client environment:user.name=root
2016-12-23 00:23:21,813 - INFO [main:Environment@97] - Client environment:user.home=/root
2016-12-23 00:23:21,814 - INFO [main:Environment@97] - Client environment:user.dir=/root/zookeeper/zookeeper-3.3.4
2016-12-23 00:23:21,820 - INFO [main:ZooKeeper@379] - Initiating client connection, connectString=namenode:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@439f5b3d
2016-12-23 00:23:21,940 - INFO [main-SendThread():ClientCnxn$SendThread@1061] - Opening socket connection to server namenode/192.168.1.150:2181
Welcome to ZooKeeper!
JLine support is enabled
2016-12-23 00:23:22,600 - INFO [main-SendThread(namenode:2181):ClientCnxn$SendThread@950] - Socket connection established to namenode/192.168.1.150:2181, initiating session
2016-12-23 00:23:22,663 - INFO [main-SendThread(namenode:2181):ClientCnxn$SendThread@739] - Session establishment complete on server namenode/192.168.1.150:2181, sessionid = 0x1592750b7630001, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: namenode:2181(CONNECTED) 0] help
Distributed模式
第一步:主机名称到IP地址映射配置 此步骤在hadoop环境已经配置完成
第二步 : 修改ZooKeeper配置文件
[root@namenode conf]# vi zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/root/zookeeper
# the port at which the clients will connect
clientPort=2181
server.1=namenode:2888:3888
server.2=datanode1:2888:3888
server.3=datanode2:2888:3888
wq!~
第三步:远程复制分发安装文件
[root@namenode zookeeper]# scp -r zookeeper-3.3.4/ root@192.168.1.151:/root/zookeeper/
[root@namenode zookeeper]# scp -r zookeeper-3.3.4/ root@192.168.1.152:/root/zookeeper/
第四步:设置myid
在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字,例如
直接vi 编写对应数字
第五步:启动ZooKeeper集群
[root@namenode zookeeper-3.3.4]# bin/zkServer.sh start
[root@datanode1 zookeeper-3.3.4]# bin/zkServer.sh start
[root@datanode2 zookeeper-3.3.4]# bin/zkServer.sh start
客户端验证
[root@datanode2 zookeeper-3.3.4]# bin/zkCli.sh -server namenode:2181