Kafka集群搭建实战(二)

案例分为两部分:

  • ZooKeeper集群部署
  • Kafka集群部署 (本章)

二、kakfa集群部署

2.1 案例目标

  • 了解Kafka分布式发布订阅消息系统
  • 搭建Kafka分布式发布订阅消息系统
  • 使用Kafka分布式发布订阅消息系统

2.2 案例分析

2.2.1 节点规划

公网IP 内网IP 主机名
175.27.161.123 10.0.0.13 ZK001
1.13.174.89 10.0.0.12 ZK002
1.13.175.9 10.0.0.16 ZK003

2.2.2 基础准备

软件包:kafka_2.11-1.1.1.tgz

因Kafka集群依赖于ZooKeeper服务,所以这里使用**Kafka集群搭建实战(一)**搭建好的zookeeper集群

2.3 案例实施

2.3.1 搭建Kafka集群

(1)解压Kafka软件包

将软件包上传至三个节点的/root/目录解压

tar -zxvf kafka_2.11-1.1.1.tgz
(2) 修改3个节点的配置文件

在配置文件(/root/kafka_2.11-1.1.1/config/server.properties)中找到以下两行并注释掉(在文本前加#)如下所示:

#broker.id=0
#zookeeper.connect=localhost:2181

broker.id:每台机器不能一样

zookeeper.connect:因为有3台ZooKeeper服务器,所以在这里zookeeper.connect设置为3台。

listeners:在配置集群的时候,必须设置,不然以后的操作会报找不到leader的错误。

zk001:

broker.id=1
zookeeper.connect=10.0.0.13:2181,10.0.0.12:2181,10.0.0.16:2181
listeners = PLAINTEXT://10.0.0.13:9092

zk002:

broker.id=2
zookeeper.connect=10.0.0.13:2181,10.0.0.12:2181,10.0.0.16:2181
listeners = PLAINTEXT://10.0.0.12:9092

zk003:

broker.id=3
zookeeper.connect=10.0.0.13:2181,10.0.0.12:2181,10.0.0.16:2181
listeners = PLAINTEXT://10.0.0.16:9092
(3)启动服务

ZK001:

[root@zk001 bin]# sh kafka-server-start.sh -daemon ../config/server.properties 
[root@zk001 bin]# 
[root@zk001 bin]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1008/sshd         
tcp6       0      0 10.0.0.13:9092          :::*                    LISTEN      14732/java        
tcp6       0      0 :::46117                :::*                    LISTEN      14732/java        
tcp6       0      0 :::2181                 :::*                    LISTEN      4526/java         
tcp6       0      0 10.0.0.13:3888          :::*                    LISTEN      4526/java        
tcp6       0      0 :::39376                :::*                    LISTEN      4526/java         
[root@zk001 bin]# jps
15299 Jps
14732 Kafka
4526 QuorumPeerMain

ZK002:

[root@zk002 bin]# sh kafka-server-start.sh -daemon ../config/server.properties
[root@zk002 bin]# jps
28839 Kafka
20028 QuorumPeerMain
28958 Jps

ZK003:

[root@zk003 bin]# sh kafka-server-start.sh -daemon ../config/server.properties
[root@zk003 bin]# jps
28552 Jps
20296 QuorumPeerMain
28509 Kafka
(4) 测试服务

ZK001:

[root@zk001 ~]# cd kafka_2.11-1.1.1/bin/
[root@zk001 bin]# 
[root@zk001 bin]# ./kafka-topics.sh --create --zookeeper 10.0.0.13:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".   #出现这个表示成功
[root@zk001 bin]# 

在zk002、zk003查看topic

ZK002:

[root@zk002 ~]# cd kafka_2.11-1.1.1/bin/
[root@zk002 bin]# ./kafka-topics.sh --list --zookeeper 10.0.0.12:2181 
test
[root@zk002 bin]# 

ZK003:

[root@zk003 ~]# cd kafka_2.11-1.1.1/bin/
[root@zk003 bin]# ./kafka-topics.sh --list --zookeeper 10.0.0.16:2181
test
[root@zk003 bin]# 

测试完成~

你可能感兴趣的:(kafka,java,分布式)