Linux上安装ZooKeeper并设置开机启动(CentOS7+ZooKeeper3.4.10)

1下载Zookeeper

      地址:http://mirror.bit.edu.cn/apache/zookeeper/



2安装启动测试

          说明:(以下操作都是使员管理员账号进行的)

2.1上载压缩文件并解压

        这里使用的是CentOS7的操作系统。在opt目录下新建一个名为zookeeper的目录,将下载得到的zookeeper-3.4.10.tar.gz文件上载上去。

如图:

    

进入到该目录下,命令是:

        cd    /opt/zookeeper

执行解压命令:

        tar    -zxvf    zookeeper-3.4.10.tar.gz

如图:

      

2.2新建zookeeper配置文件

         Zookeeper需要一个名为zoo.cfg的配置文件,我们解压后,得到的是官方的示例文件,名为zoo_sample.cfg,这个文件在zookeeper根目录的conf子目录下。如果我们想使用默认配置,直接将该文件复制并且改名即可。里面可以配置端口号,是否启用集群等等,这里不展开,直接执行cp复制重命名。

命令是:

     cp    /opt/zookeeper/zookeeper-3.4.10/conf/zoo_sample.cfg        /opt/zookeeper/zookeeper-3.4.10/conf/zoo.cfg

如图:

     

      上面的命令生成了zoo.cfg

      如图:

 

         说明:zoo.cfg里可以配置东西,如果希望搭建zookeeper集群,请看该博文:

2.3安装JDK

           在Linux上安装JDK都是一样的,虽然我们这里用的是CentOS7的操作系统,但是依然可以按照在Unbuntu上安装JDK的方法来安装,请参考该博文:

http://blog.csdn.net/pucao_cug/article/details/68948639

         说明:你可的JDK安装路径和ZooKeeper安装路径可以和我的不一样,但是如果你的路径和我一样的话,在本博文第三章节,将ZooKeeper设置为开机启动的相关配置中,你可以不用修改那些配置内容,直接复制使用。

2.4启动zookeeper

  进入到zookeeper的bin目录下,命令:

         cd    /opt/zookeeper/zookeeper-3.4.10/bin

执行zkServer.sh脚本进行启动,命令是:

        ./zkServer.sh   start

如图:

    

2.5查看zookeeper的状态

     如果此时不在zookeeper的bin 目录下,先进入到该目录下:

          cd    /opt/zookeeper/zookeeper-3.4.10/bin

 

    执行命令查看zookeeper状态:

        ./zkServer.sh    status

如图:

    

standalone 是单机模式。

3将ZooKeeper设置为开机启动(可选)

3.1在init.d目录下新建脚本文件

    进入到/etc/rc.d/init.d目录下,命令是:

          cd    /etc/rc.d/init.d

   新建一个名为zookeeper的文件,命令是:

         touch    zookeeper

如图:

      

3.1.1文件内容的第一种方案(推荐)

           使用vim命令修改文件内容,文件内容的写法有很多,除了上面的第一种方案,用下面的这种也可以:

[plain]  view plain  copy
  1. #!/bin/bash  
  2. #chkconfig: 2345 10 90  
  3. #description: service zookeeper  
  4. export   JAVA_HOME=/opt/java/jdk1.8.0_121  
  5. export   ZOO_LOG_DIR=/opt/zookeeper/log  
  6. ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.10  
  7. su    root    ${ZOOKEEPER_HOME}/bin/zkServer.sh      "$1"  


3.1.2文件内容的第二种方案

       使用vim命令修改文件内容,文件内容是:

[plain]  view plain  copy
  1. #!/bin/bash  
  2. #chkconfig: 2345 10 90  
  3. #description: service zookeeper  
  4. export    JAVA_HOME=/opt/java/jdk1.8.0_121  
  5. export     ZOO_LOG_DIR=/opt/zookeeper/log  
  6. ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.10  
  7. case  "$1"   in  
  8.           start)  su  root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   start;;  
  9.           start-foreground)  su  root  ${ZOOKEEPER_HOME}/bin/zkServer.sh    start-foreground;;  
  10.           stop)  su  root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   stop;;  
  11.           status)  su root  ${ZOOKEEPER_HOME}/bin/zkServer.sh    status;;  
  12.           restart)  su root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   restart;;  
  13.           upgrade)su root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   upgrade;;  
  14.           print-cmd)su root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   print-cmd;;  
  15.           *)  echo  "requirestart|start-foreground|stop|status|restart|print-cmd";;  
  16. esac  



3.1.3 其他说明

          注意1:新建文件的命令是touch,编辑文件的命令用vivim都行。如果不会使用vivim命令,直接在本地把文件编辑好,然后用远程工具上载上去都行,不过需要注意的是如果本地用的windows系统,需要把文件转为UNIX格式。转换工具有很多,例如使用Notepad++

         如图:

  

         注意2:两个方案中的文件头部#注释的部分不能少,而且文件中诸如JDK路径,zookeeper路径都需要修改为你自己的。

3.2 执行一系列命令

  为新建的/etc/rc.d/init.d/zookeeper文件添加可执行权限,命令是:

       chmod  +x  /etc/rc.d/init.d/zookeeper

 把zookeeper这个脚本添加到开机启动项里面,命令是:

       chkconfig  --add   zookeeper

如图:

     

  如果想看看是否添加成功,命令是:

       chkconfig  --list

如图:

      

3.3执行测试看是否开机启动

  使用命令重启机器,命令是:

      reboot

方法一

查看zookeeper的状态

 重启机器,然后不手动启动zookeeper的情况下,执行命令:

       service  zookeeper   status

 如图:

   

方法二

   查看2181端口是否启用,执行命令:

   lsof  -i:2181

如图:

     

方法三

   查看网络状态,执行命令:

netstat   -lntup

如图:

     

 

4报错及解决

4.1 service zookeeper does not support chkconfig

        执行chkconfig  --add  zookeeper报错

        servicezookeeper does not support chkconfig

        问题原因和解决:

         /etc/rc.d/init.d/ zookeeper脚本中头部没有添加下面这几句话(description可以随便写):

[plain]  view plain  copy
  1. #!/bin/bash  
  2. #chkconfig:2345 10 90  
  3. #description:service zookeeper  


4.2Error contacting service. It is probably not running

       执行service  zookeeper  status报错

     JMX enabled by default

     Usingconfig: /opt/zookeeper/zookeeper-3.4.10/bin/../conf/zoo.cfg

     Errorcontacting service. It is probably not running.

 

        问题原因和解决:

            /etc/rc.d/init.d/ zookeeper没有配置对,请看3.1.1和3.1.2的配置,里面必须要有export  JAVA_HOME这一句话,后面的路径是你自己的JDK安装路径。

           至于export    ZOO_LOG_DIR=/opt/zookeeper/log这一句的话可有可无,意思是指定zookeeper的启动日志存放目录,如果该目录不存在,你必须手动创建一个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值