Linux之zookeeper集群搭建

Linux之zookeeper集群搭建 day14


此篇内容详细介绍zookeeper集群的搭建,以及萌新路上碰见的花里胡哨的问题,(没错就是我,我把坑一个一个算是踩完了~~必须汇总一下我遇到妖魔鬼怪!)


目录

1. 具体的zookeeper集群搭建
2. zookeeper搭建常见问题汇总
3. 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配置)

Linux之zookeeper集群搭建_第1张图片
如上图,当基本的环境配置完毕时,对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

Linux之zookeeper集群搭建_第2张图片
此处需要修改端口号:(三台虚拟机的端口号不能一样)

三台端口号:2181、2182、2183(随意)

Linux之zookeeper集群搭建_第3张图片


创建和修改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,查看如下:
Linux之zookeeper集群搭建_第4张图片
-查看三台虚拟机的/etc/hosts文件(确认无误)

Linux之zookeeper集群搭建_第5张图片
配置完毕!

3、启动三台虚拟机

-启动三台虚拟机

[root@zkeeper01 zookeeper]# bin/zkServer.sh start
[root@zkeeper01 zookeeper]# bin/zkServer.sh status

Linux之zookeeper集群搭建_第6张图片

下面操作只为更清晰的观察结果

//直接jps查看端口号也可具体显示出zookeeper在运行
jps
//安装net-tools软件包
yum -y install net-tools
//输入ifconfig,查看对应的虚拟机的ip地址及状态
ifconfig

Linux之zookeeper集群搭建_第7张图片
如有问题直接留言



二、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.
Linux之zookeeper集群搭建_第8张图片
检查以下几点:
⭐ - jdk未安装,无Java运行环境
⭐ - 防火墙未关闭
⭐ - 三台虚拟机的端口号一样,导致无法启动
Linux之zookeeper集群搭建_第9张图片
⭐ - 三台虚拟机的/etc/hosts文件修改错误
Linux之zookeeper集群搭建_第10张图片
⭐ - 三台虚拟机的myid文件内容与zoo.cfg文件里的server.x不对应
Linux之zookeeper集群搭建_第11张图片
⭐ - 非常重要一点,仔细操作,一点失误,就可能启动不了
其他问题请直接私信我


补充常用知识:

三、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

你可能感兴趣的:(Java+大数据之旅,linux,zookeeper,java,大数据)