启动使用kafka服务
在kakfka安装目录的bin目录下,有很多的可执行文件,执行对应文件以使用对应功能
例如启动kafka,则执行对应的kafka-server即可,不过这里指的注意的是,需要指定对应的配置文件
//直接启动
bin/kafka-server-start.sh config/server.properties
//挂在后台启动
//方式一
nohup bin/kafka-server-start.sh config/server.properties &
//方式二
./kafka-server-start.sh -deamon config/server.properties
后台启动方式一可能会提示nohup: ignoring input and appending output to ‘nohup.out’,这是因为使用nohup启动时,会将日志输出在当前目录下的nohup.out文件中
topic相关
显示topic列表
后面的—zookeeper指的是zookeeper集群 —list为显示topic的列表
bin/kafka-topics.sh --zookeeper 192.168.126.11:2181,192.168.126.12:2181,192.168.126.13:2181 --list
创建一个topic,并指定topic属性(副本数、分区数等)
—create:表示创建一个topic
—replication-factor:设置创建topic的副本详细
—partition:设置topic的partition数量
—topic:指定topic的名字
bin/kafka-topics.sh --create --zookeeper 192.168.126.11:2181,192.168.126.12:2181,192.168.126.13:2181 --replication-factor 1 --partition 3 --topic testTopic
正常显示结果为:Created topic “testTopic”. 如果提示ERROR kafka.admin.AdminOperationException: replication factor: 1 larger than available brokers: 0,请考虑是不是kafka服务器启动失败
查看某个topic的状态
bin/kafka-topics.sh --describe --zookeeper 192.168.126.11:2181,192.168.126.12:2181,192.168.126.13:2181 --topic testTopic
显示结果
删除topic
bin/kafka-topics.sh --zookeeper 192.168.126.11:2181,192.168.126.12:2181,192.168.126.13:2181 --delete --topic testTopic
message相关
生产消息
这里的—broker-list后面的是kafka集群的信息,不是zookeeper的集群信息,别弄混了,—topic指定消息的主题
bin/kafka-console-producer.sh --broker-list 192.168.126.11:9092,192.168.126.12:9092,192.168.126.13:9092 --topic testTopic
执行完此命令后,界面会变成消息输入的console,此时你输入的所有信息都会被kafka当做消息来生产,以提供给消费者消费,使用ctrl + c退出
消费消息
之前产生了消息,这边开始消费消息,执行消费的命令,注意这里是—zookeeper,需要的是zookeeper集群的信息
bin/kafka-console-consumer.sh --zookeeper 192.168.126.11:2181,192.168.126.12:2181,192.168.126.13:2181 --topic testTopic
执行完此命令后,界面会变成消息输出的console,此时你在消息输入的console中输入的消息都会在这边输出
输入:
输出:
此时之前的输入的消息没有输出,这是因为消息的消费是实时的,只需要加上—form-beginning参数即可
bin/kafka-console-consumer.sh --zookeeper 192.168.126.11:2181,192.168.126.12:2181,192.168.126.13:2181 --topic testTopic --from-beginning
结果