​zk目录​


文章目录


3.1、VMware网络配置-设置linux系统的固定IP地址

搭建集群,需要多个linux操作系统,每个系统的IP地址需要不一样,所以我们需要先配置下各个节点的ip。

步骤分为两步:

  • 修改虚拟机的网络配置
  • 修改本机windows电脑的配置,要求这两个地方的配置是一样的

3.1.1、修改虚拟机的网络配置

这一步可参考:
​​​VMware搭建本地集群环境​​​ 或
​VM集群搭建​

在虚拟机关机的情况下,选择一个虚拟机

点击 编辑 -> 虚拟网络编辑器 ->选择NAT模式->更改设置

三、Zookeeper 集群搭建_VM集群搭建

编辑设置,记住子网ip,子网掩码,可以采用默认的,下面会用到

三、Zookeeper 集群搭建_VM集群搭建_02

NAT设置

三、Zookeeper 集群搭建_网络配置_03

DHCP设置

三、Zookeeper 集群搭建_网络配置_04

然后保存即可

接下来修改本机,Windows电脑的网络配置

3.1.2、Windows电脑的网络配置

检查物理主机 网卡设置,打开网络和共享中心→ 更改适配器设置→,在VMware Network Adapter VMnet8上单击右键,选择属性按钮打开属性对话框。

注意,修改的不是以太网,而是VMnet8

注意这里的子网掩码与默认网关是和上面一样的,ip地址不一样

三、Zookeeper 集群搭建_网络配置_05

3.1.3、linux系统ip设置

进入linux系统,打开终端,编辑文件:

vi /etc/sysconfig/network-scripts/ifcfg-ens33 (部分虚拟机可能名称不一样,同目录下ifcfg-en开头的文,这个文件一开始里面是有内容的) ,模仿下面的配置。

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
# 将获取ip方式改为静态
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=48a4ec69-2ad7-4b3d-96fd-4fdf7fa0a132
DEVICE=ens33
# 设置开机自动启动
ONBOOT=yes
# 配置IP内容
IPADDR=192.168.0.101
# 网关
GATEWAY=192.168.0.1
# 子网掩码
BROADCAST=192.168.0.255
# DNS
DNS1=114.114.114.114
DNS2=8.8.8.8

配置完成后保存退出,并重启网络配置

service

3.2、修改linux系统的hosts文件

方便后续操作,配置host地址,liunx系统,打开终端,编辑文件

vi

将下面这段配置添加到文档尾部即可

192.168.5.129  wlw102
192.168.5.130 wlw103
192.168.5.131 wlw104

每个机器都是相同的操作,这一步操作是为了让他们可以相互识别到,可以ping通,(先在一台机器上操作,然后克隆)

最后生效的检测:可以在wlw102机器上,ping wlw103,如果可以ping通,说明配置好了

ping

3.3、先在一台机器上安装zookeeper

步骤可参考上节内容: ​​二、Zookeeper安装与配置参数说明​​ ,但是在其基础上我们还需要一些其他的配置:

3.3.1、增加myid文件

在/opt/module/zookeeper-3.5.7/zkData 目录下创建一个 myid 的文件,在文件中添加与 server 对应的编号(注意:上下不要有空行,左右不要有空格)

[root@wlw102 zkData]$ vi
2

注意:别忘了在克隆之后,在wlw103、wlw104 上修改 myid 文件中内容为 3、4

3.3.2、在zoo.cfg文件增加集群配置

打开 zoo.cfg 文件

[root@wlw102 conf]$ vim

增加如下配置

#######################cluster##########################
server.2=wlw102:2888:3888
server.3=wlw103:2888:3888
server.4=wlw104:2888:3888

(3)配置参数解读

server.A=B:C:D。

A 是一个数字,表示这个是第几号服务器;

集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个 server。

B 是这个服务器的地址;

C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;

D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

3.4、克隆出另外两台机器

根据wlw102,克隆出两台机器:wlw103、wlw104,刚克隆出来时可wlw102机器是一摸一样的,我们还需要更改以下内容:

3.4.1、修改ip地址

修改这两台机器的ip地址,可以直接编辑文件:

vi /etc/sysconfig/network-scripts/ifcfg-ens33,

执行完之后,看下我的三台机器的ip地址:

192.168.5.129  wlw102

192.168.5.130 wlw103

192.168.5.131 wlw104

3.4.2、修改zookeeper的myid文件

在/opt/module/zookeeper-3.5.7/zkData 目录下的myid 的文件,

wlw102机器上的myid内容是:2

wlw103机器上的myid内容是:3

wlw104机器上的myid内容是:4

还有hosts文件,其实可以不该了,因为三台机器要配置的是一样的。

到此,可以在三台机器上互相ping下,不要ping ip地址,ping 别名,例如:

在wlw102机器上,用终端:

ping

3.5、zookeeper集群测试

5)集群操作

(1)分别启动 Zookeeper

[root@wlw102 zookeeper-3.5.7]$ bin/zkServer.sh start
[root@wlw103 zookeeper-3.5.7]$ bin/zkServer.sh start
[root@wlw104 zookeeper-3.5.7]$ bin/zkServer.sh start

(2)查看状态

[root@wlw102  zookeeper-3.5.7]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Mode: follower

[root@wlw103 zookeeper-3.5.7]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Mode: leader

[root@wlw104 zookeeper-3.4.5]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Mode: follower

如果出现:

/usr/bin/java ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper/bin/…/conf/zoo.cfg
Error contacting service. It is probably not running.

先检查这上面的配置有没有配置好,有没有配置错。

如果都没有错,可以试下关闭防火墙:

03 zookeeper]# systemctl stop firewalld  #停止firewall防火墙

03 zookeeper]# systemctl disable firewalld #禁止firewall开机启动

03 zookeeper]# systemctl status firewalld #查看firewall状态
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled)
Active: inactive (dead)

109 12:19:49 wlw102 systemd[1]: Starting firewalld - dynamic firewal.....
109 12:19:51 wlw102 systemd[1]: Started firewalld - dynamic firewall...n.
109 12:37:29 wlw102 systemd[1]: Stopping firewalld - dynamic firewal.....
109 12:37:30 wlw102 systemd[1]: Stopped firewalld - dynamic firewall...n.
Hint: Some lines were ellipsized, use -l to show in