前提条件
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解压后的文件夹复制到此目录下三份。分别命名为zookeeper1、2、3
[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/data2、在data文件夹下创建一个文件名称为myid,文件的内容就是此zookeeper的编号1、2、3
[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、把zookeeper1下conf目录下的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地址