一、下载安装
1、下载地址
Apache Download Mirrors
下载命令:wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.13-2.4.0.tgz
2、解压
解压命令:tar –zxvf kafka_2.13-2.4.0.tgz
移动: cp -R kafka_2.13-2.4.0 /zjl/program/
创建软链接: ln -s kafka_2.13-2.4.0/ /zjl/program/kafka
解压后即可使用
二、配置kafka
1、配置server.properties
位置: /kafka/config
默认配置 advertised.listeners=PLAINTEXT://your.host.name:9092
修改为 advertised.listeners=PLAINTEXT://ip:9092
例:advertised.listeners=PLAINTEXT://192.168.244.128:9092
- ip为服务器ip
- hostname和端口是用来建议给生产者和消费者使用的,如果没有设置,将会使用listeners的配置,如果listeners也没有配置,将使用java.net.InetAddress.getCanonicalHostName()来获取这个hostname和port,对于ipv4,基本就是localhost了。
- "PLAINTEXT"表示协议,可选的值有PLAINTEXT和SSL,hostname可以指定IP地址,也可以用"0.0.0.0"表示对所有的网络接口有效,如果hostname为空表示只对默认的网络接口有效。也就是说如果你没有配置advertised.listeners,就使用listeners的配置通告给消息的生产者和消费者,这个过程是在生产者和消费者获取源数据(metadata)。
- broker.id标识本机
- log.dirs是kafka接收消息存放路径
- zookeeper.connect指定连接的zookeeper集群地址
2.集群配置
所谓的kafka集群就是指多个broker组成的集群,通过zookeeper来进行管理。以下在本机部署三个broker组成的集群。
首先将config/server.properties的复制三份,分别命名为server-0.properties、server-1.properties、server-2.properties,分别配置如下:
server-0.properties:
broker.id=0 listeners=PLAINTEXT://:9092 advertised.listeners=PLAINTEXT://192.168.31.222:9092 log.dirs=/tmp/kafka-logs-0
server-1.properties:
broker.id=1 listeners=PLAINTEXT://:9093 advertised.listeners=PLAINTEXT://192.168.31.222:9093 log.dirs=/tmp/kafka-logs-1
server-2.properties:
broker.id=2 listeners=PLAINTEXT://:9094 advertised.listeners=PLAINTEXT://192.168.31.222:9094 log.dirs=/tmp/kafka-logs-2
然后分别都启动就可以了:
bin/kafka-server-start.sh config/server-0.properties & bin/kafka-server-start.sh config/server-1.properties & bin/kafka-server-start.sh config/server-2.properties &



