Linux上安装ZooKeeper并设置开机启动(CentOS7+ZooKeeper3.4.10)
4.1service zookeeper does not support chkconfig
4.2 Error contacting service. It is probably not running
关键字: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命令修改文件内容,文件内容的写法有很多,除了上面的第一种方案,用下面的这种也可以:
- #!/bin/bash
- #chkconfig: 2345 10 90
- #description: service zookeeper
- export JAVA_HOME=/opt/java/jdk1.8.0_121
- export ZOO_LOG_DIR=/opt/zookeeper/log
- ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.10
- su root ${ZOOKEEPER_HOME}/bin/zkServer.sh "$1"
3.1.2文件内容的第二种方案
使用vim命令修改文件内容,文件内容是:
- #!/bin/bash
- #chkconfig: 2345 10 90
- #description: service zookeeper
- export JAVA_HOME=/opt/java/jdk1.8.0_121
- export ZOO_LOG_DIR=/opt/zookeeper/log
- ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.10
- case "$1" in
- start) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh start;;
- start-foreground) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh start-foreground;;
- stop) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh stop;;
- status) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh status;;
- restart) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh restart;;
- upgrade)su root ${ZOOKEEPER_HOME}/bin/zkServer.sh upgrade;;
- print-cmd)su root ${ZOOKEEPER_HOME}/bin/zkServer.sh print-cmd;;
- *) echo "requirestart|start-foreground|stop|status|restart|print-cmd";;
- 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可以随便写):
- #!/bin/bash
- #chkconfig:2345 10 90
- #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)的更多相关文章
- Linux上安装Zookeeper以及一些注意事项
最近打算出一个系列,介绍Dubbo的使用. 分布式应用现在已经越来越广泛,Spring Could也是一个不错的一站式解决方案,不过据我了解国内目前貌似使用阿里Dubbo的公司比较多,一方面这个框架也 ...
- linux上安装zookeeper
本文先讲述Linux下单机版的安装流程,集群的配置后续再补上.关于Zookeeper的基本介绍和原来在本文不做更多介绍,可以自行查找.本文的操作流程相对简单,仅做备忘而已. 第一步 安装JDK: ...
- 源码编译安装nginx及设置开机启动项
1.上传nginx文档:解压到/data目录下,并安装依赖包tar xf nginx-1.20.1.tar.gz -C /data/cd /data/nginx-1.20.1/ && ...
- centos7安装docker并设置开机启动
版本要求:查看内核版本,需大于3.10 [root@localhost ~]# uname -r -.el7.x86_64 更新内核:如果是生产机器务必慎重更新内核,避免出现不必要的问题. sudo ...
- CentOS7 安装 Redis 并设置开机启动
1.下载 https://redis.io/download cd /usr/local/src wget -c http://download.redis.io/releases/redis-3.2 ...
- CentOS 7.6 64位安装docker并设置开机启动
步骤如下 安装docker.docker-compose yum -y install docker-io docker-compose 启动docker service docker start 设 ...
- Linux的运行级别和设置开机启动服务的方式
Linux的运行级别 什么是运行级别呢?简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找 ...
- Linux系统中svn服务器设置开机启动
安装完svn服务器后虽然好用但是因为经常重启Linux服务器,每次重启完就要去手动启动svn服务器,很是麻烦,于是在网上找了一些方法后,自己把svn服务器设置成开机启动 步骤一:安装svn服务器: h ...
- linux 上配置tomcat、mysql 开机启动
1.tomcat 开机启动 方法一.修改系统文件 (已经尝试,可以) 1.修改/etc/rc.d/rc.local vi /etc/rc.d/rc.local 2.添加下面两行脚本,记住是两行,仅仅第 ...
随机推荐
- Dev中控件的js事件代码放在form标签中存在问题
Dev中控件的js事件代码放在form标签中会获取不到(head标签中有其他js代码,未验证是否是这个问题)
- 使用swagger实现web api在线接口文档(转载)
一.前言 通常我们的项目会包含许多对外的接口,这些接口都需要文档化,标准的接口描述文档需要描述接口的地址.参数.返回值.备注等等:像我们以前的做法是写在word/excel,通常是按模块划分,例如一个 ...
- java SE 入门之八大内置基本类型(第二篇)
本文采用eclipse 工具演示,如果您对eclipse 工具不了解,请先学习下 eclipse 工具的使用,这个里面只是简单的介绍下输出和注释: 安装完成eclipse 以后,双击进入 后一次点击 ...
- 我在项目中运用 IOC(依赖注入)--入门篇
之前就听同事说过依赖注入(dependency injection).控制反转(Inversion of Control).起初听的是一头雾水,试着在项目中运用了几次,总算明白了一些,抛砖引玉,与大家 ...
- finally 的作用是什么?
在java中finally首先必须使用在所有catch的最后位置, 无论是否抛出异常,finally代码块总是会被执行.就算是没有catch语句同时又抛出异常的情况下,finally代码块任然会被执行 ...
- GC详解及Minor GC和Full GC触发条件总结
GC,即就是Java垃圾回收机制.目前主流的JVM(HotSpot)采用的是分代收集算法.与C++不同的是,Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用.即:从gcroot开始 ...
- PL/SQL Developer 如何记住密码
前言:使用时总结一下. 问题: 登录的时候不想每次都输入密码,能记住最好了. 解决方案: 1.点击配置->首选项 2.选择登录历史,勾上带口令存储,然后应用,确定即可.
- 洛谷P4360 [CEOI2004]锯木厂选址(dp 斜率优化)
题意 题目链接 Sol 枚举第二个球放的位置,用前缀和推一波之后发现可以斜率优化 // luogu-judger-enable-o2 #include<bits/stdc++.h> #de ...
- vue2.0 element-ui中input的@keyup.native.enter='onQuery'回车查询刷新整个表单的解决办法
项目中用的element-ui是v1.4.3版本 实现的功能是在input中输入查询的名称,按下键盘回车键,可以查询表格中数据 问题是,我输入名称,按下回车,会整个表单刷新,搜索条件也被清空:代码如下 ...
- 菜鸟的HTML学习之路
开发网站流程 确定风格.功能(论坛.留言板.支付.用户登录等). 美工制作网页效果图(首页.列表页.内容页). 制作人员切图排版,排成网页形式. 后台程序开始写程序. 前台与后台结合. HTML注释 ...