kafka connector
Kafka Connect
是一种用于在 Kafka 和其他系统之间可扩展的、可靠的的流式传输数据的工具。它使得能偶快速定义将大量数据集合移入和移除 kafka 连接器变得简单。
kafka connect 可以从数据库或者应用程序服务器收到数据到 kafka topic ,使数据可以用于低延迟的流处理。导出作业可以将数据从 kakfa topic 传输到二次存储和查询系统,或者传递
到批处理系统以进行离线分析
Kafka connect 概念
- Source: 负责导入数据到kafka
- Sink 负责从kafka 导出数据
- Connectors 通过管理任务来协调数据流的高级抽象
- Tasks 数据写入 kafka 和从 Kafka 中读取具体实现
- workers 运行 connectors 和tasks 的进程
- Converters : kafka connet 和其他存储系统直接发送或者接受数据之前转换数据
- Transforms : 一种轻量级数据调整工具
工作模式
kafka connect 有 2 中工作模式
- standalone: 在 standalone 模式中,所有的worker 都在一个独立的进程中完成
- distributed : distributed 模式具有高扩展性,以及提供自动容错机制。你可以使用一个 group.id 在启动很多worker 进行,在有效的 worker 进程中他们会自动的去协调执行 connector 和task.
- GET /connectors 返回所有正在运行的 connector 的信息
- POST /connectors 新建一个 connectors,必须是 json 格式并且需要包含 name 和 config 字段,name 是 connector 的名字,config 是 json 格式,包含connector 的配置信息
- GET /connectors/{name} 获取指定 connectir 的信息
- GET /connectors/{name}/config 囧去指定connector 的配置信息
- GET /connectors/{name}/status 获取状态,是否允许,是否报错等
- GET /connectors/{name}/tasks 获取正在运行的 task
- GET /connectors/{name}/tasks/status 获取tasks 状态
- PUT /connectors/{name}/pause 暂停
- PUT /connectors/{name}/resume 恢复被暂停的 connector
- POST /connectors/{name}/restart 重启
- POST /connectors/{name}/tasks/{taskid}/restart 重启taks
- DELETE /connectors/{name} 删除connector ,停止所有task ,并删除配置