Centos6.5 搭建zookeeper-3.4.10和Kafka-2.12-0.11.0.2集群:
本实验拥有3个节点,均为CentOS6.5系统,分别对应IP为172.16.14.220、172.16.14.221、172.16.14.222;
Zookeeper 和 Kafka 的运行都需要 Java 环境,Kafka 默认使用 G1 垃圾回收器。如果不更改垃圾回收期,官方推荐使用 7u51 以上版本的 JRE 。如果使用老版本的 JRE,需要更改 Kafka 的启动脚本,指定 G1 以外的垃圾回收器。
本文使用系统自带的 Java 环境。
为了方便,先在三台节点上 /etc/hosts 文件内容均添加:
172.16.14.220 master 172.16.14.221 worker1
172.16.14.222 worker2
- 1
- 2
- 3
一、 安装zookeeper
1. 下载 zookeeper-3.4.10
http://www-us.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
2. 在 master 节点上安装 zookeeper
解压安装包,并复制配置文件
# 在master节点上
$ tar -xzvf zookeeper-3.4.8.tar.gz
$ cd zookeeper-3.4.10/conf/ //配置文件路径
$ cp zoo_sample.cfg zoo.cfg
- 1
- 2
- 3
- 4
3. 修改 zoo.cfg
$ vi zoo.cfg
- 1
修改内容如下:
...
# dataDir 最好不要在 /tmp 下
dataDir=/date/zookeeper //存放myid 配置文件
dataLogDir=/date/zookeeper/logs
...
# the port at which the clients will connect
clientPort=2181
# 添加节点,注:端口2888、3888不固定
server.0=master:2888:3888
server.1=worker1:2888:3888
server.2=worker2:2888:3888
...
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
说明:
- dataDir 和 dataLogDir 需要在启动前创建完成
- clientPort 为 zookeeper的服务端口
- server.0、server.1、server.2 为 zk 集群中三个 node 的信息,定义格式为 hostname:port1:port2,其中 port1 是 node 间通信使用的端口,port2 是node 选举使用的端口,需确保三台主机的这两个端口都是互通的。
4. 在 dataDir 目录下创建 data 文件夹 和 myid 文件(内容为 0)
# 在master节点上
$ mkdir /data/zookeeper
$ touch /data/zookeeper/myid
$ echo 0 > /tmp/zookeeper/myid
- 1
- 2
- 3
- 4