作为一名菜鸟Java工程师,公司这几天让我搭建zookeeper集群,对于搭建过的人来说十分简单,对zookeeper不太熟悉的人来说还是有一定难度的,这一周我在公司的角色更像是运维人员搭建各种集群,一般公司像这种集群搭建来说也不会给我这种小白搭建,一个字干,另外kafka搭建点击这篇,clickhouse搭建点击这篇。
对于集群搭建来说使用docker来搭建更加方便,这里使用docker-compose来搭建zookeeper集群。
由于我自己就一台服务器,那就在一台搭个三节点的集群,因为zookeeper搭建集群最好是奇数台,利于选举与防止脑裂,为了能保证集群搭建可用,这里分二个阶段:准备阶段、搭建阶段。
1、准备阶段:一定要去服务器看看有没有配置安全组,不然连不上客户端。
等搭建阶段运行端口起来后可以执行telnet命令,没有的话yum安装一个,用起来方便。
yum list telnet* #列出telnet相关的安装包
yum install telnet-server #安装telnet服务
yum install telnet.* #安装telnet客户端
telnet 你的ip 2181
#修改host文件
vim /etc/hosts
你自己的服务器ip zoo1
你自己的服务器ip zoo2
你自己的服务器ip zoo3
2、搭建阶段:安装docker和docker-compose、创建文件夹、上传文件、运行容器、查看状态(发现有一个leader两个flower就ok了)
#更新yum
sudo yum update
#安装docker
sudo yum install docker-ce
#安装docker-compose,利用它编排和运行docker容器更方便
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#设置可执行权限
sudo chmod +x /usr/local/bin/docker-compose
#查看安装成功
docker-compose --version
#创建zookeeper挂载目录
mkdir /home/zookeeper
#上传文件运行容器
rz docker-compose.yml
docker-compose up -d
docker-compose logs
docker-compoes.yml
version: '3.1'
services:
zoo1:
image: zookeeper
restart: always
container_name: zoo1
ports:
- 2181:2181
volumes:
- /home/zk/zoo1/data:/data
- /home/zk/zoo1/datalog:/datalog
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
ZOO_AUTOPURGE_PURGEINTERVAL: 1
zoo2:
image: zookeeper
restart: always
container_name: zoo2
ports:
- 2182:2181
volumes:
- /home/zk/zoo2/data:/data
- /home/zk/zoo2/datalog:/datalog
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
ZOO_AUTOPURGE_PURGEINTERVAL: 1
zoo3:
image: zookeeper
restart: always
container_name: zoo3
ports:
- 2183:2181
volumes:
- /home/zk/zoo3/data:/dada
- /home/zk/zoo3/datalog:/datalog
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
ZOO_AUTOPURGE_PURGEINTERVAL: 1
恭喜你搭建成功,记得一键三连呀!
世界上最大的谎言就是你不行