一、zookeeper集群的安装。
(我亲自成功搭建过的一套集群,涉及到很多的细节,但是有的细节地方我不一定能完全写出,如果有遇到问题的可以留言)
前提准备3台centos7.0虚拟机
(1)首先设置每台虚拟机的网络连接方式为net方式,然后修改每台虚拟机的IP地址为静态IP(虚拟机设置里面),然后修改每台主机的主机名(/etc/hostname),最后把下面的IP和主机名的映射写到每台虚拟机的/etc/hosts文件中,注意是在每台机器上都执行。具体如下(本篇文章重点在搭建环境,上述准备工作不会的请自行百度。一定更要确保这一步做完,否则后边会出现很多问题。)
192.168.70.103:node1
192.168.70.104:node2
192.168.70.105:node3
(2)下载zookeeper并解压
登录到node1并进入/opt目录下执行如下命令
[root@node1 opt]$ wget http://apache.fayea.com/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
[root@node1 opt]$ tar -zxvf zookeeper-3.4.10.tar.gz
[root@node1 opt]$ chmod +wxr zookeeper-3.4.10
(3)修改zookeeper的配置文件,并建立数据目录和日志目录
[root@node1 opt]$ cd zookeeper-3.4.10
[root@node1 zookeeper-3.4.10]$ mkdir data
[root@node1 zookeeper-3.4.10]$ mkdir logs
[root@node1 zookeeper-3.4.10]$ vi conf/zoo.cfg (打开后在文件中找到下面的字段然后照着写)
# example sakes.
dataDir=/opt/zookeeper-3.4.10/data
dataLogDir=/opt/zookeeper-3.4.10/logs
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
[root@node1 zookeeper-3.4.10]$ cd data
[root@node1 data]$ vi myid
1
(4)复制node3的zookeeper-3.4.10到node2和node3上
[root@node1 opt]$ scp zookeeper-3.4.10 root@node2:/opt/zookeeper-3.4.10
[root@cnode1 opt]$ scp zookeeper-3.4.10 root@node3:/opt/zookeeper-3.4.10
(5)分别修改node2和node3上myid的值为2和3
[root@node2 zookeeper-3.4.10]$ vi data/myid
2
[root@node3 zookeeper-3.4.10]$ vi data/myid
3
(6)分别启动node1、node2、node3上的zookeeper
[root@node1 zookeeper-3.4.10]$ bin/zkServer.sh start
[root@node2 zookeeper-3.4.10]$ bin/zkServer.sh start
[root@node3 zookeeper-3.4.10]$ bin/zkServer.sh start
(7)查看zookeeper的状态(一定要在三台虚拟机上全部启动zookeeper后再去查看zookeeper的状态,相信学过zookeeper的知道这里说的"状态"是什么意思)
[root@node1 zookeeper-3.4.10]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
[root@node2 zookeeper-3.4.10]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: leader
[root@node3 zookeeper-3.4.10]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
(8)验证zookeeper集群
[root@node1 zookeeper-3.4.10]$ bin/zkCli.sh
Connecting to c7003:2181
2017-04-02 03:06:12,251 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
2017-04-02 03:06:12,257 [myid:] - INFO [main:Environment@100] - Client environment:host.name=c7003.ambari.apache.org
2017-04-02 03:06:12,257 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_121
2017-04-02 03:06:12,260 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2017-04-02 03:06:12,260 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/opt/jdk1.8.0_121/jre
2017-04-02 03:06:12,260 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/opt/zookeeper-3.4.10/bin/../build/classes:/opt/zookeeper-3.4.10/bin/../build/lib/*.jar:/opt/zookeeper-3.4.10/bin/../lib/slf4j-log4j