Linux下安装Zookeeper
Zookeeper简介
- 中间件,提供协调服务
- 作用于分布式系统,发挥其优势,可以为大数据服务
- 支持java,提供了java和c语言的客户端API
zookeeper,中文意思就是动物园管理员,通过zookeeper(群)来管理协调各个集群的分布式组件。
官网:https://zookeeper.apache.org/
Zookeeper特性
一致性:数据一致性,数据按照顺序分批入库
原子性:事务要么成功要么失败,不会局部化
单一视图:客户端连接集群中的任一zk节点,数据都是一致的
可靠性:每次对zk的操作状态都会保存在服务端
实时性:客户端可以读取到zk服务端的最新数据
安装步骤:
1: 首先确保已经安装好了jdk,因为zookeeper是需要依赖java来进行编译的。
下载zookeeper:
进入官网,点击导航菜单Project-->Releases
,可以选择指定版本进行下载。
也可以使用命令直接下载:
# 直接使用命令下载 wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz # 解压缩 tar -zxvf zookeeper-3.4.11.tar.gz
环境变量配置:
编辑环境变量配置文件:vi /etc/profile
按 i 进入编辑
在文件末尾位置添加如下内容
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.11
export PATH=$PATH:$ZOOKEEPER_HOME/bin
Ctrl + c 然后通过vim的 ":wq"
命令进行保存退出
使配置生效:s
ource /etc/profile
zoo.cfg配置
首先需要进入conf文件夹下将复制zoo_simple.cfg改名为zoo.cfg:cp zoo_sample.cfg zoo.cfg
这样zookeeper就能读取到该配置文件,其主要配置项如下
修改配置:
vi zoo.cfg # 修改配置项 dataDir=/usr/local/zookeeper-3.4.11/dataDir # 添加配置项 dataLogDir=/usr/local/zookeeper-3.4.11/dataLogDir # 保存退出后,创建目录 mkdir dataDir mkdir dataLogDir
启动、停止zookeeper
启动命令: cd /usr/local/zookeeper-3.4.11/bin ./zkServer.sh start./zkServer.sh stop
查看zookeeper状态
命令: cd /usr/local/zookeeper-3.4.11/bin ./zkServer.sh status
开放2181端口
因为zookeeper默认的是2181端口号,为了能对外正常访问zookeeper,需要开放2181端口号,或者关闭防火墙;
1对外开放2181端口
命令:
firewall-cmd --zone=public --add-port=2181/tcp --permanent
- –zone:作用域
- –add-port=2181/tcp:添加端口,格式为:端口/通讯协议
- –permanent:永久生效,没有此参数重启后失效
2 重启防火墙
命令: firewall-cmd --reload
3 查看已经开放的端口
命令: firewall-cmd --list-ports
4 停止防火墙
命令: systemctl stop firewalld.service
5 禁止防火墙开机启动,以防虚拟机重启的时候zookeeper被拦截
命令: systemctl disable firewalld.service
配置zookeeper开机启动:
vim /etc/init.d/zookeeper
2:把如下脚本复制进去(根据自己的zookeeper、jdk安装路径修改一下路径):
#!/bin/bash #chkconfig:2345 20 90 #description:zookeeper #processname:zookeeper ZK_PATH=/opt/zookeeper/zookeeper-3.4.11/ export JAVA_HOME=/opt/java/jdk1.8.0_221/ case $1 in start) sh $ZK_PATH/bin/zkServer.sh start;; stop) sh $ZK_PATH/bin/zkServer.sh stop;; status) sh $ZK_PATH/bin/zkServer.sh status;; restart) sh $ZK_PATH/bin/zkServer.sh restart;; *) echo "require start|stop|status|restart" ;; esac
然后把脚本注册为Service
chkconfig --add zookeeper
增加权限
chmod +x /etc/init.d/zookeeper
然后启动zookeeper
service zookeeper start
来源:https://www.cnblogs.com/dw3306/p/12599986.html