内容简介:Topic :主题 kafka中没有queue 的概念 所有的消息都是通过主题来传递partition:分区
什么是kafka
kafka是分布式消息和订阅系统 特点:高性能和高吞吐量(每秒处理几十万条消息);基于scala实现。
内置分区,实现集群、容错能力和消息复制能力。
应用场景:行为跟踪、日志收集
kafka架构
和activemq不同:activemq 是broker主动推送消息到消费端, kafka是消费端主动pull消息
Topic :主题 kafka中没有queue 的概念 所有的消息都是通过主题来传递
partition:分区
group:分组
kafka安装
1、下载安装文件 ,将安装文件复制到服务上 并解压。
root@192 kafka]# tar -zvxf kafka_2.12-2.1.0.tgz
2、到 config目录下 修改配置文件中 zookeeper 的地址
vi server.properties
zookeeper.connect=localhost:2181
如果自己没有zookeeper环境 kafka自己集成了一个 zookeeper
直接通过 bin下 zookeeper-server-start.sh 启动即可
root@192 bin]# ./zookeeper-server-start.sh …/config/zookeeper.properties
3、启动kafka
bin/kafka-server-start.sh …/config/server.properties
4、停止kafka
bin/kafka-server-stop.sh …/config/server.properties
5、后台运行方式启动 kafka
bin/kafka-server-start.sh -daemon …/config/server.properties
通过命令发送接收消息
1、创建topic
[root@192 bin]# ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
Created topic “test”.
2、查看 topic
[root@192 bin]# ./kafka-topics.sh --list --zookeeper localhost:2181
test
[root@192 bin]#
3、查看topic属性
[root@192 bin]# ./kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
Topic:test PartitionCount:1 ReplicationFactor:1 Configs:
Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
[root@192 bin]#
4、发送消息
运行 ./kafka-console-producer.sh --broker-list localhost:9092 --topic test 启动消息发送。
5、消费消息
运行 ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning 启动一个 消息接收窗口 当有消息时就可以接收到
集群搭建
1、程序在三台机器安装 修改配置文件erver.properties中以下三部分
1)、 zookeeper 配置 (我这里统一使用 192.168.159.10)
2)、修改 broker.id (同一集群中不能重复)
3)、listeners plaintext://本机ip(不能是localhost):port(当 Kafka broker 启动时,它会在 ZK 上注册自己的 IP 和端口号,客户端就通过
这个 IP 和端口号来连接)
然后三台服务器都启动服务即可
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Elasticsearch 集群搭建和集群原理
- Zookeeper学习系列【二】Zookeeper 集群章节之集群搭建
- Spark集群环境搭建
- Zookeeper搭建集群
- FastDFS集群搭建
- Zookeeper集群环境搭建
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Effective Python
布雷特·斯拉特金(Brett Slatkin) / 爱飞翔 / 机械工业出版社 / 2016-1 / 59
用Python编写程序,是相当容易的,所以这门语言非常流行。但若想掌握Python所特有的优势、魅力和表达能力,则相当困难,而且语言中还有很多隐藏的陷阱,容易令开发者犯错。 本书可以帮你掌握真正的Pythonic编程方式,令你能够完全发挥出Python语言的强大功能,并写出健壮而高效的代码。Scott Meyers在畅销书《Effective C++》中开创了一种以使用场景为主导的精练教学方......一起来看看 《Effective Python》 这本书的介绍吧!