一、准备工作(zookeeper需要2*n+1【n>1】个节点,这里使用两个只做说明,因为从节点的配置大致一样)
环境:两台可以相互ping通的虚拟机(本次使用的是centOS6.5-32位,详情见VMware克隆虚拟机)
172.17.70.98 从
172.17.70.101 主
安装包:
jdk-8u161-linux-i586.tar.gz
zookeeper-3.4.11.tar.gz
二、环境配置
1.1解压两个tar包,安装包(/usr/software)和安装路径(/usr/app)我都放到/usr下面的
tar -zxvf jdk-8u161-linux-i586.tar.gz -C /usr/app
tar -zxvf zookeeper-3.4.11.tar.gz -C /usr/app
1.2配置环境变量(Linux下配置JAVA_HOME和ZOOKEEPER_HOOM)
命令:vim /etc/profile
编辑:
# /etc/profile
export JAVA_HOME=/usr/app/jdk1.8.0_161
export ZOOKEEPER_HOME=/usr/app/zookeeper-3.4.11
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH
1.3主从设计
1.3.1 ip配置
命令:vim /etc/hosts
编辑如下
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.17.70.101 master
1.3.2 ID配置
命令:cp zoo_sample.cfg zoo.cfg
[root@slave1 /]# cd /usr/app/zookeeper-3.4.11/
[root@slave1 zookeeper-3.4.11]# cd conf/
[root@slave1 conf]# ls
configuration.xsl log4j.properties zoo.cfg zoo_sample.cfg
[root@slave1 conf]#
命令:vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir= /usr/app/zookeeper-3.4.11/data
dataLogDir=/usr/app/zookeeper-3.4.11/logs
clientPort=2181
server.1=master:2888:3888
server.X=A:B:C
X-代表服务器编号
A-代表ip
B和C-代表端口,这个端口用来系统之间通信
touch myid
vim myid
写入对应的server.X对应的id。两个节点都要创建
172.17.70.101 master-----1
172.17.70.98 slave1------2
三、启动
3.1关闭防火墙,两个都要关
[root@master data]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@master data]# chkconfig iptables off
[root@master data]# service iptables status
iptables: Firewall is not running.
3.2 启动zookeeper
/var/local/server/zookeeper/bin/zkServer.sh start
/var/local/server/zookeeper/bin/zkServer.sh status
/var/local/server/zookeeper/bin/zkServer.sh restart
环境:两台可以相互ping通的虚拟机(本次使用的是centOS6.5-32位,详情见VMware克隆虚拟机)
172.17.70.98 从
172.17.70.101 主
安装包:
jdk-8u161-linux-i586.tar.gz
zookeeper-3.4.11.tar.gz
二、环境配置
1.1解压两个tar包,安装包(/usr/software)和安装路径(/usr/app)我都放到/usr下面的
tar -zxvf jdk-8u161-linux-i586.tar.gz -C /usr/app
tar -zxvf zookeeper-3.4.11.tar.gz -C /usr/app
1.2配置环境变量(Linux下配置JAVA_HOME和ZOOKEEPER_HOOM)
命令:vim /etc/profile
编辑:
# /etc/profile
export JAVA_HOME=/usr/app/jdk1.8.0_161
export ZOOKEEPER_HOME=/usr/app/zookeeper-3.4.11
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH
1.3主从设计
1.3.1 ip配置
命令:vim /etc/hosts
编辑如下
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.17.70.101 master
172.17.70.98 slave1
.....(多个从节点)
1.3.2 ID配置
命令:cp zoo_sample.cfg zoo.cfg
[root@slave1 /]# cd /usr/app/zookeeper-3.4.11/
[root@slave1 zookeeper-3.4.11]# cd conf/
[root@slave1 conf]# ls
configuration.xsl log4j.properties zoo.cfg zoo_sample.cfg
[root@slave1 conf]#
命令:vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir= /usr/app/zookeeper-3.4.11/data
dataLogDir=/usr/app/zookeeper-3.4.11/logs
clientPort=2181
server.1=master:2888:3888
server.2=slave1:2888:3888
......
【说明】:(启动顺序:server1--》server2--》....从上往下依次启动,否则会报错的)
----------------------------server.X=A:B:C
X-代表服务器编号
A-代表ip
B和C-代表端口,这个端口用来系统之间通信
------------------------------------
1.3.3
命令: cd /datatouch myid
vim myid
写入对应的server.X对应的id。两个节点都要创建
172.17.70.101 master-----1
172.17.70.98 slave1------2
三、启动
3.1关闭防火墙,两个都要关
[root@master data]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@master data]# chkconfig iptables off
[root@master data]# service iptables status
iptables: Firewall is not running.
3.2 启动zookeeper
启动
/var/local/server/zookeeper/bin/zkServer.sh start
查看状态
/var/local/server/zookeeper/bin/zkServer.sh status
重启
/var/local/server/zookeeper/bin/zkServer.sh restart
关闭
/var/local/server/zookeeper/bin/zkServer.sh stop