zookeeper集群的搭建

前提条件

Zookeeper也是java开发的所以需要安装jdk 

1、Linux系统

2、Jdk环境。(本人jdk1.8)

3、Zookeeper。(本人zookeeper3.4.6)

第一步:把zookeeper的安装包上传到服务器

第二步:解压缩。

[root@zookeeper-solr ~]# tar -zxf zookeeper-3.4.6.tar.gz 

第三步:在/usr/local/目录下创建一个solrcloud目录。把zookeeper解压后的文件夹复制到此目录下三份。分别命名为zookeeper123

[root@zookeeper-solr local]# mkdir solrCloud

[root@zookeeper-solr ~]# mv zookeeper-3.4.6 /usr/local/solrCloud/zookeeper1

[root@zookeeper-solr solrCloud]# cp -r zookeeper1/ zookeeper2
[root@zookeeper-solr solrCloud]# cp -r zookeeper1/ zookeeper3

第四步:配置zookeeper

1、在每个zookeeper文件夹下创建一个data目录。

 [root@zookeeper-solr solrCloud]# mkdir zookeeper1/data

[root@zookeeper-solr solrCloud]# mkdir zookeeper2/data
[root@zookeeper-solr solrCloud]# mkdir zookeeper3/data

 2、data文件夹下创建一个文件名称为myid,文件的内容就是此zookeeper的编号123

[root@zookeeper-solr solrCloud]# echo 1 >> zookeeper1/data/myid

[root@zookeeper-solr solrCloud]# echo 2 >> zookeeper2/data/myid

[root@zookeeper-solr solrCloud]# echo 3 >> zookeeper3/data/myid

3、zookeeper1conf目录下的zoo_sample.cfg文件复制一份改名为zoo.cfg

[root@zookeeper-solr conf]# cp zoo_sample.cfg zoo.cfg

4、修改zoo.cfg的配置

 

tickTime:zookeeper中使用的基本时间单位, 毫秒值。 
initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个 tickTime 时间间隔数。这里设置为5表名最长容忍时间为 5 * 2000 = 10 秒。 
syncLimit:这个配置标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2 * 2000 = 4 秒。 
dataDir 和 dataLogDir 看配置就知道干吗的了,不用解释。 
clientPort:监听client连接的端口号,这里说的client就是连接到Zookeeper的代码程序。 
server.{myid}={ip}:{leader服务器交换信息的端口}:{当leader服务器挂了后, 选举leader的端口} 
maxClientCnxns:对于一个客户端的连接数限制,默认是60,这在大部分时候是足够了。但是在我们实际使用中发现,在测试环境经常超过这个数,经过调查发现有的团队将几十个应用全部部署到一台机器上,以方便测试,于是这个数字就超过了。

5.同理,操作zookeeper2和zookeeper3

第六步:启动zookeeper。进入zookeeper1/bin目录下。

启动zookeeper./zkServer.sh start

关闭:./zkServer.sh stop

查看状态:./zkServer.sh status

同一台虚拟机中模拟集群需要修改端口号(2181,2182,2183)以及选举端口和投票端口

如果是多台虚拟机,每台安装一个zookeeper,这些端口无需修改,可以只改变ip地址

原文地址:https://www.cnblogs.com/ITMan-blogs/p/7538046.html