zookeeper的安装与自启动(转)

原文地址 [ https://blog.csdn.net/pucao_cug/article/details/71240246 ]


1下载Zookeeper

2安装启动测试

       2.1上载压缩文件并解压

      2.2新建 zookeeper配置文件

      2.3安装JDK

      2.4启动zookeeper

      2.5查看zookeeper的状态

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

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

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

                 3.1.2文件内容的第二种方案

                 3.1.3其他说明

      3.2执行一系列命令

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

4报错及解决

      4.1service zookeeper does not support chkconfig

      4.2 Error contacting service. It is probably not running

5本博文相关的下载

 

 关键字:CentOS7  zookeeper3.4.10   java

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命令修改文件内容,文件内容的写法有很多,除了上面的第一种方案,用下面的这种也可以:


   
   
  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}</span></span>/bin/zkServer.sh <span class="hljs-string"><span class="hljs-string">"</span><span class="hljs-variable"><span class="hljs-string"><span class="hljs-variable">$1 "


3.1.2文件内容的第二种方案

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


   
   
  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</span></span></span><span class="hljs-string">"</span></span> <span class="hljs-keyword"><span class="hljs-keyword">in</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> start) su root <span class="hljs-variable"><span class="hljs-variable">${ZOOKEEPER_HOME}/bin/zkServer.sh start;;
  8. start-foreground) su root ${ZOOKEEPER_HOME}</span></span>/bin/zkServer.sh start-foreground;;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> stop) su root <span class="hljs-variable"><span class="hljs-variable">${ZOOKEEPER_HOME}/bin/zkServer.sh stop;;
  9. status) su root ${ZOOKEEPER_HOME}</span></span>/bin/zkServer.sh status;;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> restart) su root <span class="hljs-variable"><span class="hljs-variable">${ZOOKEEPER_HOME}/bin/zkServer.sh restart;;
  10. upgrade)su root ${ZOOKEEPER_HOME}</span></span>/bin/zkServer.sh upgrade;;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="14"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-built_in"><span class="hljs-built_in">print</span></span>-cmd)su root <span class="hljs-variable"><span class="hljs-variable">${ZOOKEEPER_HOME}/bin/zkServer.sh print-cmd;;
  11. *) echo "requirestart|start-foreground|stop|status|restart|print-cmd";;
  12. 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可以随便写):


   
   
  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的启动日志存放目录,如果该目录不存在,你必须手动创建一个。

5本博文相关的下载

        上面这些东西要么可以从网上下载到,或者可以从这里下载,包括配置文件。

下载地址是:http://download.csdn.net/detail/pucao_cug/9834762

猜你喜欢

转载自blog.csdn.net/qq_34898847/article/details/82497339