单机安装
下载
官方下载地址:http://kafka.apache.org/downloads
我这里下载的版本为: kafka_2.11-2.2.0.tgz
解压
将下载好的 kafka_2.11-2.2.0.tgz 解压到自己指定的目录(我这里指定 /user/local/kafka),命令:
tar -zxvf kafka_2.11-2.2.0.tgz -C /usr/local/kafka
配置文件
进入kafka的config目录下,有一个server.properties,修改如下配置:
#broker的全局唯一编号,不能重复
broker.id=0
#监听
listeners=PLAINTEXT://:9092
#日志目录
log.dirs=/usr/local/kafka/kafka-logs
#配置zookeeper的连接(如果不是本机,需要为ip或主机名)
zookeeper.connect=localhost:2181
启动
由于kafka需要依赖zookeeper,所以在启动kafka之前要先启动zookeeper。在kafka的安装目录/bin下可以看到zookeeper的shell脚本,这里在/bin下启动zookeeper命令(方式1):
sh zookeeper-server-start.sh -daemon …/config/zookeeper.properties
同时也可以在安装目录下启动,命令(方式2):
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
然后再启动kafka,命令(方式1):
sh kafka-server-start.sh …/config/server.properties
同时也可以在安装目录下启动,命令(方式2):
bin/kafka-server-start.sh config/server.properties
基本命令【创建一个topic】
[root@fut kafka_2.11-2.0.0]# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic fut_test01
WARNING: Due to limitations in metric names, topics with a period (’.’) or underscore (’_’) could collide. To avoid issues it is best to use either, but not both.
Created topic “fut_test01”.
这样就成功的创建了一个名为"fut_test01"的topic。
基本命令【列举出当前系统所有的topic】
[root@fut kafka_2.11-2.0.0]# bin/kafka-topics.sh --list --zookeeper localhost:2181
fut_test01
当前系统只存在"fut_test01"这一个topic。
基本命令【启动生产者producer】
[root@fut kafka_2.11-2.0.0]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic fut_test01
启动完后,就可以往topic里发送消息了。
基本命令【启动消费者consumer】
[root@fut kafka_2.11-2.0.0]# bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic fut_test01 --from-beginning
启动完后,就可以从topic里消费消息了。
生产者和消费者都启动完成后,生产者控制台输入:hello kafka,消费者控制台会立即输出:hello kafka。
基本命令【查看topic的相关信息】
[root@fut kafka_2.11-2.0.0]# bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic fut_test01
Topic:fut_test01 PartitionCount:1 ReplicationFactor:1 Configs:
Topic:fut_test01 Partition: 0 Leader: 0 Replicas: 0 Isr: 0