Kafka 数据如何同步到 MaxCompute | 学习笔记(一)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
大数据开发治理平台DataWorks,Serverless资源组抵扣包300CU*H
简介: 快速学习 Kafka 数据如何同步到 MaxCompute

开发者学堂课程【SaaS 模式云数据仓库实战Kafka 数据如何MaxComput】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/760/detail/13341


Kafka 数据如何同步到 MaxCompute

 

内容介绍:

一、实验目的

二、方案说明

三、目录

四、Kafka 消息队列使用以及原理

五、资源组介绍以及配置

六、同步过程及其注意事项

七、开发测试以及生产部署

 

一、实验目的

日常工作中,企业需要将APP或网站产生的行为日志和业务数据,通过Kafka消息队列统一收集后,数据进行两方面的处理,一方面是离线处理,一方面是实时处理。投递到数据仓库MaxCompute中作为模型的构建,进行相关的业务处理。再通过大数据分析后将指标数据在报表中展示,如用户特征、销售排名、订单地区分布等。

通过本次实验,可以学习了解Kafka数据如何通过Dataworks数据集成同步到MaxCompute;

 

二、方案说明

图片78.png

涉及到两条链路,业务数据和行为日志通过kafka,通过flume,上传到datahub,再上传到maxcompute,最后在quickBI进行展示。还有一条链路是业务数据和行为日志通过kafka与dataworks和maxcompute,最后再在quickBI进行展示。本次要进行展示的是kafka通过dataworks上传到maxcompute,有两种方案进行数据同步,一种是自定义资源组,一种是独享资源组。

方案一,使用自定义资源组的背景一般为网络环境复杂适用于数据上云的场景,该实验将展示使用ECS作为自定义资源组的操作过程。

方案二,使用独享集成资源组背景一般为集成资源不足影响数据同步过程,该实验将展示使用独享资源组的操作方式(重点关注VPC的绑定)

 

三、目录

通过四种方案讲解一下操作流程。

1.Kafka消息队列使用以及原理

Kafka简单介绍以及框架介绍,还有Kafka的购买以及一些相关的注意事项

2.资源组介绍以及配置

针对于自定义资源组和独享资源组的相关配置以及其中配置中需要处理的问题

3.同步过程及其注意事项

第三部分是Kafka,同步到max compute过程中的相关参数配置,以及所要注重的一些地方

4.开发测试以及生产部署

开发到节点部署,以及到生产环境的一个整体操作流程进行详细指导。

 

四、Kafka 消息队列使用以及原理

1.Kafka产品概述

图片79.png

Kafka一般用于日志收集、监控数据聚合、流式数据处理在线和离线分析等大数据的领域,云上的Kafka的优点是低成本、更弹性、更可靠。

消息队列 for Apache Kafka是阿里云提供的分布式、高吞吐、可扩展的消息队列服务。消息队列for Apache Kafka 广泛用于日志收集、监控数据聚合、流式数据处理、在线和离线分析等大数据领域。

消息队列 for Apache Kafka针对开源的Apache Kafka提供全托管服务,彻底解决开源产品长期以来的痛点。有了消息队列for ApacheKafka,只需专注于业务开发,无需部署运维,具有低成本、更弹性、更可靠的优势。

2.Kafka架构介绍

图片80.png

一个典型的消息队列Kafka集群,包括四个部分,Producer把数据生产出来,然后发送到卡夫卡broker,Consumer会去消费leader的数据。Partition内部会有消费点位,通过zookeeper去管理Partition里面leader,负载均衡,如果对这张图不太了解那么后面对相应参数也会不理解。

一个典型的消息队列for Apache Kafka集群包括四个部分:

Producer:通过push模式向消息队列 for Apache

Kafka的Kafka Broker发送消息。发送的消息可以是网站的页面访问、服务器日志,也可以是CPU和内存相关的系统资源信息。

Kafka Broker:用于存储消息的服务器。Kafka Broker支持水平扩展。Kafka Broker节点的数量越多,Kafka集群的吞吐率越高。

Consumer Group:通过pull模式从消息队列 for ApacheKafka Broker订阅并消费消息。

Zookeeper:管理集群的配置、选举leader分区,并且在Consumer Group 发生变化时,进行负载均衡。

3.Kafka消息队列购买以及部署

(1)到Kafka消息队列产品页面点击购买,选择对应消费方式(包年包月还是按量付费),地区(比如maxcompute在华北就对应选择华北地区),实例类型,磁盘,流量以及消息存放时间,以上都可以根据个人的情况进行选择。

图片81.png

(2)开通完成之后点击部署,选择合适的VPC以及交换机[注意可用区的位置]。

图片82.png

(3)进入Topic管理页面,输入自己的topic,管理相应的命令规则,尽量和自己的业务相同,如果是彩电业务或者商铺业务就进行一定的区分。点击创建Topic按钮,创建个人的Topic.

图片83.png

(4)进入Consumer Group管理,点击创建Consumer Group,创建自己所需的Consumer Group,可以进行进一步的规范,与自己的消费topic,如果是商品可以两者相对应进行区分。

图片84.png

4.Kafka白名单配置

图片85.png

确认需要访问需要访问Kafka的网段信息。Kafka安装部署完成以后,需要去确认一下哪个服务器的产品需要访问kafka,所以白名单需要确认一下,很多用户在部署完成之后,不知道如何去进行访问登录的接入点就是访问的一个接口。

 

五、资源组介绍以及配置

1.自定义资源组的使用背景

DataWorks可以通过免费传输能力(默认任务资源组)进行海量数据上云,但默认资源组无法实现传输速度存在较高要求或复杂环境中的数据源同步上云的需求。您可以新增自定义的任务资源运行数据同步任务,解决DataWorks默认资源组与数据源不通的问题,或实现更高速度的传输能力。

当默认任务资源无法与复杂的网络环境连通时,可以通过数据集成自定义资源的部署,打通任意网络环境之间的数据传输同步。

自定义资源主要针对一些网络问题。在本地网络与云上网络,会有一些差异,在连接不通的情况下可以通过自定义资源组在复杂环境同步上云的需求。如果存在传输速度低下问题也可以通过自定义资源组解决,但是主要还是复杂网络环境的上云同步问题。

2.自定义资源组的配置

1)进入Dataworks控制台,点击需要数据同步的项目空间,点击数据集成。确认数据集成在哪个空间,进行项目添加

图片86.png

(2)进入数据源界面,点击右上角的新增自定义资源组。只有项目管理员才可以添加。

图片87.png

(3)确认Kafka与需要添加自定义资源组属于同一个VPC下。

图片88.png

(4)登录ECS,执行命令dmidecode | grep UUID得到ECS的UUID。

图片89.png

(5)添加服务器,将ECS的UUID以及IP,机器的核数以及机器的内存,所占用资源的CPU与内存填写进来。

图片90.png

(6)在ECS上执行安装Agent的命令,一共是五步,进行一一确认,在服务器页面点击刷新按钮,查看服务是否为可用状态,添加完成测试连通性,检查是否连接成功。

图片91.png

3.独享资源组的使用背景

独享资源模式下,机器的物理资源(网络、磁盘、CPU和内存等)完全独享。不仅可以隔离用户间的资源使用,也可以隔离不同工作空间任务的资源使用。此外,独享资源也支持灵活的扩容、缩容功能,可以满足资源独享、灵活配置等需求。

独享资源组可以访问同一地域的VPC数据源,也可以访问跨地域的公网RDS地址。

有一些客户反应在Kafka同步到maxcompute过程中会出现资源不足的问题,可以通过设置独享资源组的方式进行数据同步,网络磁盘CPU和内存都是完全独享的,注意是在同一地域下的vpc数据源,可以访问跨地域的公网RDS。

4.独享资源组的配置

(1)进入DataWorks控制台的资源组列表,选择购买独享资源组,有两个选择,分别是独享继承资源组和独享调度资源组。要选择点击新增独享集成资源组,点击购买选择对应的地区, 时间期限,CPU以及内存。

图片92.png

(2)购买完成之后,需要把独享资源组绑定到VPC下,点击专有网路绑定,选择与Kafka对应VPC以及交换机(明显的区别是可用区),安全组。

图片93.png

相关文章
|
25天前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
3天前
|
数据采集 监控 数据管理
数据治理之道:大数据平台的搭建与数据质量管理
【10月更文挑战第26天】随着信息技术的发展,数据成为企业核心资源。本文探讨大数据平台的搭建与数据质量管理,包括选择合适架构、数据处理与分析能力、数据质量标准与监控机制、数据清洗与校验及元数据管理,为企业数据治理提供参考。
23 1
|
1天前
|
消息中间件 分布式计算 大数据
数据为王:大数据处理与分析技术在企业决策中的力量
【10月更文挑战第29天】在信息爆炸的时代,大数据处理与分析技术为企业提供了前所未有的洞察力和决策支持。本文探讨了大数据技术在企业决策中的重要性和实际应用,包括数据的力量、实时分析、数据驱动的决策以及数据安全与隐私保护。通过这些技术,企业能够从海量数据中提取有价值的信息,预测市场趋势,优化业务流程,从而在竞争中占据优势。
15 1
|
3天前
|
数据采集 分布式计算 大数据
数据治理之道:大数据平台的搭建与数据质量管理
【10月更文挑战第27天】在数字化时代,数据治理对于确保数据资产的保值增值至关重要。本文探讨了大数据平台的搭建和数据质量管理的重要性及实践方法。大数据平台应包括数据存储、处理、分析和展示等功能,常用工具如Hadoop、Apache Spark和Flink。数据质量管理则涉及数据的准确性、一致性和完整性,通过建立数据质量评估和监控体系,确保数据分析结果的可靠性。企业应设立数据治理委员会,投资相关工具和技术,提升数据治理的效率和效果。
16 2
|
5天前
|
存储 安全 大数据
大数据隐私保护:用户数据的安全之道
【10月更文挑战第31天】在大数据时代,数据的价值日益凸显,但用户隐私保护问题也愈发严峻。本文探讨了大数据隐私保护的重要性、面临的挑战及有效解决方案,旨在为企业和社会提供用户数据安全的指导。通过加强透明度、采用加密技术、实施数据最小化原则、加强访问控制、采用隐私保护技术和提升用户意识,共同推动大数据隐私保护的发展。
|
9天前
|
SQL 存储 大数据
大数据中数据提取
【10月更文挑战第19天】
20 2
|
10天前
|
算法 大数据 数据库
云计算与大数据平台的数据库迁移与同步
本文详细介绍了云计算与大数据平台的数据库迁移与同步的核心概念、算法原理、具体操作步骤、数学模型公式、代码实例及未来发展趋势与挑战。涵盖全量与增量迁移、一致性与异步复制等内容,旨在帮助读者全面了解并应对相关技术挑战。
19 3
|
25天前
|
消息中间件 存储 druid
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
34 3
|
25天前
|
SQL 消息中间件 大数据
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
39 1
|
25天前
|
SQL 大数据 Apache
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
63 1