一、 在centos7上安装zookeeper
1. 使用以下命令更新系统的包管理器:
sudo yum update
2. 使用如下命令安装JDK:
sudo yum install java-1.8.0-openjdk-devel
3. 在Apache网站上使用如下命令下载ZooKeeper:
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
如果需要其它版本的zookeeper或者报错没有该资源,前往
https://downloads.apache.org/zookeeper/
查询需要的版本,更改链接就可。
4. 使用以下命令解压ZooKeeper:
tar -xvf apache-zookeeper-3.7.0-bin.tar.gz
5. 将解压后的目录重命名为”zookeeper”:
mv apache-zookeeper-3.7.0-bin zookeeper
6. 创建ZooKeeper数据目录:
sudo mkdir /var/lib/zookeeper/data
sudo mkdir /var/lib/zookeeper/logs
7. 创建ZooKeeper配置文件:
sudo nano zookeeper/conf/zoo.cfg
Nano命令的用法可以百度,也可以使用vi 命令
在文件中添加如下代码行:
tickTime=2000
dataDir=/var/lib/zookeeper/data
dataLogDir=/var/lib/zookeeper/logs
clientPort=2181
这些设置配置了ZooKeeper的滴答时间(以毫秒为单位),ZooKeeper存储数据的数据目录,以及ZooKeeper监听的客户端端口。
8. 使用如下命令启动ZooKeeper:
zookeeper/bin/zkServer.sh start
9. 使用如下命令检查ZooKeeper是否正在运行:
./zkServer.sh status
##或者
zookeeper/bin/zkCli.sh
关于是否需要卸载原本的zookeeper,个人认为影响不大。
二、 搭建zookeeper集群
1. 按照前面提供的步骤在集群中的每个节点上安装和配置ZooKeeper通过在每个节点的ZooKeeper数据目录中创建一个名为“myid”的文件,为集群中的每个节点分配一个唯一的ID。
例如,如果第一个节点的ID是1,在该节点上创建一个名为“/var/lib/zookeeper/data/myid”的文件,内容为“1”(不带引号)。一定要放在data下,不然会报找不到myid文件的错。
编辑每个节点上的ZooKeeper配置文件,以包含集群中所有节点的列表。打开配置文件(默认为/opt/zookeeper/conf/zoo.cfg),为每个节点增加一行,格式如下:
server.<ID>=<hostname>:2888:3888
<ID>替换为节点的ID号,<hostname>替换为节点的主机名或IP地址,2888替换为ZooKeeper点对点通信的端口号,3888替换为leader选举的端口号。例如,第一个节点的ID为1,主机名为“zookeeper1”,ip为”192.168.211.136”则在配置文件中增加如下一行:
server.1=zookeeper:2888:3888
##或
server.1=192.168.111.136:2888:3888
##若有3台服务器,则需要添加三行:
server.1=192.168.111.136:2888:3888
server.2=192.168.111.135:2888:3888
server.3=192.168.111.134:2888:3888
注意:添加完后不要留空行
2. 分别启动每台服务器的zookeeper服务
/opt/zookeeper/zookeeper/bin/zkServer.sh start
3. 查看状态
/opt/zookeeper/zookeeper/bin/zkServer.sh status
运行状态 follower为从服务器 leader为主服务器节点
三、 如果使用的是虚拟机,还需要注意以下配置:
一、虚拟机下Centos无法联网解决方案
1.首先调整虚拟机的网络适配器为NAT模式
2.设置虚拟机的“编辑”--》“虚拟网络编辑器”中的VMnet8的DHCP的设置两个选项都勾选上。
默认都是勾上的
3.在CMD(以管理员身份运行)开启物理主机的VMware DHCP Service 和VMware NAT Service服务,命令
net start "VMware DHCP Service"
net start "VMware NAT Service"
4.CentOS默认不启动网卡,需要手动启动
cd /etc/sysconfig/network-scripts/
ls 查看一下ifcfg-eno后面对应的数字是什么,以ens33为例
切换到root用户下,
vi ifcfg-ens33
编辑该文件设置
ONBOOT=yes
5.重启
service NetworkManager stop
service network restart
service NetworkManager start
二 、配置静态IP
因为每次虚拟机重启都可能会导致IP发生变化,需要做一下配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
把BOOTPROTO设置为static静态的
然后在下面加上两个值ip和子网掩码
IPADDR=192.168.158.131(填你的ip) #IP地址
NETMASK=255.255.255.0 (填你的掩码值) #掩码值
GATEWAY=192.168.111.1 (默认网关)在虚拟机-编辑-虚拟网络编辑器查看
DNS1=和GATEWAY一样
查看子网IP点击编辑-->虚拟网络编辑器