1)kafka 官网下载二进制版本的kafka安装包
http://kafka.apache.org/downloads2)解压到需要安装kafka的linux目录下
3)修改/conf目录下的配置文件
# 在配置文件server.properties中增加以下配置,删除Topic时才会真实的删除TOPic,否则只标记为删除,不做任何操作 delete.topic.enable=true # 修改以下配置为kafka数据需要储存的位置(注意虽然参数名叫log但实际是数据存放目录,日志目录默认自动在kafka目录下生成logs目录,其中的server.log为kafka的日志文件) log.dirs=/opt/kafka_2.11-1.0.1/kafka-data # 修改zookeeper.properties配置文件下的如下参数,设置zookeeper数据储存目录为需要储存的目录 dataDir=/opt/kafka_2.11-1.0.1/zookeeper-data1)版本关系
0.8版本以上的kafka 消费的offset不储存在zookeeper,而是储存在kafka集群中的,所以在0.8版本以上的kafka,消费数据时最好连接bootstrap-server 端口9092.
0.10的版本是高于0.8版本的
2)各个组件的端口
zookeeper 端口2181,kafka端口9092
Topic 连接zookeeper的2181端口从zookeeper中获取kafka 节点 中Topic的信息
生产者连接 broker-list的9092端口生产数据
消费者连接zookeeper的2181端口或者bootstrap的9092端口消费数据
1)列出所有topic
kafka-topics.sh --zookeeper localhost:2181 --list2)创建一个topic
# 创建一个1个分区,2个副本名为topic_test的Topic ./kafka-topics.sh --zookeeper localhost:2181 --create --topic topic_test --partitions 1 --replication-factor 13)删除一个Topic
# 删除topic_test,配置文件需要修改才能生效 ./kafka-topics.sh --zookeeper localhost:2181 --create --topic topic_test --delete4)往某个Topic生产数据
./kafka-console-producer.sh --broker-list localhost:9092 --topic topic_test5)从某个Topic中消费数据
# 消费者连接zookeeper进行消费 ./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning # 消费者连接bootstrap进行消费 ./kafka-console-consumer.sh --bootstrap localhost:9092 --topic test --from-beginning