Kafka集群部署
规划节点
| IP | 主机名 | 节点 |
|---|---|---|
| 192.168.200.14 | ZooKeeper1 | 集群节点 |
| 192.168.200.15 | ZooKeeper2 | 集群节点 |
| 192.168.200.16 | ZooKeeper3 | 集群节点 |
- 基础准备 使用 ZooKeeper 集群搭建的 3 个节点来构建 Kafka 集群,因为 Kafka 服务依赖于 ZooKeeper 服务,所以不再多创建云主机来进行试验。软件包使用提供的 kafka_2.11-1.1.1.tgz 软件包。
搭建 Kafka 集群
- 解压 Kafka 软件包 将提供的 kafka_2.11-1.1.1.tgz 软件包,上传至 3 个节点的/root 目录下,并执行解压操作, 上传操作:
scp kafka_2.11-1.1.1.tgz zookeeper2:/root/
scp kafka_2.11-1.1.1.tgz zookeeper3:/root/[root@zookeeper1 ~]# scp kafka_2.11-1.1.1.tgz zookeeper2:/root
root@zookeeper2's password:
kafka_2.11-1.1.1.tgz 100% 55MB 54.8MB/s 00:01
[root@zookeeper1 ~]# scp kafka_2.11-1.1.1.tgz zookeeper3:/root
root@zookeeper3's password:
kafka_2.11-1.1.1.tgz3 个节点执行的解压命令如下:
tar -zxvf kafka_2.11-1.1.1.tgz- 修改 3 个节点配置文件 在 zookeeper1 节点,在 /root/kafka_2.11-1.1.1/config 目录下,编辑 server.properties 文件。
vi /root/kafka_2.11-1.1.1/config/server.properties在配置文件中找到以下两行并注释掉(在文本前加#)如下所示:
#broker.id=0
#zookeeper.connect=localhost:2181然后在配置文件的底部添加如下 3 个配置。 zookeeper1 节点:
broker.id=1
zookeeper.connect=192.168.200.14:2181,192.168.200.15:2181,192.168.200.16:2181
listeners = PLAINTEXT://192.168.200.14:9092zookeeper2 节点:
broker.id=2
zookeeper.connect=192.168.200.14:2181,192.168.200.15:2181,192.168.200.16:2181
listeners = PLAINTEXT://192.168.200.15:9092zookeeper3 节点:
broker.id=3
zookeeper.connect=192.168.200.14:2181,192.168.200.15:2181,192.168.200.16:2181
listeners = PLAINTEXT://192.168.200.16:9092提醒
注意ip
全部启动服务
/root/kafka_2.11-1.1.1/bin/kafka-server-start.sh -daemon /root/kafka_2.11-1.1.1/config/server.properties检查服务
jps[root@zookeeper1 ~]# jps
8282 QuorumPeerMain
13389 Kafka
13455 Jps[root@zookeeper2 ~]# jps
11138 QuorumPeerMain
11750 Jps
11690 Kafka[root@zookeeper3 ~]# jps
13714 Jps
6648 QuorumPeerMain
13624 Kafka测试服务
在 zookeeper1 节点,进入 kafka_2.11-1.1.1/bin 目录下,创建 topic 命令如下。 zookeeper1 节点:
cd kafka_2.11-1.1.1/bin[root@zookeeper1 bin]# ./kafka-topics.sh --create --zookeeper 192.168.200.14:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".如果成功的话,会输出“Created topic "test".”。 查看 topic,虽然 topic 是在 172.16.51.23 上创建的,但是在其他机器上也能看到。例如在 任意启动的机器 kafka_2.11-1.1.1/bin 的目录中执行命令如下: zookeeper2 节点:
cd kafka_2.11-1.1.1/bin[root@zookeeper2 bin]# ./kafka-topics.sh --list --zookeeper 192.168.200.15:2181
testzookeeper3 节点:
cd kafka_2.11-1.1.1/bin[root@zookeeper3 bin]# ./kafka-topics.sh --list --zookeeper 192.168.200.16:2181
test测试成功。
linlink~文档