Zookeeper的安装和配置十分简单, 既可以配置成单机模式, 也可以配置成集群模式. 下面将进行介绍集群模式的安装配置 由于集群模式下, 各server部署在不同的机器上, 因此各server的conf/zoo.cfg文件可以完全一样.
zookeeper-3.5.0-alpha.tar.gz
一、安装需求 安装java 1.6及hadoop 0.20.x
二、安装zookeeper 1、下载zookeeper zookeeper-3.5.0-alpha.tar.gz 其他版本下载地址(最好使用stable版本):http://zookeeper.apache.org/releases.html 2、解压 tar -zxvfzookeeper-3.5.0-alpha.tar.gz 将解压后的zookeeper-3.4.3文件放在系统的/home/hdtest /中。 [iyunv@master soft]# cp zookeeper-3.5.0-alpha/home/hdtest/zoo2/ 修改zoo2目录的所属用户组和权限 [iyunv@master hdtest]# chown hdtest.hdtest zoo2/ -R 3、将zoo2/conf目录下的zoo_sample.cfg文件拷贝一份,命名为为“zoo.cfg” 切换到hdtest用户进入conf配置目录中 [hdtest@master conf]$ pwd /home/hdtest/zoo2/conf [hdtest@master conf]$ cp zoo_sample.cfg zoo.cfg 4、修改zoo.cfg配置文件 [hdtest@master conf]$ vi zoo.cfg clientPort=2188 dataDir=/home/hdtest/zoo2/zookeeper-data syncLimit=5 initLimit=10 tickTime=2000 server.1=192.168.200.2:2888:3888 server.2=192.168.200.3:2888:3888 server.3=192.168.200.4:2888:3888 5、创建dataDir参数指定的目录 (这里指的是“ /home/hdtest/zoo2/zookeeper-data”),并在目录下创建文件,命名为“myid”。 6、编辑“myid”文件,并在对应的IP的机器上输入对应的编号。如在192.168.200.2上,“myid”文件内容就是1。还有其他服务器,比如地址为192.168.200.3,则在 myid文件的内容就是2。 [hdtest@master zookeeper-data]$ cat myid 1 [hdtest@slave1 zookeeper-data]$ cat myid 2 至此,如果是多服务器配置,就需要将zoo2目录拷贝到其他服务器,然后按照上述的方法修改myid。 7、在主节点上使用hdtest用户编辑配置文件文件中设置PATH 修改profile文件: [hdtest@master ~]$ cat .bash_profile export ZOOKEEPER_HOME=/home/hdtest/zoo2/ export PATH=$PATH:$HADOOP_HOME/bin/:$ZOOKEEPER_HOME/bin 保存退出后 [hdtest@master ~]$ source .bash_profile 安装完毕 三、启动并测试zookeeper 1、在所有服务器中执行: zkServer.sh start 2、输入jps命令查看进程: [hdtest@master ~]$ jps 16404 QuorumPeerMain 14932 JournalNode 15013 NameNode 15345 ResourceManager 2378 Jps 其中,QuorumPeerMain是zookeeper进程,启动正常。 3、查看状态:zookeeper-3.4.3/bin/zkServer.sh status [hdtest@master ~]$ zkServer.sh status JMX enabled by default Using config: /home/hdtest/zoo2/bin/../conf/zoo.cfg Client port found: 2188 Mode: follower 4、启动客户端脚本: [hdtest@master ~]$ zkCli.sh -server master:2188 WatchedEvent state:SyncConnected type:None path:null [zk: zookeeper:2181(CONNECTED) 0] [zk: zookeeper:2181(CONNECTED) 0] help ZooKeeper -server host:port cmd args connect host:port get path [watch] ls path [watch] set path data [version] rmr path delquota [-n|-b] path quit printwatches on|off create [-s] [-e] path dataacl stat path [watch] close ls2 path [watch] history listquota path setAcl path acl getAcl path sync path [zk: master:2188(CONNECTING) 0] WATCHER:: WatchedEvent state:SyncConnected type:None path:null [zk: master:2188(CONNECTED) 0] ls / [zookeeper] [zk: master:2188(CONNECTED) 1] ls /zookeeper [config, quota] [zk: master:2188(CONNECTED) 2] 5、停止zookeeper进程: zkServer.sh stop
|