伪分布式安装zookeeper

前提:在一台机器上运行三个zk服务

  1. cd ~/bigdater/softs; wget http://archive.cloudera.com/cdh5/cdh/5/zookeeper-3.4.5-cdh5.3.6.tar.gz
  2. cd …; tar -zxvf softs/zookeeper-3.4.5-cdh5.3.6.tar.gz (1、2两步是导入解压的,3是改名,4是远程调控可以不管34)
  3. mv zookeeper-3.4.5-cdh5.3.6 zk-pseudo-distributed
  4. rm zookeeper; ln -s zk-pseudo-distributed zookeeper
  5. cd zookeeper/conf
  6. copy三方zk的配置文件:
    cp zoo_sample.cfg zoo1.cfg
    cp zoo_sample.cfg zoo2.cfg
    cp zoo_sample.cfg zoo3.cfg
  7. 配置zoo1.cfg的文件内容
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/home/hadoop/bigdater/zookeeper/zk/data1
    dataLogDir=/home/hadoop/bigdater/zookeeper/zk/log1
    clientPort=2181
    server.1=hh:2287:3387
    server.2=hh:2288:3388
    server.3=hh:2289:3389
  8. 配置zoo2.cfg的文件内容
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/home/hadoop/bigdater/zookeeper/zk/data2
    dataLogDir=/home/hadoop/bigdater/zookeeper/zk/log2
    clientPort=2182
    server.1=hh:2287:3387
    server.2=hh:2288:3388
    server.3=hh:2289:3389
  9. 配置zoo3.cfg的文件内容
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/home/hadoop/bigdater/zookeeper/zk/data3
    dataLogDir=/home/hadoop/bigdater/zookeeper/zk/log3
    clientPort=2183
    server.1=hh:2287:3387
    server.2=hh:2288:3388
    server.3=hh:2289:3389
  10. 分别在dataDir指定的文件夹中创建文件myid,myid文件内容为对应server的id号,即server后面的数字(范围为[0,255],一个zk集群中不允许有重复的)。
    必须手动创建对应的log文件夹
  11. 添加环境变量
    vim ~/.bash_profile
    export ZOOKEEPER_HOME=/opt/app/zookeeper-3.4.5-cdh5.3.6
    export PATH= P A T H : PATH: ZOOKEEPER_HOME/bin
    source ~/.bash_profile
  12. 启动,分别使用不同的配置文件启动zk服务(在zk的home根目录)
    zkServer.sh start conf/zoo1.cfg
    zkServer.sh start conf/zoo2.cfg
    zkServer.sh start conf/zoo3.cfg
  13. 查看,分别使用不同的配置文件查看zk服务(在zk的home根目录)
    zkServer.sh status conf/zoo1.cfg
    zkServer.sh status conf/zoo2.cfg
    zkServer.sh status conf/zoo3.cfg

安装过程中遇到的问题:

  • 三个端口号不要一样
  • 每个myid里对应一个zoo.cfg中service后面跟的数字
  • 每个dataDir中都有一个myid文件
  • 环境变量配置好后要source一下
  • 如果启动的时候显示已经启动了但是jps不出来,配置也保证是正确的,那就可能是端口重用问题,重启一下虚拟机就好了

猜你喜欢

转载自blog.csdn.net/aaaaajiboke/article/details/82734363