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}/bin/zkServer.sh      "$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"   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,编辑文件的命令用vi和vim都行。如果不会使用vi和vim命令,直接在本地把文件编辑好,然后用远程工具上载上去都行,不过需要注意的是如果本地用的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

Linux上安装ZooKeeper并设置开机启动(CentOS7+ZooKeeper3.4.10)的更多相关文章

  1. Linux上安装Zookeeper以及一些注意事项

    最近打算出一个系列,介绍Dubbo的使用. 分布式应用现在已经越来越广泛,Spring Could也是一个不错的一站式解决方案,不过据我了解国内目前貌似使用阿里Dubbo的公司比较多,一方面这个框架也 ...

  2. linux上安装zookeeper

    本文先讲述Linux下单机版的安装流程,集群的配置后续再补上.关于Zookeeper的基本介绍和原来在本文不做更多介绍,可以自行查找.本文的操作流程相对简单,仅做备忘而已. 第一步  安装JDK:   ...

  3. 源码编译安装nginx及设置开机启动项

    1.上传nginx文档:解压到/data目录下,并安装依赖包tar xf nginx-1.20.1.tar.gz -C /data/cd /data/nginx-1.20.1/ && ...

  4. centos7安装docker并设置开机启动

    版本要求:查看内核版本,需大于3.10 [root@localhost ~]# uname -r -.el7.x86_64 更新内核:如果是生产机器务必慎重更新内核,避免出现不必要的问题. sudo ...

  5. CentOS7 安装 Redis 并设置开机启动

    1.下载 https://redis.io/download cd /usr/local/src wget -c http://download.redis.io/releases/redis-3.2 ...

  6. CentOS 7.6 64位安装docker并设置开机启动

    步骤如下 安装docker.docker-compose yum -y install docker-io docker-compose 启动docker service docker start 设 ...

  7. Linux的运行级别和设置开机启动服务的方式

    Linux的运行级别 什么是运行级别呢?简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找 ...

  8. Linux系统中svn服务器设置开机启动

    安装完svn服务器后虽然好用但是因为经常重启Linux服务器,每次重启完就要去手动启动svn服务器,很是麻烦,于是在网上找了一些方法后,自己把svn服务器设置成开机启动 步骤一:安装svn服务器: h ...

  9. linux 上配置tomcat、mysql 开机启动

    1.tomcat 开机启动 方法一.修改系统文件 (已经尝试,可以) 1.修改/etc/rc.d/rc.local vi /etc/rc.d/rc.local 2.添加下面两行脚本,记住是两行,仅仅第 ...

随机推荐

  1. BOM-使用定时器

    window对象包含4个定时器专用方法,说明如下表所示,使用它们可以实现代码定时运行,避免连续执行,这样可以设计动画 方法 说明 setInterval() 按照指定的周期,(以毫秒为单位)来调用函数 ...

  2. SQL——Sql_Server中如何判断表中某字段、判断表、判断存储过程以及判断函数是否存在

    一.比如说要判断表A中的字段C是否存在两个方法: (1) 直接查表——有点笨,有点常规 IF EXISTS ( SELECT 1 FROM SYSOBJECTS T1 INNER JOIN SYSCO ...

  3. [日常] json_encode对中文和引号的处理差异研究

    json_encode()1.默认就是把所有 ASCII 可显示字符以外的统统转义为 Unicode如果把那些字符转义为 Unicode 之后,无论文件编码是否一致,都不会出现乱码,因此中文转成Uni ...

  4. SpringBoot整合mybatis-plus入门

    pom.xml中加入如下依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>myba ...

  5. manven springmvc 项目中 slf4j 的配置使用(结合log4j 或者 logback)

    前言:每个maven springmvc 都应该有日志功能,SLF4J(Simple logging facade for Java)就是一种日志规范,它提供了一个共通接口,可以适配多种不同的LOG实 ...

  6. vue+element ui 的时间控件选择 年月日时分

    前言:工作中用到 vue+element ui 的前端框架,需要选择年月日时分,但element ui官网demo有没有,所以记录一下.转载请注明出处:https://www.cnblogs.com/ ...

  7. 一个简单的DLL生成和测试

    DLL文件内容: SKLDll.h #ifndef _SKLDLL_H_#define _SKLDLL_H_ #ifndef DLL_API #define DLL_API extern " ...

  8. css固定广告栏

    <div style="position: fixed; left: 50%; top: 100px; margin-left: -621px;"> <div&g ...

  9. RNN & LSTM & GRU 的原理与区别

      RNN 循环神经网络,是非线性动态系统,将序列映射到序列,主要参数有五个:[Whv,Whh,Woh,bh,bo,h0][Whv,Whh,Woh,bh,bo,h0],典型的结构图如下: 和普通神经网 ...

  10. 如何调试flutter应用

    The Dart Analyzer 这个工具帮助你分析代码,发现可能的错误. 运行命令行 终端进入flutter工程所在目录,执行flutter analyze 使用IntelliJ IDEA Dar ...