如何从源码编译Kafka0.8.x

下载代码

1
git clone http://git-wip-us.apache.org/repos/asf/kafka.git kafka

下载可执行文件:https://archive.apache.org/dist/kafka/0.8.1/kafka_2.9.2-0.8.1.tgz

相关文档: http://kafka.apache.org/code.html

编译kafka:

1
2
直接运行代码
./gradlew jar

如果需要编译某Scala特定版本,则加上版本号 ./gradlew -PscalaVersion=2.9.2 jar

编译出的jar包在core/build/libs/目录下。

  • 性能测试用的jar包在perf/build/libs/目录下,官方下载的bin包里面不包含performance相关的包,需要将perf/build/libs/下的kafka-perf_2.9.2-0.8.1.jar拷贝到kafka_2.9.2-0.8.1目录的libs下

启动kafka:

#在kafka_2.9.2-0.8.1目录下
#启动zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties &   

#启动kafka server
bin/kafka-server-start.sh config/server.properties &

创建topic

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

测试Producer性能

1
bin/kafka-producer-perf-test.sh --broker-list localhost:9092 --topic testtopic --messages 300000 --message-size 1000 --batch-size 200
  • messages: 总message个数
  • message-size: message大小
  • batch-size: 包大小,一个包中message个数