Zookeep分布式集群搭建

网友投稿 267 2022-11-24

Zookeep分布式集群搭建

Zookeeper不仅可以单机提供服务,同时也支持多机组成集群来提供服务,实际上Zookeeper还支持另外一种伪集群的方式,也就是可以在一台物理机上运行多个Zookeeper实例。 Zookeeper通过复制来实现高可用性,只要集合体中半数以上的机器处于可用状态,它就能够保证服务继续。 集群容灾性:3台机器只要有2台可用就可以选出leader并且对外提供服务(2n+1台机器,可以容n台机器挂掉)。 这里我使用hadoop1,hadoop2,hadoop3为例,搭建步骤。 安装之前请先关闭防火墙!!! 1、官网下载zookeeper安装包 zookeeper-3.4.5.tar.gz 2、解压缩、重命名、设置环境变量 [root@hadoop1 install]# tar -zxvf zookeeper-3.4.5.tar.gz [root@hadoop1 install]# mv zookeeper-3.4.5 zookeeper vim /etc/profile export ZOOKEEPER_HOME=/install/zookeeper export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH source /etc/profile 3、在conf目录下,修改文件 mv zoo_sample.cfg zoo.cfg 4、编辑该文件,执行vi zoo.cfg 修改 #zk的的快照日志存放目录 dataDir=/install/zookeeper/data #zk的事务日志的存放目录,如果不配置dataLogDir, #那么zk的事务日志和快照日志都将存储在dataDir中,这样将严重影响zk的性能 dataLogDir=/install/zookeeper/dataLog 新增 server.0=hadoop1:2888:3888 server.1=hadoop2:2888:3888 server.2=hadoop3:2888:3888 2888表示zookeeper程序监听端口,3888表示zookeeper选举通信端口。 5、创建文件夹mkdir /install/zookeeper/data和/install/zookeeper/dataLog 6、在data目录下,创建文件myid,值为0 [root@hadoop1 data]# vim myid [root@hadoop1 data]# more myid 0 7、把zookeeper目录复制到hadoop2和hadoop3中 cd /install scp -r zookeeper/ hadoop2:/install/ scp -r zookeeper/ hadoop3:/install/ 复制环境变量 scp /etc/profile hadoop2:/etc/ scp /etc/profile hadoop3:/etc/ 使环境变量生效 ssh hadoop2 source /etc/profile ssh hadoop3 source /etc/profile 把hadoop2,hadoop3中相应的myid的值分别改为1,2 [root@hadoop2 data]# vi myid [root@hadoop2 data]# more myid 1 hadoop3同上 8、启动,在三个节点上分别执行命令 [root@hadoop1 install]# zkServer.sh start JMX enabled by default Using config: /install/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED 9、检验,在三个节点上分别执行命令 [root@hadoop1 install]# zkServer.sh status JMX enabled by default Using config: /install/zookeeper/bin/../conf/zoo.cfg Mode: follower 能够看到是leader,还是follower。 停止 [root@hadoop1 install]# zkServer.sh stop 10、命令行操作 进入命名行:执行zkCli.sh 如果配置文件中更改了端口号2181,则需要指定端口zkCli.sh -server IP:port。 zkCli.sh -server ubuntu:21818 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 data acl stat path [watch] close ls2 path [watch] history listquota path setAcl path acl getAcl path sync path redo cmdno addauth scheme auth delete path [version] setquota -n|-b val path 查看目录 [zk: localhost:2181(CONNECTED) 6] ls /zookeeper 创建目录 [zk: localhost:2181(CONNECTED) 10] create /liguodong hadoop Created /liguodong 查看内容 [zk: localhost:2181(CONNECTED) 13] get /liguodong hadoop cZxid = 0x100000002 ctime = Tue Mar 31 01:37:29 PDT 2015 mZxid = 0x100000002 mtime = Tue Mar 31 01:37:29 PDT 2015 pZxid = 0x100000002 cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 6 numChildren = 0 修改内容 [zk: localhost:2181(CONNECTED) 2] set /liguodong chinese cZxid = 0x100000002 ctime = Tue Mar 31 01:37:29 PDT 2015 mZxid = 0x100000004 mtime = Tue Mar 31 01:41:55 PDT 2015 pZxid = 0x100000002 cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 7 numChildren = 0

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java 网络编程总结
下一篇:HDFS学习笔记
相关文章

 发表评论

暂时没有评论,来抢沙发吧~