由于kafka是强依赖zookeeper的,需要先安装zookeeper,我们在之前的介绍中已经搭建好了zookeeper集群:

搭建zookeeper集群,以及遇到的个别问题

 

1、下载安装包

wget http://archive.apache.org/dist/kafka/2.2.2/kafka_2.11-2.2.2.tgz

解压  tar -zxvf  kafka_2.11-2.2.2.tgz

2、然后创建相对应的实例路径:

[ local]$ mkdir -m 777 kafka-cluster
[ local]$ cd kafka-cluster/
[ kafka-cluster]$ ls
[ kafka-cluster]$ mkdir -m 777 kafka01
[ kafka-cluster]$ mkdir -m 777 kafka02
[ kafka-cluster]$ mkdir -m 777 kafka03

[kafka_2.11-2.2.2]$ cp -rf * /usr/local/kafka-cluster/kafka01/
[kafka_2.11-2.2.2]$ cp -rf * /usr/local/kafka-cluster/kafka02/
[kafka_2.11-2.2.2]$ cp -rf * /usr/local/kafka-cluster/kafka03/
[kafka_2.11-2.2.2]$ cd /usr/local/kafka-cluster/kafka01/
[kafka01]$ ls
bin  config  libs  LICENSE  NOTICE  site-docs
[kafka01]$ 

3、依次修改各个实例config路径下server.properties配置,先改kafka01

broker.id=1,这个配置 类似于id标识,不能重复便于区分,和zookeeper的myid类似

log.dirs=/tmp/kafka-logs,路径需要有

zookeeper.connect=172.16.22.97:2183

这里需要修改成zookeeper实例leader角色的ip地址和端口

4、按照第3步骤,修改 kafka02的配置文件server.properties、kafka03实例的配置文件server.properties,

kafka02的server.properties改为:

broker.id=2

log.dirs=/tmp/kafka-logs2(需要创建)

zookeeper.connect=172.16.22.97:2183

 

kafka03的server.properties改为:

broker.id=3

log.dirs=/tmp/kafka-logs3 (需要创建)

zookeeper.connect=172.16.22.97:2183

 

5、尝试启动

[root@ bin]# ./kafka-server-start.sh
USAGE: ./kafka-server-start.sh [-daemon] server.properties [--override property=value]*

百度了一下,修改 ./kafka-server-start.sh里面的启动配置,之前申请了1G空间,占用内存过大

改小一点:

再次启动:

./kafka-server-start.sh  -daemon /usr/local/kafka-cluster/kafka01/config/server.properties
 

 

6、继续启动kafka02和kafka03,遇到的一些问题:

然后我们再去启动另外一台kafka02实例:

./kafka-server-start.sh -daemon /usr/local/kafka-cluster/kafka02/config/server.properties,报错如下:

然后换了一种启动方式,回到kafka02路径下,

./bin/kafka-server-start.sh config/server.properties &

然后报错信息如下,端口被占用,犯了跟zookeeper搭建时候一样错。[汗]

那么去修改 kafka02和kafka03的端口:

我们可以看到,之前的配置文件里面说道,如果不配置端口,默认就是9092:

把注释放开,改一下kafka02配置:

kafka03配置:

这次可以看到,启动成功了,如下:

然后再启动kafak03;

 

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐