CentOS 7安装zookeeper
单机安装
CentOS 7环境单机安装zookeeper
1、下载ZK
zookeeper下载页面:https://zookeeper.apache.org/releases.html
这里下载二进制版本,不需要编译, 以安装路径 /usr/local/soft 为例
cd /usr/local/soft
wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
2、解压
tar -xzvf apache-zookeeper-3.7.1-bin.tar.gz
3、修改配置文件
进入conf目录并拷贝zoo_sample.cfg改名为zoo.cfg
cd apache-zookeeper-3.7.1-bin/conf
cp zoo_sample.cfg zoo.cfg
端口号默认2181,配置文件zoo.cfg里面的dataDir要修改,如果不改,需要创建这个目录 mkdir -p /tmp/zookeeper
mkdir -p /usr/local/zookeeper/apache-zookeeper-3.7.1-bin/data
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/apache-zookeeper-3.7.1-bin/data
clientPort=2181
4、配置zk环境变量
配置后在任意目录之下可以使用bin中的命令
vim /etc/profile
# 文件末尾增加如下配置
export ZOOKEEPER_HOME=/usr/local/soft/apache-zookeeper-3.7.1-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin
# 让profile文件生效
source /etc/profile
如果没有安装jdk,需要先安装jdk并通过vi /etc/profile命令配置java环境变量
export JAVA_HOME=/usr/local/java/jdk1.8.0_131
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export ZOOKEEPER_HOME=/usr/local/soft/apache-zookeeper-3.7.1-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin
5、启动ZK
进入到apache-zookeeper-3.6.1-bin的bin文件夹,查看启动脚本zkServer.sh
./zkServer.sh help
zkServer.sh start # 启动
zkServer.sh start-foreground # 前端启动
zkServer.sh status # 查看状态
zkServer.sh stop # 停止
zookeeper默认端口 2181
输出日志:
[root@localhost local]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/soft/apache-zookeeper-3.7.1-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@localhost local]#
查看是否启动成功
ps -ef | grep zookeeper
其他命令
命令 | 描述 |
---|---|
./zkServer.sh status | 查看zk的运行状态 |
./zkCli.sh | 客户端链接zk |
ls | ls 查看节点 |
get /节点名字 | get 获取节点数据和更新信息 |
create [-s] [-e] path data acl | create 创建节点 e 临时节点 s 顺序节点 |
delete path [version] | 删除节点 |
docker安装zk
(1)打开
(2)搜索zookeeper镜像,版本选择: 3.7.1
(3)拉取镜像
docker pull zookeeper:3.7.1
(4)运行zookeeper container
docker run -d --name jack-zk-server -p 2281:2181 zookeeper:3.7.1
(5)查看启动结果
docker ps
lsof -i:2281
源码启动zk
(1)下载源码
https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1.tar.gz
(2)maven构建
在源码根目录下执行如下命令
mvn mvn clean clean install install ‐‐DskipTests
(3)导入到idea中
(4)创建zoo.cfg文件并配置
tickTime=2000
initLimit=10
syncLimit=5
dataDir=D:\\install\\dev\\zookeeper\\zk-standalone\\data
clientPort=2181
(5)寻找启动类
bin/zkServer.cmd 或 bin/zkServer.sh,也就是服务端启动的时候,会通过QuorumPeerMain进行启动
ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
(6)配置启动类
(6) 标记resouces目录
(7) 日志输出
a- 将conf文件下的log.properties文件复制到zookeeper-server的resources文件夹下
b- 在zookeeper-server的pom.xml中添加slf4j的依赖
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
<scope>compile</scope>
</dependency>
(8)启动zk server-standalone
CentOS 7集群搭建
准备三台服务器或者三台虚拟机分别是:
192.168.1.101
192.168.1.102
192.168.1.103
然后在三台服务器按上面单机步骤分别安装zookeeper
下载
wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz
解压到 /usr/local/soft 下
mv /usr/local/soft/apache-zookeeper-3.6.1 /usr/local/soft/zookeeper
修改配置文件
vim /usr/local/soft/zookeeper/conf/zoo.cfg
initLimit=10
syncLimit=5
dataDir=/usr/local/soft/zookeeper/data
clientPort=2181
server.1=192.168.1.101:2888:3888
server.2=192.168.1.102:2888:3888
server.3=192.168.1.103:2888:3888
创建数据存储目录
mkdir -p /usr/local/soft/zookeeper/data
创建myid文件, id 与 zoo.cfg 中的序号对应
#在192.168.1.101机器上执行
echo 1 > /usr/local/soft/zookeeper/data/myid
#在192.168.1.102机器上执行
echo 2 > /usr/local/soft/zookeeper/data/myid
#在192.168.2.103机器上执行
echo 3 > /usr/local/soft/zookeeper/data/myid
配置环境变量
vim /etc/profile
在最后加上
export ZK_HOME=/usr/local/soft/zookeeper
export PATH=$ZK_HOME/bin:$PATH
强制生效
source /etc/profile
分别启动
zkServer.sh start