kafka是一种高吞吐量的分布式消息系统。支持高水平扩展。

安装环境:
kafka:2.10.0.1.1

资源下载
kafka:http://kafka.apache.org/downloads

安装kafka:
tar -xvf kafka_2.11-0.10.1.1.tgz -C 指定目录
解压完的目录如图
kafka解压目录

需要修改两个配置文件:
一个是zookeeper.properties文件,一个是server.properties
都在config目录中
先修改zookeeper.properties文件,这个是zookeeper的配置文件,修改一个配置即可
dataDir = …/zkLogs (这里面是相对目录,只有两个标点,不知道为啥会变成3个。将持久化消息存放到kafka的第一级目录。)
将地址修改成我们刚才新建的zookeeper的目录地址

然后编辑config/server.properties文件,这个是kafka的配置文件。一共修改3个配置
需要修改的配置如下:
(1) .// kafka的监听端口
listeners=PLAINTEXT://你的主机IP:9092

(2) .// kafka的producer和consumer连接kafka的地址
advertised.listeners=PLAINTEXT://你的主机IP:9092
这个地址貌似和上面的监听地址差不多,实际上这个地址如果不写,默认会使用上面的监听地址,这个地址是外界连接kafka的地址,上面的监听地址一般是内网连接kafka时使用。建议两个地址都配置。

(3) .// kafka消息持久化目录,kafka可以从这个持久化目录里读取存储的消息 *
log.dirs = …/kafkaLogs (这里面是相对目录,只有两个标点,不知道为啥会变成3个。将持久化消息存放到kafka的第一级目录。)

其他的一些分区和副本的配置,根据开发环境不同,自行配置即可。

下面启动kafka
kafka的启动会依赖zookeeper,所以先启动zookeeper,然后启动kafka。

进入kafka的bin目录。
(1) .启动zookeeper,采用后台启动
./zookeeper-server-start.sh …/config/zookeeper.properties &
(2) .启动kafka,采用后台启动
./kafka-server-start.sh …/config/server.properties &
启动之后,可以创建一个topic试试
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
如果显示下面指令,就代表创建topic成功。
创建topic成功的标识

注意:使用javaAPI连接kafka时,一定要保证客户端kafka版本和服务端版本保持一致,否则会导致使用javaAPI连接kafka失败。

如果使用自带的zookeeper时,一定要注意kafka的版本和zookeeper的版本。本版本的kafka要使用zookeeper-3.4.12。
以上就是kafka的安装和部署,以及我在使用过程中遇到的坑。如发现问题,请不吝指正。

Logo

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

更多推荐