kafka在centos下的安装配置
1.下载kafka_2.10-0.8.1.1.tgz
解压缩:tart -zxvf kafka_2.10-0.8.1.1.tgz
2.修改配置文件
修改server.properties
broker.id=0(需要注意的是,每台机器的id都是唯一的)
zookeeper.connect=slave2:2181,slave3:2181,slave4:2181/kafka(这里需要注意的是如果你用的是自己的zookeeper,则这里需要更改。)
3.说明
配置zookeeper.connect时,如果写的是如上面所述即地址后+/kafka,则你新建的相关的topic信息都在/kafka下,通过zkClient就可以查到。
如果是这样配置的:zookeeper.connect=slave2:2181,slave3:2181,slave4:2181,则在启动kafka后会在zkClient下生成一个broker节点,以后你新建的topic信息都会在broker节点下。
4.安装配置完成以后就可以启动了。因为kafka属于一个分布式的消息缓存系统,所以依赖于zookeeper。
所以启动时先启动zookeeper,然后在每一个broker上启动kafka,启动指令:bin/kafka-server-start.sh config/server.properties
5.创建一个topic:
bin/kafka-topics.sh --create --zookeeper slave2:2181,slave3:2181,slave4:2181/kafka --replication-factor 1 --partitions 1 --topic test1
注意:因为我再配置时写的是/kafka,所以我在新建topic时,我需要如上所写,否则会出错,提示没有/brokers/ids这个节点
6.查看我所建的topicd--test1的详细信息:
bin/kafka-topics.sh --describe --zookeeper slave2:2181/kafka --topic test1
意思是:我新建的topic的名称是test1,我的分区是一个在ID为0的broker上,副本也是一个,在ID为0的broker上。
7.启动生产者:
bin/kafka-console-producer.sh --broker-list slave2:9092,slave3:9092,slave4:9092 --topic test1
向topic里面写内容
8.启动消费者:
bin/kafka-console-consumer.sh --zookeeper slave2:2181,slave3:2181,slave4:2181/kafka --from-beginning --topic test1
读取test1主题里的内容