Kafka 安装和配置

环境要求

JDK 1.7+
Zookeeper

下载 Kafka 源码

解压到任意目录

$ tar -xzf kafka_2.9.2-0.8.1.1.tgz
$ cd kafka_2.9.2-0.8.1.1

Kafka 目录介绍
/bin 操作 kafka 的可执行脚本
/config 配置文件所在目录
/libs 依赖库目录
/logs 日志数据目录,目录 kafka 把 server 端日志分为5种类型,分为:server,request,state,log-cleaner,controller

配置 Zookeeper

进入 kafka 安装工程根目录编辑 config/server.properties,kafka 最为重要的配置依次为:broker.id、log.dir、zookeeper.connect,每个kafka broker 中配置文件 server.properties 默认必须配置的属性:

broker.id=0
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181
num.network.threads=2
num.io.threads=8
socket.send.buffer.bytes=1048576
socket.receive.buffer.bytes=1048576
socket.request.max.bytes=104857600
num.partitions=2
log.retention.hours=168
log.segment.bytes=536870912
log.retention.check.interval.ms=60000
log.cleaner.enable=false
zookeeper.connection.timeout.ms=1000000

broker.id 为集群中唯一的标注一个节点,如果在同一个机器上,必须指定不同的端口和日志文件,避免数据被覆盖。

启动 Kafka

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

检测2181(Zookeeper 端口)与9092(Kafka 端口)端口

$ lsof -i :2180

安装测试

创建 topic

$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

发送消息,使用一个简单的命令行 producer,从文件中或者从标准输入中读取消息并发送到服务端

$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
This is a message

ctrl+c 可以退出发送,topic 不存在会自动创建

运行 consumer,可以看到刚才发送的消息列表。

$ bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

删除 topic

$ bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注

4 × 1 =