一、目标
安装部署一套3节点的ZooKeeper集群,并运行起来。
规划如下:
节点ip | 主机名 | 软件 |
---|---|---|
192.168.1.201 | zk-node1 | zookeeper |
192.168.1.202 | zk-node2 | zookeeper |
192.168.1.203 | zk-node3 | zookeeper |
二、搭建虚拟机
1、安装虚拟机软件
这里选择的是VirtualBox:Downloads – Oracle VM VirtualBox
2、安装虚拟机
点击新建按钮
设置镜像和名称,镜像可以去网络上下载CentOS7
设置用户名密码为root/root
配置2U1G,硬盘10G
如果出现不能安装操作系统错误,则需要在该虚拟机的设置——存储中,手动进行镜像选择,后续需要手动安装操作系统。
3、配置网络
选择桥接模式,网卡选择此时正在接入网络的网卡,可以查看windows的 控制面板\网络和 Internet\网络连接,混杂模式选择的全部允许。
配置静态ip,先cd到/etc/sysconfig/network-scripts下,修改相应网卡的配置,在这里是ifcfg-enp0s3。
修改这个文件中的
- BOOTPROTO=static 表示静态分配ip,另一种是dhcp
- ONBOOT=yes
- IPADDR=192.168.1.201 (这个看windows上ipconfig /all可以查看对应桥接网络的地址段、网关、DNS等)
- GATEWAY=192.168.1.1
- NETWORK=255.255.255.0
- DNS1=8.8.8.8
然后执行 service network restart,再去ping一下百度,可以看到网络已经通了。
4、复制虚拟机
该步骤可放到安装完openssh server之后。
右击虚拟机,点击 复制,
此时,我们已经成功复制出了 zk-node2 和 zk-node3。我们还需要对这两台虚拟机按照3中的网络配置将ip地址配置为202和203,然后重启网络。
三、配置xshell
用virtualbox自己的操作界面比较难受,我们配置XShell连接虚拟机。
1、服务器安装ssh-server
执行 yum install openssh-server
2、xshell配置连接
四、安装JDK
由于ZooKeeper是用Java写的,所以必须安装JDK才能正常运行。
1、下载JDK
2、上传至服务器
3、解压
mkdir /usr/local/java
tar -zxvf jdk-8u381-linux-x64.tar.gz -C /usr/local/java
4、配置环境变量
在 ~/.bashrc中添加:
export JAVA_HOME=/usr/local/java/jdk1.8.0_381
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
然后执行
source ~/.bashrc
java -version
五、安装ZooKeeper
1、下载ZooKeeper
下载链接:https://dlcdn.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
2、解压
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /usr/local/
cd /usr/local && mv apache-zookeeper-3.7.1-bin/ zookeeper
进入zookeeper目录,如下:
六、集群部署
1、创建data目录
每个节点执行以下命令:
mkdir /zkData
2、创建myid
每个节点都需要指定myid,且不能相同,三个节点依次为1/2/3:
cd /zkData
echo 1 > myid
3、修改配置文件
cd /usr/local/zookeeper/conf/
mv zoo_sample.cfg zoo.cfg
修改zoo.cfg的dataDir为我们创建的/zkData:
新增集群配置:
server.1=192.168.1.201:2888:3888
server.2=192.168.1.202:2888:3888
server.3=192.168.1.203:2888:3888
4、禁用防火墙
禁用防火墙或者配置端口放行,否则zk集群无法正常工作,会产生如下报错:
[root@localhost bin]# sh zkServer.sh status
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.
systemctl stop firewalld
配置端口放行参考:(114条消息) Centos 7防火墙开放端口方法_centos7开放端口_奋斗的工程师的博客-CSDN博客
5、启动zookeeper
cd /usr/local/zookeeper/bin/
sh zkServer.sh start
6、查询zookeeper状态
zk-node1:follower
zk-node2:follower
zk-node3:leader
标签:zk,部署,local,虚拟机,zookeeper,192.168,usr,安装 From: https://www.cnblogs.com/zhaoqi94/p/17574964.html