写点什么

消息队列 Kafka:入门基础

用户头像
正向成长
关注
发布于: 2021 年 02 月 16 日
消息队列Kafka:入门基础

环境搭建

Kafka 环境搭建参考Kafka官网的Quick Start进行实践,首先下载Kafka,并进行解压:

tar -xvf kafka_2.13-2.7.0.tgzcd kafka_2.13-2.7.0.tgz
复制代码

启动 Kafka

启动 Kafka 运行环境,此时需要自动 zookeeper 和 kafka broker 两个服务,相应的配置文件分别对应于

Zookeeper 配置

相关的配置参数位于config/zookeeper.properties,比较重要的配置参数有:

  • dataDir:Snapshot 存放路径

  • clientPort:Client 端口号

  • maxClientCnxns

  • admin.enableServer

Kafka Server 配置

相关配置参数位于config/server.properties,比较重要的配置参数有:

Broker 端配置

  • broker.id:Broker ID,默认为 0,在 Kafka 集群中 Broker ID 必须是唯一的,可以随意设定。

保存 Broker 的 Zookeeper 配置

  • zookeeper.connect:连接的 zookeeper 信息,如果存在多个配置通过,进行分割。

  • zookeeper.connection.timeout.ms:连接 zookeeper 超时时间,单位毫秒


Log 配置

  • log.dirs:日志片段的存放路径,可以通过一些,来分割存放路径


主题配置

  • num.partitions:指定新创建的主题默认的日志分区数,分区数越多,并行消费量越大,同时也会导致 Broker 中文件数量越多。


# 启动zookeeper服务bin/zookeeper-server-start.sh config/zookeeper.properties
# 启动kafka broker服务bin/kafka-server-start.sh config/server.properties
复制代码

创建 Topic

可以在终端执行bin/kafka-topics.sh查看它支持的参数以及用法。

# 创建quickstart-events Topicbin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
# 查看quickstart-events Topic的详细信息bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092
复制代码

向 Topic 写入 Event

Kafka 通过网络和 Broker 进行通信,来实现存储或读取 Broker 中的 Event,一旦收到数据,Broker 会持久化或以容错方式来根据使用者的配置来存储 Event,甚至是永久存储。

bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092hellonice to meet youhellonice to meet you too
复制代码

输入上述命令会进入输入页面,执行Ctrl-C退出。


读取 Topic 中数据

数据被持久化存储在 Kafka 中,支持多次读取和多个消费者读取

bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server locast:9092
复制代码

通过 Kafka Connect 以流形式导入/导出数据


用 Kafka 流处理事件

进阶资料

发布于: 2021 年 02 月 16 日阅读数: 61
用户头像

正向成长

关注

正向成长 2018.08.06 加入

想要坚定地做大规模数据处理(流数据方向),希望结合结合批处理的传统处理方式,以及之后流批混合处理方向进行学习和记录。

评论

发布
暂无评论
消息队列Kafka:入门基础