centos8安装zookeeper(单机方式)
2024-08-28 11:08:21
一,下载zookeeper:
1,官网地址
http://zookeeper.apache.org/
找到这个地址:
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.6/
2,下载
[root@localhost liuhongdi]# cd /usr/local/source/
[root@localhost source]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,解压
[root@localhost source]# tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz
[root@localhost source]# mv apache-zookeeper-3.5.6-bin /usr/local/soft/
三,安装
1,创建数据目录:
[root@localhost source]# mkdir /data/data
[root@localhost source]# mkdir /data/data/zookeeper
[root@localhost source]# chmod 777 /data/data/zookeeper/
2,修改配置文件
[root@localhost soft]# cd apache-zookeeper-3.5.6-bin/
[root@localhost apache-zookeeper-3.5.6-bin]# cd conf/
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
[root@localhost conf]# vi zoo.cfg
dataDir=/data/data/zookeeper
说明:dataDir=的值:是在配置文件中,指定要使用的数据目录
3,把二进制命令的路径加入系统path
[root@localhost conf]# vi /etc/profile
说明:在末尾增加以下命令:
export ZK_HOME=/usr/local/soft/apache-zookeeper-3.5.6-bin
export PATH=$ZK_HOME/bin:$PATH
修改完成之后,使配置起作用:
[root@localhost conf]# source /etc/profile
四,启动和停止zookeeper
启动
[root@localhost conf]# zkServer.sh start
停止
[root@localhost conf]# zkServer.sh stop
五,增加systemd管理zookeeper功能
1,新建service文件
[root@localhost conf]# vi /etc/systemd/system/zookeeper.service
说明:service文件的内容:
[Unit]
Description=zookeeper.service
After=network.target
ConditionPathExists=/usr/local/soft/apache-zookeeper-3.5.6-bin/conf/zoo.cfg
[Service]
Type=forking
User=root
Group=root
ExecStart=/usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkServer.sh start
ExecStop=/usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkServer.sh stop
[Install]
WantedBy=multi-user.target
2,直接使用systemctl启动zookeeper会因找不到java的路径报错,
我们需要手动修改zkEnv.sh文件:
[root@localhost conf]# vi /usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkEnv.sh
编辑的内容:
添加如下一行
JAVA_HOME=/usr/local/soft/jdk-13.0.2
到此两行上方即可:
ZOOBINDIR="${ZOOBINDIR:-/usr/bin}"
ZOOKEEPER_PREFIX="${ZOOBINDIR}/.."
3,测试systemctl的管理:
启动
[root@localhost conf]# systemctl start zookeeper
停止
[root@localhost conf]# systemctl stop zookeeper
六,如何查看当前已安装的zookeeper的版本?
[root@localhost conf]# echo stat|nc 127.0.0.1 2181
stat is not executed because it is not in the whitelist.
说明:需要解决上面这个报错
[root@localhost conf]# vi /usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkServer.sh
编辑的内容:
找到: else
echo "JMX disabled by user request" >&2
ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"
fi 在上面这行fi下面添加: ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"
继续测试
[root@localhost conf]# systemctl stop zookeeper
[root@localhost conf]# systemctl start zookeeper
[root@localhost conf]# echo stat|nc 127.0.0.1 2181
Zookeeper version: 3.5.6-c11b7e26bc554b8523dc929761dd28808913f091, built on 10/08/2019 20:18 GMT
Clients:
/127.0.0.1:41352[0](queued=0,recved=1,sent=0) Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: standalone
Node count: 5
七,关闭zookeeper内置的管理器
zookeeper内置有一个web管理器,默认使用8080端口,
但这个版本的管理器不能正常访问,
我们可以避免启动内置的管理器,也避免占用8080端口
[root@localhost conf]# vi /usr/local/soft/apache-zookeeper-3.5.6-bin/conf/zoo.cfg
[root@localhost conf]# systemctl stop zookeeper
[root@localhost conf]# systemctl start zookeeper
说明:在配置文件zoo.cfg中添加如下一行:
admin.enableServer=false
八,配置zookeeper的日志目录:
1,创建日志目录
[root@localhost conf]# mkdir /data/logs/zookeeperlogs
[root@localhost conf]# chmod 777 /data/logs/zookeeperlogs
2,在zkEnv.sh中定义日志的路径
[root@localhost conf]# vi /usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkEnv.sh
说明:定义ZOO_LOG_DIR这个变量即可
if [ "x${ZOO_LOG_DIR}" = "x" ]
then
#ZOO_LOG_DIR="$ZOOKEEPER_PREFIX/logs"
ZOO_LOG_DIR="/data/logs/zookeeperlogs"
fi
3,测试效果:
[root@localhost conf]# systemctl stop zookeeper
[root@localhost conf]# systemctl start zookeeper
[root@localhost conf]# ll /data/logs/zookeeperlogs/
总用量 8
-rw-r--r-- 1 root root 7649 2月 18 21:36 zookeeper-root-server-localhost.localdomain.out
九,查看本地centos的版本:
[root@localhost lib]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
最新文章
- [No00009C]Visual Studio在 解决方案资源管理器 里同步定位打开的文件
- Android listview addHeaderView 和 addFooterView 详解
- android自定义控件(3)-自定义当前按钮属性
- 基于Bootstrap的jQuery开关按钮插件
- python_way day13 sqlalchemy
- Mingyang.net:hibernate.hbm2ddl.auto配置详解【转】
- 浏览器检测(BrowserDetect.js)
- http请求 302解决方法
- HDU 5862 Counting Intersections(离散化+树状数组)
- 解决mybatis空字段null字段不返回
- java web 之 AJAX用法
- 使用SIP Servlet为Java EE添加语音功能
- JavaScript入门学习笔记(一)
- Ubuntu MariaDB PhpMyAdmin
- 高斯混合模型的EM算法
- C#中Quartz的简单易懂定时任务实现
- 最长公共子序列(LCS)最长递增子序列(LIS)
- idea的起步配置
- 【代码审计】XYHCMS V3.5URL重定向漏洞分析
- 关于jvm钩子 Runtime.getRuntime().addShutdownHook