Linux之zookeeper集群搭建 day14
🍜此篇内容详细介绍zookeeper集群的搭建,以及萌新路上碰见的花里胡哨的问题,(没错就是我,我把坑一个一个算是踩完了~😭~必须汇总一下我遇到妖魔鬼怪!)
目录
一、🍜Zookeeper集群搭建
1、准备工作
- 准备虚拟机Linux(这句话有点多余😂)
- 先创建一个zkeeper01虚拟机进行基础配置
- 克隆zkeeper01,克隆出zkeeper02、zkeeper03(直接入正题)
2、三台虚拟机的创建并配置
(1)单个虚拟机配置zkeeper01
这里我直接将准备工作做好了,具体:先配置zkeeper01的网络,防火墙,和java运行环境,因为zookeeper是由java编写需要java运行环境,配置号zkeeper01之后拍摄快照,进行克隆,生成另外两台!
🎈虚拟机设置
vi /etc/hostname //此处修改的名称要与hosts文件的名字一样
hostname文件内容: hosts文件内容(后面三台虚拟机统一设置):
🎈防火墙配置命令
关闭防火墙:
systemctl stop firewalld
卸载防火墙:(这里直接卸载了防火墙,省事)
systemctl disable firewalld
🎈网络配置(很简单,这里不做多解释)只要能ping同百度就行 其实就是修改这个文件:vim /etc/sysconfig/network-scripts/ifcfg-ens32
//文件修改内容后,如下:
TYPE=Ethernet
BOOTPROTO=static
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.168.67
NETMASK=255.255.255.0
GATEWAY=192.168.168.2
DNS1=192.168.168.2
DNS2=114.114.114.114
DNS3=8.8.8.8
Tips:注意
//克隆的三台计算机ip地址不能一样,第一时间记得修改(我的三台ip如下)
zkeeper01=192.168.168.67
zkeeper02=192.168.168.68
zkeeper03=192.168.168.69
🎈Java环境配置(这里不懂得点一下有专门解释jdk配置)
如上图,当基本的环境配置完毕时,对zookeeper01拍摄快照,再进行克隆操作出zookeeper02、zookeeper03即可
(2)对zookeeper进行软件安装配置
🎈 - zookeeper资源下载(建议到目录/usr/local/ 下载)
//切换到/usr/local目录下下载,安装目录随个人喜好不强求
cd /usr/local
wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
🎈 - 解压文件改文件名
//我这里直接加压在/usr/local目录下
tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
//改文件名为zookeeper
mv apache-zookeeper-3.7.0-bin.tar.gz zookeeper
🎈-修改配置文件(进入加压后的文件,找到conf/zoo_sample.cfg 文件)
//对文件进行重命名
cd zookeeper/conf //进入配置文件目录(看你所处目录情况来看,按照我一样的不用担心直接复制命令)
ls //查看是否有zoo_sample.cfg文件
mv zoo_sample.cfg zoo.cfg //确定有,则改名字
//进行文件内部修改
vim zoo.cfg
//2888为组成zookeeper服务器之间的通信端口,3888为用来选举leader的端口
三台虚拟机都需操作
server.1=192.168.168.67:2888:3888
server.2=192.168.168.68:2888:3888
server.3=192.168.168.69:2888:3888
?此处需要修改端口号:(三台虚拟机的端口号不能一样)
三台端口号:2181、2182、2183(随意)
创建和修改myid文件内容: 🎈-创建数据存储文件夹data和myid文件
mkdir /usr/local/zookeeper/data
touch myid //创建文件myid
//写入内容1,此处内容要与zoo.cfg内的server.1的.1一致
echo "1">>myid
//查看文件内容是否添加成功
cat myid
🎈-修改/etc/hosts文件,增加内容如下:
192.168.168.67 zkeeper01 zkeeper01
192.168.168.68 zkeeper02 zkeeper02
192.168.168.69 zkeeper03 zkeeper03
(3)将配置好的zookeeper分发到zkeeper02、zookeeper03虚拟机中
🎈-将配置好的zookeeper文件分发
//分发给zkeeper02(加-r)
scp -r zookeeper 192.168.168.68:/usr/local/
//分发给zkeeper03
scp -r zookeeper 192.168.168.69:/usr/local/
🎈-修改zookeeper02和zookeeper03里的myid文件 修改zookeeper02的myid内容为2,zookeeper03的myid内容为3,查看如下: 🎈-查看三台虚拟机的/etc/hosts文件(确认无误)
配置完毕!
3、启动三台虚拟机
🎈-启动三台虚拟机
[root@zkeeper01 zookeeper]# bin/zkServer.sh start
[root@zkeeper01 zookeeper]# bin/zkServer.sh status
下面操作只为更清晰的观察结果
//直接jps查看端口号也可具体显示出zookeeper在运行
jps
//安装net-tools软件包
yum -y install net-tools
//输入ifconfig,查看对应的虚拟机的ip地址及状态
ifconfig
如有问题直接留言
二、🍜Zookeeper集群常见问题汇总
熟悉的报错语句: ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Client SSL: false. Error contacting service. It is probably not running. 检查以下几点: ? - jdk未安装,无Java运行环境 ? - 防火墙未关闭 ? - 三台虚拟机的端口号一样,导致无法启动 ? - 三台虚拟机的/etc/hosts 文件修改错误 ? - 三台虚拟机的myid 文件内容与zoo.cfg 文件里的server.x不对应 ? - 非常重要一点,仔细操作,一点失误,就可能启动不了😂 其他问题请直接私信我
补充常用知识:
🍜三、Zookeeper常用命令
🎁 常用命令
- 启动Zookeeper服务:
./zkServer.sh start - 查看Zookeeper服务状态:
./zkServer.sh status - 停止Zookeeper服务:
./zkServer.sh stop - 重启Zookeeper服务:
./zkServer.sh restart
🎁 Zookeeper客户端常用命令
- 连接Zookeeper服务端:
./zkCli.sh -server ip:port(链接外部服务端) /./zkCli.sh(连接本机服务端) - 断开连接:
quit - 查看命令帮助:
help - 显示指定目录下节点:
ls 目录 (eg:ls ./) - 创建节点:
create /节点path value (eg:create /zk01 100) - 获取节点值:
get /节点path - 设置节点值:
set /节点path value - 删除单个节点:
delete /节点path - 删除带有子节点的节点:
deleteall /节点path
|