【zookeeper】centos7中安装安装zookeeper3.6.1
Zookeeper的学习文档: https://zookeeper.apache.org/doc/r3.6.1/zookeeperStarted.html
安装zookeeper
#下载zk,也可以从官网下载压缩包文件传到指定目录去
#下载Zooeeper : https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.1/zookeeper-3.6.1.tar.gz
#可以为zk单独创建一个文件夹
mkdir -p /usr/local/zookeeper/
#解压到目标目录,这里我就直接解压到apache-zookeeper-3.6.1-bin文件了(没有后面的-c /usr/local/zookeeper)
tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz -C /usr/local/zookeeper/
#创建数据和日志存放目录
mkdir /usr/local/apache-zookeeper-3.6.1-bin/zookeeper-3.6.1/logs
mkdir /usr/local/apache-zookeeper-3.6.1-bin/zookeeper-3.6.1/data
#打开zookeeper程序目录
cd /usr/local/soft/apache-zookeeper-3.6.1-bin
#修改zk的配置文件
cd conf
#复制 zoo_sample.cfg 文件的并命名为为 zoo.cfg,真正用的的是zoo.cfg
cp zoo_sample.cfg zoo.cfg
#编辑zoo.cfg
vim zoo.cfg
建议将zoo.cfg中的dataDir改为自定义的目录,当然也可以不去创建自定义目录,默认在/tmp/zookeeper下,日志文件默认在zookeeper安装目录下。
# 数据文件夹
dataDir=/usr/local/soft/apache-zookeeper-3.6.1-bin/data
# 日志文件夹
dataLogDir=/usr/local/soft/apache-zookeeper-3.6.1-bin/logs
保存并退出,进到bin目录下
cd /usr/local/soft/apache-zookeeper-3.6.1-bin/bin
#启动zk
./zkServer.sh start
#查看zk服务状态
./zkServer.sh status
#停止服务
./zkServer.sh stop
#重启服务
./zkServer.sh restart
若提示缺少java环境,则需要去安装jdk环境
安装JDK
#查看服务器是否有java环境
java -version
有:
没有会出现 -bash:java :未找到命令
下载JDK到指定目录,可以去官网下载然后上传到服务器
官网: https://www.oracle.com/java/technologies/javase-downloads.html
解压,配置环境变量
vi /etc/profile
注意把目录改为自己jdk解压后所在的目录
#在unset i前输入
export JAVA_HOME=/usr/local/soft/jdk1.8.0_281
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
或者下方形式也可(效果一样)
JAVA_HOME=/usr/local/soft/jdk1.8.0_281
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
重新编译后才可生效
source /etc/profile
配置完成,执行命令再次检查jdk是否安装配置成功
java -version
配置开机启动
创建脚本文件
-
进入
/etc/init.d
目录: -
创建文件zookeeper,并添加脚本
## 创建并编辑 vi zookeeper ## 或者先创建文件,再编辑 touch zookeeper vim zookeeper ## 授权 chmod +x zookeeper
添加内容如下(前四行也必须要有,负责设置开机启动时会报错,java_home和zookeeper所在目录要根据实际情况修改):
#!/bin/bash #chkconfig:2345 20 90 #description:zookeeper #processname:zookeeper export JAVA_HOME=/usr/local/soft/jdk1.8.0_281 case $1 in start) sudo /usr/local/soft/apache-zookeeper-3.6.1-bin/bin/zkServer.sh start;; stop) sudo /usr/local/soft/apache-zookeeper-3.6.1-bin/bin/zkServer.sh stop;; status) sudo /usr/local/soft/apache-zookeeper-3.6.1-bin/bin/zkServer.sh status;; restart) sudo /usr/local/soft/apache-zookeeper-3.6.1-bin/bin/zkServer.sh restart;; *) echo "require start|stop|status|restart" ;; esac
创建完成后可以使用service zookeeper status
或者service zookeeper start/stop
测试看是否配置成功。
出现下图表示配置成功:
若出现“JAVA_HOME is not set and java could not be found in PATH.”则表示没有为zookeeper配置java环境。需要去zkEnv.sh配置JAVA_HOME。
编辑zkEnv.sh,配置JAVA_HOME
cd /usr/local/soft/apache-zookeeper-3.6.1-bin/bin/
vi zkEnv.sh
加入JAVA_HOME
添加到开机启动项
#添加到开机启动项
chkconfig --add zookeeper
若出现:
"服务 zookeeper 不支持 chkconfig
"
需要去检查/etc/init.d/zookeeper
文件的内容,看看是否与提供的样例有差别,上面带#号的四行也都必须要有。
参考博文:
"centos7上安装zookeeper":https://www.cnblogs.com/zhiyouwu/p/11546097.html
"服务 zookeeper 不支持 chkconfig" : https://blog.csdn.net/qq_30865917/article/details/86007048
"CentOS7 下安装jdk8环境":
https://www.cnblogs.com/zhiyouwu/p/11538148.html
https://www.cnblogs.com/mingyue5826/p/10270070.html
“zookeeper+centos7.4安装配置+自启动”: