8244 发表于 2017-12-20 08:55:41

zookeeper集群的搭建

  前提条件
  Zookeeper也是java开发的所以需要安装jdk。
  1、Linux系统
  2、Jdk环境。(本人jdk1.8)
  3、Zookeeper。(本人zookeeper3.4.6)
  第一步:把zookeeper的安装包上传到服务器

  第二步:解压缩。
# tar -zxf zookeeper-3.4.6.tar.gz

  第三步:在/usr/local/目录下创建一个solrcloud目录。把zookeeper解压后的文件夹复制到此目录下三份。分别命名为zookeeper1、2、3
# mkdir solrCloud
# mv zookeeper-3.4.6 /usr/local/solrCloud/zookeeper1
# cp -r zookeeper1/ zookeeper2
# cp -r zookeeper1/ zookeeper3

  第四步:配置zookeeper。
  1、在每个zookeeper文件夹下创建一个data目录。
# mkdir zookeeper1/data
# mkdir zookeeper2/data
# mkdir zookeeper3/data
  2、在data文件夹下创建一个文件名称为myid,文件的内容就是此zookeeper的编号1、2、3
# echo 1 >> zookeeper1/data/myid
  # echo 2 >> zookeeper2/data/myid
  # echo 3 >> zookeeper3/data/myid

  3、把zookeeper1下conf目录下的zoo_sample.cfg文件复制一份改名为zoo.cfg
# 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
页: [1]
查看完整版本: zookeeper集群的搭建