文章目录
3.1、VMware网络配置-设置linux系统的固定IP地址
搭建集群,需要多个linux操作系统,每个系统的IP地址需要不一样,所以我们需要先配置下各个节点的ip。
步骤分为两步:
- 修改虚拟机的网络配置
- 修改本机windows电脑的配置,要求这两个地方的配置是一样的
3.1.1、修改虚拟机的网络配置
这一步可参考:
VMware搭建本地集群环境
或
VM集群搭建
在虚拟机关机的情况下,选择一个虚拟机
点击 编辑 -> 虚拟网络编辑器 ->选择NAT模式->更改设置
编辑设置,记住子网ip,子网掩码,可以采用默认的,下面会用到
NAT设置
DHCP设置
然后保存即可
接下来修改本机,Windows电脑的网络配置
3.1.2、Windows电脑的网络配置
检查物理主机 网卡设置,打开网络和共享中心→ 更改适配器设置→,在VMware Network Adapter VMnet8上单击右键,选择属性按钮打开属性对话框。
注意,修改的不是以太网,而是VMnet8
注意这里的子网掩码与默认网关是和上面一样的,ip地址不一样
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 network restart
3.2、修改linux系统的hosts文件
方便后续操作,配置host地址,liunx系统,打开终端,编辑文件
vi /etc/hosts
将下面这段配置添加到文档尾部即可
192.168.5.129 wlw102
192.168.5.130 wlw103
192.168.5.131 wlw104
每个机器都是相同的操作,这一步操作是为了让他们可以相互识别到,可以ping通,(先在一台机器上操作,然后克隆)
最后生效的检测:可以在wlw102机器上,ping wlw103,如果可以ping通,说明配置好了
ping wlw103
3.3、先在一台机器上安装zookeeper
步骤可参考上节内容: 二、Zookeeper安装与配置参数说明 ,但是在其基础上我们还需要一些其他的配置:
3.3.1、增加myid文件
在/opt/module/zookeeper-3.5.7/zkData 目录下创建一个 myid 的文件,在文件中添加与 server 对应的编号(注意:上下不要有空行,左右不要有空格)
[root@wlw102 zkData]$ vi myid
2
注意:别忘了在克隆之后,在wlw103、wlw104 上修改 myid 文件中内容为 3、4
3.3.2、在zoo.cfg文件增加集群配置
打开 zoo.cfg 文件
[root@wlw102 conf]$ vim zoo.cfg
增加如下配置
#######################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 wlw103
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)
1月 09 12:19:49 wlw102 systemd[1]: Starting firewalld - dynamic firewal.....
1月 09 12:19:51 wlw102 systemd[1]: Started firewalld - dynamic firewall...n.
1月 09 12:37:29 wlw102 systemd[1]: Stopping firewalld - dynamic firewal.....
1月 09 12:37:30 wlw102 systemd[1]: Stopped firewalld - dynamic firewall...n.
Hint: Some lines were ellipsized, use -l to show in full.