ZooKeeper 分布式环境部署
ZooKeeper 安装部署
ZooKeeper 安装部署分为三种模式,请各位根据自己的实际情况选择不同的模式,下面分别介绍这三种模式。
单节点模式
1、首先到官方网站下载ZooKeeper安装包。 我这选择zookeeper-3.4.6版本。
2、对zookeeper-3.4.6安装包解压。
[root@cloud001 java]# tar xzf zookeeper-3.4.6.tar.gz //解压缩
[root@cloud001 java]# mv zookeeper-3.4.6 zookeeper //重命名ZooKeeper
[root@cloud001 java]# rm zookeeper-3.4.6.tar.gz //删除安装包
[root@cloud001 java]# chown -R hadoop:hadoop zookeeper //ZooKeeper文件权限赋予给hadoop用户
3、在ZooKeeper安装目录的conf目录下,创建一个配置文件zoo.cfg。
[hadoop@cloud001 conf]$ cp zoo_sample.cfg zoo.cfg
[hadoop@cloud001 conf]$ vi zoo.cfg
在zoo.cfg文件中,添加如下配置信息。
tickTime=2000
dataDir=/usr/java/zookeeper/data //data目录需要预先创建
dataLogDir=/usr/java/zookeeper/dataLog //datalog目录需要预先创建
clientPort=2181 //端口号
4、启动/关闭ZooKeeper Server,具体操作命令如下所示。
[hadoop@cloud001 zookeeper]$ bin/zkServer.sh start //启动ZooKeeper服务
[hadoop@cloud001 zookeeper]$ bin/zkServer.sh stop //关闭ZooKeeper服务
伪分布式模式
1、在一个节点上面创建3个文件夹,这3个文件夹分别为:Server1、Server2和Server3,然后在每个文件夹中解压ZooKeeper的安装包。
Server1/zookeeper
Server2/zookeeper
Server3/zookeeper
2、分别在Server1、Server2和Server3文件中,进入里面的data目录,创建myid文件,里面的内容分别输入1、2、3等数字,里面的数字内容用来标识当前主机。
Server1/zookeeper/data/myid //myid的内容输入1
Server2/zookeeper/data/myid //myid的内容输入2
Server3/zookeeper/data/myid //myid的内容输入3
3、分别在Server1、Server2和Server3的conf目录下,创建一个配置文件zoo.cfg。
[hadoop@cloud001 conf]$ cp zoo_sample.cfg zoo.cfg
[hadoop@cloud001 conf]$ vi zoo.cfg
在zoo.cfg文件中,添加如下配置信息。
tickTime=2000
dataDir=/usr/java/zookeeper/data
dataLogDir=/usr/java/zookeeper/datalog
clientPort=2181
initLimit=5
syncLimit=2
server.1=server1:2888:3888 //server.1 这里的1代表data目录下创建文件的内容1
server.2=server2:2889:3889 //2888~2890 代表提供为Client的端口号,因为在同一台机器上端口号需要区别开
server.3=server3:2890:3890 //3888~3890 代表不同服务直接访问的端口号,因为在同一台机器上端口号需要区别开
4、启动/关闭ZooKeeper Server,具体操作命令如下所示:
[hadoop@cloud001 zookeeper]$ bin/zkServer.sh start //启动ZooKeeper服务
[hadoop@cloud001 zookeeper]$ bin/zkServer.sh stop //关闭ZooKeeper服务
分布式模式
1、下载解压zookeeper,解压到指定目录 /usr/java/hadoop/app/。
[root@cloud001 app]# tar xzf zookeeper-3.4.6.tar.gz //解压缩
[root@cloud001 app]# mv zookeeper-3.4.6 zookeeper //重命名ZooKeeper
[root@cloud001 app]# rm zookeeper-3.4.6.tar.gz //删除安装包
[root@cloud001 app]# chown -R hadoop:hadoop zookeeper //ZooKeeper文件权限赋予给hadoop用户
在hadoop 目录中创建 app 目录。 把文件解压到hadoop 的 app 目录中,是为了以后整个项目可以整体移植。比如 HBase 、 Hive 等软件,都是解压到 app 的目录中。
2、修改配置文件
进入 zookeeper 中 conf 目录,拷贝命名 zoo_sample.cfg 为 zoo.cfg 。我们一般不修改配置文件默认的示例文件,修改赋值其子文件。
[hadoop@cloud001 conf]$ cp zoo_sample.cfg zoo.cfg
[hadoop@cloud001 conf]$ vi zoo.cfg
编辑 zoo.cfg配置文件:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/java/hadoop/app/zookeeper/zkdata //数据目录需提前创建
dataLogDir=/usr/java/hadoop/app/zookeeper/zkdatalog //日志目录需提前创建
clientPort=2181 //端口号
server.1=cloud001:2888:3888
server.2=cloud002:2888:3888
server.3=cloud003:2888:3888
server.4=cloud004:2888:3888
server.5=cloud005:2888:3888
3、创建 zkdata 和 zkdatalog 两个文件夹。
在 zookeeper 的目录中,创建上述两个文件夹。进入 zkdata 文件夹,创建文件 myid ,填入 1 。这里写入的 1 ,是在 zoo.cfg 文本中的 server.1 中的 1 。当我们把所有文件都配置完毕,我们把 cloud001 中 java 目录复制到其它机器中,我们在修改每台机器中对应的 myid 文本, cloud002 中的 myid 写入 2 。其余节点,安照上面配置,依此写入相应的数字。 Zkdatalog 文件夹,是为了指定 zookeeper 产生日志指定相应的路径。
4、添加环境变量
每个节点本机环境变量是在 /etc/profile 目录中添加的。
然后执行source命令使配置文件生效:
[hadoop@cloud001 conf]$ source /etc/profile
5、在每台集群上启动ZooKeeper Server,具体操作命令如下所示:
[hadoop@cloud001 zookeeper]$ bin/zkServer.sh start //启动ZooKeeper服务
zookeeper启动之后,输入“jps”命令查看进程如下:
1649 QuorumPeerMain
11152 Jps
6、通过 status 参数查看每个节点的状态:
[hadoop@cloud001 zookeeper]$ bin/zkServer.sh status
大部分节点的状态为:follower
JMX enabled by default
Using config: /usr/java/hadoop/app/zookeeper/bin/../conf/zoo.cfg
Mode: follower
有唯一一个节点的状态为:leader
JMX enabled by default
Using config: /usr/java/hadoop/app/zookeeper/bin/../conf/zoo.cfg
Mode: leader
至此ZooKeeper的配置完成。
- 点赞
- 收藏
- 关注作者
评论(0)