设为首页 收藏本站
查看: 824|回复: 0

[经验分享] 在CentOS上安装ZooKeeper集群

[复制链接]

尚未签到

发表于 2015-11-22 07:29:35 | 显示全部楼层 |阅读模式
创建用户



一般我倾向于把需要启动daemon进程,对外提供服务的程序,即服务器类的程序,安装在单独的用户下面。这样可以做到隔离,运维方面,安全性也提高了。

创建一个新的group,

$ sudo groupadd zookeeper

创建一个新的用户,并加入group,

$ sudo useradd -g zookeeper zookeeper

给新用户设置密码,

$ sudo passwd zookeeper

1. 单机模式(Standalone mode)


  



单机模式

单机模式在开发和调试阶段很有用。

1.1 下载,解压



$ wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz


$ tar zxf zookeeper-3.4.5.tar.gz -C ~/local/opt

1.2 启动



默认就是单机模式,

$ mv conf/zoo_sample.cfg conf/zoo.cfg


$ ./bin/zdServer.sh start

1.3 使用java 客户端连接ZooKeeper



$ ./bin/zkCli.sh -server 127.0.0.1:2181

然后就可以使用各种命令了,跟文件操作命令很类似,输入help可以看到所有命令。

1.4 关闭



$ ./bin/zdServer.sh stop





2 分布式模式(Replicated mode)



在生产环境中,要配置成分布式模式,才能发挥威力。

ZooKeeper集群一般被称为ZooKeeper ensemble,或者 quorum.





2.1 准备3台机器



假设有三台机器,hostname和ip对应关系是:

192.168.40.107 hadoop107

192.168.40.104 hadoop104

192.168.40.108 hadoop108





ZooKeeper不存在明显的master/slave关系,各个节点都是服务器,leader挂了,会立马从follower中选举一个出来作为leader.

由于没有主从关系,也不用配置SSH无密码登录了,各个zk服务器是自己启动的,互相之间通过TCP端口来交换数据。






2.2 修改hadoop107的配置文件conf/zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/root/hadoop/zookeeper-3.4.6/zookeeperdatadir/data
dataLogDir=/root/hadoop/zookeeper-3.4.6/zookeeperdatadir/logs
clientPort=2181
server.1=hadoop107:2888:3888
server.2=hadoop104:2888:3888
server.3=hadoop108:2888:3888



修改完后拷贝到hadoop104,以及hadoop108上
2.3 myid文件



要在每台机器的dataDir下,新建一个myid文件,里面存放一个数字,用来标识当前主机。

hadoop107:$ echo "1" >> /root/hadoop/zookeeper-3.4.6/zookeeperdatadir/data/myid

hadoop104:$ echo "2" >> /root/hadoop/zookeeper-3.4.6/zookeeperdatadir/data/myid

hadoop108:$ echo "3" >> /root/hadoop/zookeeper-3.4.6/zookeeperdatadir/data/myid


2.4 启动每台机器



hadoop107:$ zookeeper-3.4.6/bin/zkServer.sh start

hadoop104:$ zookeeper-3.4.6/bin/zkServer.sh start

hadoop108:$ zookeeper-3.4.6/bin/zkServer.sh start

因为3个节点的启动是有顺序的,所以在陆续启动三个节点的时候,前面先启动的节点连接未启动的节点的时候会报出一些错误。可以忽略。

2.5 查看状态

$ zookeeper-3.4.6/bin/zkServer.sh status


hadoop107的状态

DSC0000.jpg




hadoop104的状态


DSC0001.jpg

3 使用java客户端连接ZooKeeper集群



找一台机器,解压zookeeper压缩包,不用配置,就可以使用java客户端连接ZooKeeper集群中的任意一台服务器了。

$ ./bin/zkCli.sh -server hadoop104:2181


DSC0002.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-141955-1-1.html 上篇帖子: Zookeeper C Client分析 下篇帖子: ZooKeeper入门简介
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表