ZooKeeper初探之安装和配置

1.ZooKeeper简介Zookeeper是Hadoop下的一个子项目,它是一个针对大型分布式系统的可靠的协调系统,提供的功能包括配置维护,名字服务,分布式同步,组服务等,Zookeeper是可

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

1. ZooKeeper简介

  Zookeeper是Hadoop下的一个子项目,它是一个针对大型分布式系统的可靠的协调系统,提供的功能包括配置维护,名字服务,分布式同步,组服务等,Zookeeper是可以集群复制的,集群间通过Zab(Zookeeper Atomic Broadcast)协议来保存数据的一致性。该协议看起来是Paxos协议的某种变形,该协议包括两个阶段:leader election阶段和Atomic broadcas阶段。集群中选举出一个leader,其它的机器则称为follwer。当leader崩溃或者leader失去大多数的follower时,需要重新选举出一个新的leader,让所有的服务器恢复到一个正确的状态,当leader被选举出来,且大多数服务器完成了和leader的状态同步后,leader election的过程就结束了,将进入Atomic broadcas的过程。

  Zookeeper的核心其实类似一个精简的文件系统,提供一些简单的操作和一些附加的抽象(例如znode的排序与watch,并且集群的部署方式使其具有较高的可靠性),Zookeeper的协作过程简化了松散耦合系统之间的交互,即使参与者彼此不自动对方的存在,页你呢挂钩相互发现并且完成交互。

2. ZooKeeper环境搭建

(1)安装JDK

  由于Zookeeper是基于Java开发的

  下载jre-7u79-linux-x64-rpm 下载地址

  安装过程参考:https://blog.csdn.net/abselute/article/details/70039204?locationNum=8&fps=1

(2)下载zookeeper-3.4.5.tar.gz  下载地址

  整个安装过程参考:https://www.cnblogs.com/biehongli/p/7650570.html

(3)创建配置文件及配置说明

  我个人习惯将Zookeeper安装在/usr/local目录下

  cd /usr/local/zookeeper-3.4.5/conf

  mv zoo_sample.cpg zoo_cfg

  vim zoo_cfg

tickTime=2000 #Zookeeper服务器心跳时间,单位为ms
initLimit=10 #投票选举新Leader的初始化时间
syncLimit=5 #leader与follower心跳检测最大容忍时间,相应超过syncLimit*tickTime,leader认为follwer死掉,从服务器列表中删除
clientPor=2181
dataDir=/usr/local/zookeeper-3.4.5/data
dataLogDir=/usr/local/zookeeper-3.4.5/log

(4)配置myid

  echo 1 > data/myid

  cat data/myid

(5)启动ZooKeeper

  cd /usr/local/zookeeper-3.4.5/bin

  ./zkServer.sh start

(6)总结配置过程中的种种问题

  初次配置测试,遇到了很多问题,总结下需要特别注意的点:

A. 关闭防火墙(一定一定),不然会遇到无法链接主机的系列问题

解决rhel7防护墙关闭问题:
rhel7或centos7或Fedora中防火墙由firewalld来管理,可以还原传统的管理方式:
systemctl  stop firewalld
systemctl mask firewalld
yum install iptables-services
systemctl stop iptables
systemctl enable iptables
 

B. 设置数据目录data时需要生成myid文件,并写入id,该id对应zoo_cfg中的server.id,必须一一对应,server.id=ip:port:port仔细仔细再仔细

C. 注意查看zookeeper/bin目录下的日志文件zookeeper.out,会帮助我们确定问题所在

d. 实现ssh远程控制,参考之前的博客:https://www.cnblogs.com/xiaobingqianrui/p/9369722.html

e.配置脚本,同时启动多台服务器

f. 每台服务器的系统时间必须一样

3. 测试

(1)链接测试

ZooKeeper初探之安装和配置

ZooKeeper初探之安装和配置

(2)同步测试:创建节点和获取节点值

ZooKeeper初探之安装和配置

服务器192.168.1.20同步测试

ZooKeeper初探之安装和配置

  更详细测试请参考:https://blog.csdn.net/fenglongmiao/article/details/79269772

4. 参考博客

(1)http://www.cnblogs.com/wuxl360/p/5817471.html#3950934

(2)http://snowolf.iteye.com/blog/2156019

(3)https://www.cnblogs.com/biehongli/p/7650570.html

(4)https://i.cnblogs.com/EditPosts.aspx?postid=9365296&update=1

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120099.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Spring StoredProcedure调用Oracle函数各种异常解决方法

    Spring StoredProcedure调用Oracle函数各种异常解决方法其实也不是各种异常解决方法,只是出现了太多的异常我实在不知道有哪些,下面列举一下吧:1.PLS-00306:wrongnumberortypesofargumentsincallto’QUERYUSER’ORA-06550:line1,column7:PL/SQL:Statementignored原因:这个问题是少参数,或者类型不对,我的原因是函数的…

    2022年7月26日
  • zoj1204「建议收藏」

    zoj1204「建议收藏」也是这个星期写的了然而zoj识别不聊to_string只好先贴上来#include#include#includeusingnamespacestd;intnum[30],a,b,f;intall;intadd(intx,ints,intn,stringstr);intmain(){ cin>>a; for(inti=0;i

    2022年7月12日
  • 树莓派容易坏吗_树莓派的使用

    树莓派容易坏吗_树莓派的使用清华下载地址下载地址下载地址xshell下载地址③树莓派插入TF卡后,等连接上手机就可查看IP地址2.远程登录①打开后选择新建②软件更新源③系统更新源④开始更新4.图形化显示界面为方便大家更直观的感受,可以下载一个图形化的显示桌面,这里推荐VNC(windows也自带了该功能,因为太卡了故不推荐,想用的可以试试:远程桌面连接)⭐有条件的可以直接连上显示屏使用①VNC的网盘连接,大家直接下载就行②打开树莓派的VNCServer(默认关闭)A.在

    2022年10月9日
  • java编译环境配置

    java编译环境配置1.设置PATH环境变量右击桌面上的计算机图标,单击属性菜单项,系统显示控制面板主页,单击高级系统设置,出现系统属性对话框,再单击高级,出现如下图所示的对话框。单击环境变量按钮,将看到如下图所示的环境变量对话框,通过该对话框可以修改或添加环境变量。上图所示的对话框上面的用户变量用于设置当前用户的环境变量,系统变量用于设置整个系统的环境变量。对于windows系统而言,名为pat…

    2022年6月2日
  • redis过期策略六种(java的内存回收机制)

    Redis缓存作为提高系统性能最好的方式相信大家对其一定不陌生,各位作为秃头老码农不仅需要掌握Redis的基础用法还得了解Redis的相关原理,比如Redis过期策略和内存淘汰机制。大家都知道,Redis缓存使用的是内存资源,虽然缓存服务器会配置比较高的内存资源,但如果对于Redis中的缓存数据我们不管不顾,内存资源总有耗尽的时候,这时缓存服务器就无法再对外提供服务了。我们要用有限的服务器资源支撑…

    2022年4月17日
  • mysql的访问端口是什么意思_数据库端口是什么端口号

    连接SQL数据库时,不指定端口号时是不是就默认端口号是1433?SQLServer服务器默认监听的端口号是1433,如果服务器的端口不是1433,简单的链接方法可以在服务器IP地址后面写逗号和制定端口,例如:如何设置sqlserver端口号可以在’配置工具’–>’SQLSERVER配置管理器’—>’SQLSERVER网络配置’—>’实例名。协议’–>…

    2022年4月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号