Flink Connector Kafka
1. Kafka
1.1. Kafka官网
1.2. Kafka 简述
- Kafka 是一个分布式消息系统:具有生产者、消费者的功能。它提供了类似于JMS 的特性,但是在设计实现上完全不同,此外它并不是JMS 规范的实现。
1.3. Kafka特性
消息持久化
:基于文件系统来存储和缓存消息高吞吐量
多客户端支持
:核心模块用Scala
语言开发,Kafka 提供了多种开发语言的接入,如Java 、Scala、C 、C++、Python 、Go 、Erlang 、Ruby 、Node. 等安全机制
通过SSL 和SASL(Kerberos), SASL/PLA时验证机制支持生产者、消费者与broker连接时的身份认证;
支持代理与ZooKeeper 连接身份验证
通信时数据加密
客户端读、写权限认证
Kafka 支持与外部其他认证授权服务的集成
数据备份
轻量级
消息压缩
1.4. kafka的应用场景
Kafka作为消息传递系统
Kafka 作为存储系统
Kafka用做流处理
消息,存储,流处理结合起来使用
1.5. kafka-manager的部署
Kafka Manager 由 yahoo 公司开发,该工具可以方便查看集群 主题分布情况,同时支持对 多个集群的管理、分区平衡以及创建主题等操作。
-
启动脚本
bin/cmak -Dconfig.file=conf/application.conf -java-home /usr/lib/jdk-11.0.6 -Dhttp.port=9008 &
-
界面效果
-
注意
1.6. 使用Kafka Connect导入/导出数据
- 替代Flume——Kafka Connect
集群模式
注意: 在集群模式下,配置并不会在命令行传进去,而是需要REST API来创建,修改和销毁连接器。
- 通过一个示例了解kafka connect连接器