摘要:主要是对zookeeper的安装、zookeeper集群中各个角色进行查看、集群日志查看、zookeeper的简单命令的操作,作一个初步与感性的操练。
前置
有一个网络良好局域网环境,可采用虚拟机生成一个,可参考[1]:大数据学习前夕[01]:系统-网络-SSH来构建一个。
下载-安装
可选择手工下载,然后上传到服务器:
http://download.csdn.net/download/ld326/9981247
或
[hadoop@hadoop01 ~]$wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
[hadoop@hadoop01 ~]$ tar zxvf zookeeper-3.4.9.tar.gz
配置
[hadoop@hadoop01 conf]$ cd ~/zookeeper-3.4.9/conf/
[hadoop@hadoop01 conf]$ cp zoo_sample.cfg zoo.cfg
zoo.cfg中配置的内容
配置日志
[hadoop@hadoop01 bin]$ vim zkEnv.sh
[hadoop@hadoop01 conf]$ vim log4j.properties
创建文件夹
创建上面配置的文件夹,把zookeeper文件复制到各个集群上
[hadoop@hadoop01 zookeeper-3.4.9]$ mkdir zkdata
[hadoop@hadoop01 zookeeper-3.4.9]$ mkdir logs
[hadoop@hadoop01 ~]$ scp -r zookeeper-3.4.9 hadoop@hadoop02:~/
[hadoop@hadoop01 ~]$ scp -r zookeeper-3.4.9 hadoop@hadoop03:~/
配置ID
[hadoop@hadoop01 ~]$ touch zookeeper-3.4.9/zkdata/myid
[hadoop@hadoop01 ~]$ echo 1 > zookeeper-3.4.9/zkdata/myid
[hadoop@hadoop01 ~]$ ssh hadoop02
[hadoop@hadoop02 ~]$ touch zookeeper-3.4.9/zkdata/myid
[hadoop@hadoop02 ~]$ echo 2 > zookeeper-3.4.9/zkdata/myid
[hadoop@hadoop02 ~]$ ssh hadoop03
[hadoop@hadoop03 ~]$ touch zookeeper-3.4.9/zkdata/myid
[hadoop@hadoop03 ~]$ echo 3 > zookeeper-3.4.9/zkdata/myid
启动
[hadoop@hadoop01 ~]$ zookeeper-3.4.9/bin/zkServer.sh start
[hadoop@hadoop02 ~]$ zookeeper-3.4.9/bin/zkServer.sh start
[hadoop@hadoop03 ~]$ zookeeper-3.4.9/bin/zkServer.sh star
查看启动日志
查看三台服务器日志记录【启动顺序hadoop01->hadoop02->hadoop03】:
启动hadoop01机器时,发现两个节点无效的通信,由于这两个机器还未有启动,这个报错可以忽略。
第二台机器只报一个错误了;
第三台机器不会报错了。
注:这种异常可以忽略,当全部启动后这些异常就不会发生了。
查看各机器的角色
[hadoop@hadoop01 ~]$ zookeeper-3.4.9/bin/zkServer.sh status
[hadoop@hadoop02 ~]$ zookeeper-3.4.9/bin/zkServer.sh status
[hadoop@hadoop03 ~]$ zookeeper-3.4.9/bin/zkServer.sh status
第一台机器(leader)
第二台机器(follower)
第三台机器(follower)
总的来说,这个集群中一个leader两个follower.
简单命令操作
使用zookeeper客户端
当前根路径为/zookeeper
[2]【对于客户端来说,ZooKeeper是一个整体(ensemble),连接到ZooKeeper集群实际上感觉在独享整个集群的服务,所以,你可以在任何一个结点上建立到服务集群的连接】
来自官网的一个简单操作zookeeper命令
对上面的命令解释[3]
(1) create a new znode by running create /zk_test my_data. This creates a new znode and associates the string “my_data” with the node.
(2)Issue another ls / command to see what happen,Notice that the zk_test directory has now been created.
(3) verify that the data was associated with the znode by running the get command.
(4) change the data associated with zk_test by issuing the set command;
(5) delete the node by issuing
参考:
[1] 大数据学习前夕[01]:系统-网络-SSH
[2] ZooKeeper-3.3.4集群安装配置
[3] ZooKeeper Getting Started Guide
[4] Zookeeper-Zookeeper的配置
【作者:happyprince】