消息队列Kafka学习记录

时间:2023-03-09 12:47:23
消息队列Kafka学习记录

Kafka其实只是众多消息队列中的一种,对于Kafka的具体释义我这里就不多说了,详见:http://baike.baidu.com/link?url=HWFYszYuMdP_lueFH5bmYnlmH--SlsarbzE1CcfMi9JqeQBR77jCu30MubmAyBqqOSSZy9qfnrp5y5a_8wYota

想要下载Kafka可以直接上官网:http://kafka.apache.org/ (强烈建议一定要上官网下载,其它地方下载的可能有问题)

Kafka下载成功之后,在libs文件夹下面就是相关的jar包,如果使用Java开发就可以直接引入项目即可。同时在bin文件夹下面就是运行Kafka所需要的文件,Windows里面表示在Windows上面运行所需要的文件。相关运行的命令如下:

//跳转到指定目录,必须跳转到Kafka目录才能运行后面的命令
cd C:\soft\kafka_2.-0.8.2.2 //启动zookeeper
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
//启动server。注意和启动zookeeper的先后顺序,同时这两个启动项需要分别在dos下运行
bin\windows\kafka-server-start.bat config\server.properties //创建一个主题 topic
bin\windows\kafka-topics.bat --create --zookeeper localhost: --replication-factor --partitions --topic test //查看所有创建的主题
bin\windows\kafka-topics.bat --list --zookeeper localhost: //开始消费topic
bin\windows\kafka-console-consumer.bat --zookeeper localhost: --topic mytest --from-beginning //生产数据
bin\windows\kafka-console-producer.bat --broker-list localhost: --topic mytest

这是通过服务器直接操作kafka的常用命令,而Java调用Kafka除了引用上面提到的jar包之外就是编码了,具体编码可参考:http://www.cnblogs.com/liuming1992/p/6432626.html

Kafka中有很多的概念,比如groupid,partitions,topic等等。在使用之前一定要把这些概念搞清楚了才能写出可靠的代码。


上面都是Windows的相关命令,下面是Linux的命令

//跳转到指定目录,必须跳转到Kafka目录才能运行后面的命令
cd /usr/local/kafka //启动zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties
//启动server。注意和启动zookeeper的先后顺序,同时这两个启动项需要分别在dos下运行(可开启两个界面)
bin/kafka-server-start.sh config/server.properties //创建一个主题 topic
./bin/kafka-topics.sh --create --zookeeper localhost: --replication-factor --partitions --topic test //查看所有创建的主题
./bin/kafka-topics.sh --list --zookeeper localhost: //开始消费topic
bin/kafka-console-consumer.sh --zookeeper localhost: --topic test --from-beginning //生产数据
bin/kafka-console-producer.sh --broker-list localhost: --topic test