您的位置:首页 > 其它

关于zookeeper3.4.10集群版安装个人自总结

2017-04-11 10:31 302 查看
     [b][b]不管在什么地方,什么时候,学习是快速提升自己的能力的一种体现!!!!!!!!!!![/b]
[/b]

  先简单的介绍下zookeeper:

ZooKeeper是一个分布式的分布式应用协调服务,既可以与DUBBO结合使用作为资源调度中心又可以作为[b][b]SolrCloud[/b]集群版的配置中心(SolrCloud是基于Solr和Zookeeper的分布式搜索方案),在我之前的商城项目中就使用zookeeper作为了这两个中心进行开发,具有很高的可用性.[/b]

[b]OK,话不多说直接开始搭建吧![/b]





[b]准备环境:[/b]

3台服务器(CentOS7   64位 
点击如何下载安装CentOS7) ,


建议把虚拟机的主机名也改改 
如何修改虚拟机主机名,这样可以更直观一点,也能顾名思义


远程连接虚拟机工具  xshell5 
下载安装使用xshell5


master 192.168.31.128  


slave1 192.168.31.129


slave2 192.168.31.130



[b]准备资料:[/b]

[b]zookeeper-3.4.10.tar.gz  zookeeper安装包下载
[/b]



[b]


[/b]

[b][b]使用xshell连接上虚拟机之后,将zookeeper导入虚拟机,我比较喜欢把关于的数据的资料放入   /usr/local/hadoop/(hadoop自建)  目录下[/b][/b]



[b][b]


[/b][/b]

[b] [/b]

[b]解压zookeeper    tar -zxvf zookeeper-3.4.10.tar.gz  
[/b]



[b]


[/b]



[b]一般我喜欢解压完就删掉安装包[/b]



[b]


[/b]



[b]zookeeper字太长了 ,我就把名字改短一点   
[/b]



[b]mv zookeeper-3.4.10/ zookeeper[/b]



[b]


[/b]



[b]进入 zookeeper目录创建  data 和  log  目录(等下会提到用处) 
[/b]



[b]


[/b]



[b]再进入刚创建的data目录,创建文件名为myid的文件(还是等等再说用作)[/b]

[b] touch myid命令创建文件
[/b]

[b]


[/b]



[b]进入zookeeper的conf目录 将  zoo_sample.cfg  该名为 zoo.cfg  ,因为zookeeper在启动加载时默认加载zoo.cfg文件,所以需要改名
[/b]



[b]


[/b]



[b]
4000
编辑 zoo.cfg   内容如下
[/b]



[b]

tickTime=2000

initLimit=10
[/b]

[b]syncLimit=5[/b]

[b]dataDir=/usr/local/hadoop/zookeeper/data     刚才创建的data目录路径,

dataLogDir=/usr/local/hadoop/zookeeper/log   刚才创建的log目录路径
[/b]

[b]

clientPort=2181

server.4=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888
[/b]



[b]


[/b]



[b]参数说明:[/b]

tickTime=2000 (默认)


tickTime这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳。



initLimit=10  (默认)


initLimit这个配置项是用来配置Zookeeper接受客户端(这里所说的客户端不是用户连接Zookeeper服务器的客户端,而是Zookeeper服务器集群中连接到Leader的Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过10个心跳的时间(也就是tickTime)长度后
Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒。




syncLimit=5   (默认)


syncLimit这个配置项标识Leader与Follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*2000=10秒。



[b][b]dataDir=/usr/local/hadoop/zookeeper/data [/b]
[/b]

Zookeeper保存数据的目录,默认情况下Zookeeper将写数据的日志文件也保存在这个目录里。

[b][b]dataLogDir=/usr/local/hadoop/zookeeper/log  [b]事务日志保存目录[/b][/b][/b]



clientPort=2181  (默认)


clientPort这个端口就是客户端(应用程序)连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求。


server.A=B:C:D

server.4=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

A是一个数字,表示这个是第几号服务器;我这里master机设置为4是因为我要把它定义为leader ,关于如何自定义zookeeper的leader可以关注我下一篇文章


(zookeeper选举自定义leader)


B是这个服务器的IP地址(或者是与IP地址做了映射的主机名);

C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的Leader服务器交换信息的端口;

D是在leader挂掉时专门用来进行选举leader所用的端口。


配置完之后编辑 data目录下创建的myid文件 ,各个机上必须要对应server.后面的数字

[b]master机中的myid文件内容为4[/b]

[b][b]slave1机中的myid文件内容为2  等等把zookeeper拷贝过去再修改myid文件就行
[/b][/b]

[b][b]slave2机中的myid文件内容为3   同上[/b]
[/b]






把zookeeper拷贝到slave1和slave2

[b]scp  -r /usr/local/hadoop/zookeeper slave1:/usr/local/hadoop/
[/b]

[b]scp  -r /usr/local/hadoop/zookeeper slave2:/usr/local/hadoop/[/b]



拷完子后 修改slave1和slave2中的myid文件  ,其他的不用动


slave1内容为2






slave2内容为3






OK,配置已经完成了,现在启动zookeeper

进入zookeeper的bin目录 分别启动zookeeper    启动命令   sh zkServer.sh start

[b]master:  sh zkServer.sh start







slave1:sh zkServer.sh start







slave2:sh zkServer.sh start






查看主从状态:命令 :[b]sh zkServer.sh status[/b]



[b]master:leader
[/b]

[b]


[/b]



[b]


[/b]



[b]slave1:follower
[/b]

[b]


[/b]

[b][b]slave2:follower[/b][/b]



输入 jps 查看 进程 


三台机都有:QuorumPeerMain






OK,现在所有的都完成了!!!





如果此文章有什么不对的地方请路过的大神指出,以免误人子弟



尊重原创,如要转载请注明出处!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息