1、准备工作
准备三台服务器,我用的是虚拟机。
操作系统:centos7。
Zookeeper版本:3.4.9
JDK版本:1.8。
三台虚拟机的ip分别为:
Master ip:192.168.1.119
Slave1 ip:192.168.1.120
Slave2 ip:192.168.1.127
注:服务器关闭防火墙或者设置白名单。
2、关闭SELINUX
如果懂得怎么设置SELINUX,也可以不关闭。关闭SELINUX方法为:
临时关闭:selinux setenforce 0
永久关闭:vim /etc/sysconfig/selinux 把里边的一行改为 SELINUX=disabled重启服务器reboot。
查看selinux的状态:sestatus -v
3、java配置
3.1、安装前检查
检查系统版本:java -version。
查看jdk:rpm -qa | grep java或者rpm -qa | grep jdk
卸载OpenJDK:rpm -e --nodeps 文件名或者yum -y remove java 文件名。除了python-javapackages-3.4.1-5.el7.noarch、javapackages-tools-3.4.1-5.el7.noarch全部删除。
3.2、安装jdk
rpm包安装方法:rpm -ivh jdk文件名(JDK默认安装在/usr/java中)。
gz包安装方法:直接解压即可,tar xvf jdk文件名
3.3、配置java环境
配置环境变量:vim /etc/profile
追加以下内容:
JAVA_HOME=/usr/java/jdk1.8.0_111
JRE_HOME=/usr/java/jdk1.8.0_111/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
使修改生效:source /etc/profile
查看PATH值:echo $PATH。
注:追加内容不要直接复制,jdk版本号以实际安装为准。
4、Zookeeper安装配置
4.1、安装Zookeeper
Zookeeper下载后直接解压即可,建议解压到usr/local/。
tar -xzvf zookeeper-3.4.9.tar.gz
4.2、环境变量配置
vim /etc/profile
追加以下内容:
ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.9
PATH=$ZOOKEEPER_HOME/bin
(JAVA_HOME=/usr/java/jdk1.8.0_111
JRE_HOME=/usr/java/jdk1.8.0_111/jre
ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.9
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ZOOKEEPER_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH ZOOKEEPER_HOME)
使修改生效:source /etc/profile
查看PATH值:echo $PATH
4.3、主机域名映射
设置hosts:vim /etc/hosts
追加以下内容:
192.168.1.119 master
192.168.1.120 slave1
192.168.1.127 slave2
4.4、配置Zookeeper
进入zookeeper的conf子文件夹,/conf/zoo_sample.cfg文件复制一份,并更名为zoo.cfg。
cp zoo_sample.cfg zoo.cfg
编辑zoo.cfg增加server节点:
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
修改:
dataDir=/usr/local/zookeeper-3.4.9/data---//数据目录
dataLogDir=/usr/local/zookeeper-3.4.9/logs---//日志目录
server节点配置说明:
server.(数字)=(ip或域名):(端口1):(端口2),其中数字为正整数,表示服务器的序号,通常按顺序排列;ip或域名是每个服务器对应的ip地址,如果做了域名映射,可以直接填写域名;端口1是该服务器与集群中Leader服务器信息通讯的端口,通常设置为2888;端口2是在重新选择Leader时使用,如果集群中的Leader服务器失去响应,就需要进行重新选举,选出一个新的Leader,重新选举过程中的信息通讯就是通过这个端口,通常设置为3888。
4.5、创建myid文件
在dataDir指定目录下创建一个myid文件。然后分别在myid文件中按照zoo.cfg文件的server.(数字)中数字的数值,在不同服务器上的myid文件中填写相应的值。例如server.1 在当前机器的myid中就只写上1。
4.6、启动验证
进入bin目录执行命令“zkServer.sh start”启动Zookeeper。不同机器上的Zookeeper需要单独启动。
查看运行情况zkServer.sh status
zookeeper动态日志查看:进入bin目录,使用tail -f zookeeper.out 查看当前输入日志。
客户端连接zookeeper集群,可以连接多台也可以连接1台服务器,bin/zkCli.sh -server (ip1或域名1):2181,(ip2域名2):2181,(ip3域名3):2181,多个ip或域名间用逗号分隔(这里可以使用ip也可以使用域名。)
以上就是整理的在centos7下配置zookeeper,大家可以自己动手试一试。