centos安装zookeeper服务
全文目录zookeeper介绍配置java环境下载zookeeper安装zookeeper使用命令解压修改配置文件启动zookeeper配置zk环境变量开机自启zookeeper介绍ZooKeeper 是一个开源的分布式协调服务。它是一个为分布式应用提供一致性服务的软件,分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master
zookeeper介绍
ZooKeeper 是一个开源的分布式协调服务。它是一个为分布式应用提供一致性服务的软件,分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。
ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
Zookeeper 保证了如下分布式一致性特性:
- 顺序一致性
- 原子性
- 单一视图
- 可靠性
- 实时性(最终一致性)
客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上注册了监听器,这个监听器也是由所连接的 zookeeper 机器来处理。对于写请求,这些请求会同时发给其他 zookeeper 机器并且达成一致后,请求才会返回成功。因此,随着 zookeeper 的集群机器增多,读请求的吞吐会提高但是写请求的吞吐会下降。
有序性是 zookeeper 中非常重要的一个特性,所有的更新都是全局有序的,每个更新都有一个唯一的时间戳,这个时间戳称为 zxid(Zookeeper Transaction Id)。而读请求只会相对于更新有序,也就是读请求的返回结果中会带有这个zookeeper 最新的 zxid。
配置java环境
详见文章 centos7配置jdk环境
下载zookeeper
zookeeper官网
从官网下载然后上传到服务器上
注意不要下错了,文件名带bin的才是二进制包,不然是源码包需要自己编译。
在服务器上使用命令下载
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
安装zookeeper
使用命令解压
tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
修改配置文件
进入解压出来的目录
cd apache-zookeeper-3.7.0-bin/
进入conf文件夹,我们将 zoo_sample.cfg 复制一份并命名为 zoo.cfg
cd conf/
cp zoo_sample.cfg zoo.cfg
修改zoo.cfg配置文件
vi zoo.cfg
配置里的dataDir,你可以替换成自己创建的目录,也可以使用默认的。
clientPort是服务的端口号 默认2181。
启动zookeeper
进入文件夹的bin目录
# 路径替换成你的
cd bin/
使用命令启动
./zkServer.sh start
启动成功
查看zk状态
./zkServer.sh status
查看进程
ps -ef|grep zookeeper
配置zk环境变量
vim /etc/profile
ZOOKEEPER_HOME=/root/apache-zookeeper-3.7.0-bin
PATH=$PATH:$ZOOKEEPER_HOME/bin
export PATH ZOOKEEPER_HOME PATH
这里箭头标准的替换成自己的目录位置
source /etc/profile
开机自启
编写service文件
vi /usr/lib/systemd/system/zookeeper.service
输入以下内容
(里面的文件目录位置替换成自己的!)
[Unit]
Description=zookeeper
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/root/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start
ExecReload=/root/apache-zookeeper-3.7.0-bin/bin/zkServer.sh restart
ExecStop=/root/apache-zookeeper-3.7.0-bin/bin/zkServer.sh stop
[Install]
WantedBy=multi-user.target
保存,生效
# 增加权限
chmod 777 /usr/lib/systemd/system/zookeeper.service
# 设置自启
systemctl enable zookeeper.service
systemctl daemon-reload
# 查看是否自启
systemctl is-enabled zookeeper.service
# 取消自启
systemctl disable zookeeper.service
systemctl daemon-reload
使用systemctl命令出现如下错误
解决方案:
编辑bin目录下的zkEnv.sh
vi zkEnv.sh
添加 JAVA_HOME
如下图所示:
启动成功
注意:以上操作均在centos7.6 root账户下操作!
更多推荐
所有评论(0)