在Windows下Kafka的基本配置及简单使用
首先下载zookeeper(版本zookeeper-3.4.13)和kafka(版本kafka_2.12-2.0.0),解压就可以使用了。1、zookeeper:
在config目录下,有zoo.conf这个配置文件,可以配置端口和日志存储的位置,可以根据自己习惯更改。
首先启动zookeeper,如果环境变量中配置过了zookeeper,则可以直接打开cmd窗口,用zkserver来启动,如下:
http://i2.运维网.com/images/blog/201811/30/940cea2e04668837d4af56a020bb2925.png
如果打印的日志都是INFO 或者WARN,并且进入守护线程状态,表示启动成功。
2、Kafka:
在config目录下,有个server.properties配置文件,有配置日志目录的: log.dirs=D:/nomalAPP/kafka_2.12-2.0.0/kafka-logs , 还有配置连接的zookeeper的地址的: zookeeper.connect=localhost:2181 。其他的基本不用管,也可以根据具体需要进行修改。
启动命令为:.\bin\windows\kafka-server-start.bat .\config\server.properties 。如下:
http://i2.运维网.com/images/blog/201811/30/bc537758536037a0d36c25dcaada84a4.png
下面还会打印出一些基本配置信息。启动成功也会进入守护线程状态。
上面启动的两个不要关闭,再继续进行下面的操作:
3、topic:创建主题
命令为:.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test_topic,如下所示:
http://i2.运维网.com/images/blog/201811/30/df3ee1c6b42fa262e3727ac443e2023c.png
查看已经存在的主题,命令为:.\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181, 如下:
http://i2.运维网.com/images/blog/201811/30/e4eba4f3eb9d435c8c83b9c5a5755799.png
3、producer:生产者
创建生产者的命令:.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test_topic,如下:
http://i2.运维网.com/images/blog/201811/30/2193be3faacb9c9f6b2c9fd2bb7d718a.png
4、consumer:消费者
创建消费者的命令: .\bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181--topic test_topic
但是我在用这个命令时出现了下面的情况:
http://i2.运维网.com/images/blog/201811/30/e1ebf909c5be269977dc6cf2442b2231.png
这是因为使用的kafka版本比较新,上面的这种方式已经过时被删除了,所以没法启动。
这是可以换用另一种: .\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:2181--topic test_topic --from-beginning,启动如下:
http://i2.运维网.com/images/blog/201811/30/29f9095b8577e813ee459e3aeb35e7ee.png
乱码问题可以在具体生产者消费者代码中进行处理。
以上只是一些入门级的基础操作,进阶的搭建集群,集成其他的技术这些,还有待学习!
个人理解:kafka就像是一个过渡管道,用来中转消息的(消息代理),可能像一个微信公众号,生产者就是公众号的管理者,把文章放到公众号里面,而消费者就像是订阅这个公众号的人,只要订阅了这个公众号,在有新消息推送到公众号时,公众号会把新文章推给订阅者。
kafka的好处就在于:
(1)可靠性 - Kafka是分布式,它有分区,复制和容错的。
(2)可扩展性 - Kafka消息传递系统轻松缩放,无需停机。
(3)耐用性 - Kafka使用分布式提交日志,这意味着消息会尽可能快地保留在磁盘上,因此它是持久的。
(4)性能 - Kafka对于发布和订阅消息都具有高吞吐量。 即使存储了许多TB的消息,它也保持稳定的性能。
页:
[1]