本文所有链接可点击文末“阅读原文”直达
在流式数据处理过程中,E-MapReduce经常需要在Kafka与其他系统间进行数据同步或者在Kafka集群间进行数据迁移。本篇向您介绍如何在E-MapReduce上通过Kafka Connect快速的实现Kafka集群间的数据同步或者数据迁移。
前提条件
已注册云账号,详情请参见注册云账号,https://help.aliyun.com/knowledge_detail/37195.html。
已开通E-MapReduce服务。
已完成云账号的授权,详情请参见角色授权,https://help.aliyun.com/document_detail/28072.html?spm=a2c4g.11186623.2.17.15297af1Ylsw5H#concept-ykn-bd3-y2b。
背景信息
Kafka Connect是一种可扩展的、可靠的,用于在Kafka和其他系统之间快速的进行流式数据传输的工具。例如,Kafka Connect可以获取数据库的binlog数据,将数据库数据同步至Kafka集群,从而达到迁移数据库数据的目的。由于Kafka集群可对接流式处理系统,所以还可以间接实现数据库对接下游流式处理系统的目的。同时,Kafka Connect还提供了REST API接口,方便您创建和管理Kafka Connect。
kafka Connect分为standalone和distributed两种运行模式。在standalone模式下,所有的worker都在一个进程中运行。相比于standalone模式,distributed模式更具扩展性和容错性,是最常用的方式,也是生产环境推荐使用的模式。
本文介绍如何在E-MapReduce上使用Kafka Connect的REST API接口在Kafka集群间进行数据迁移,kafka Connect使用distributed模式。
步骤一 创建Kafka集群
在EMR上创建源Kafka集群和目的Kafka集群。Kafka Connect安装在Task节点上,所以目的Kafka集群必须创建Task节点。集群创建好后,Task节点上Kafka Connect服务会默认启动,端口号为8083。
推荐您将源Kafka集群和目的kafka集群创建在同一个安全组下。如果源Kafka集群和目的kafka集群不在同一个安全组下,则两者的网络默认是不互通的,您需要对两者的安全组分别进行相关配置,以使两者的网络互通。
登录阿里云 E-MapReduce 控制台,https://emr.console.aliyun.com/?spm=a2c4g.11186623.2.18.15297af1pzyRBG。
创建源Kafka集群和目的Kafka集群,详情请