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