Flume采集服务器log信息处理后上传阿里云MaxComputer

在采集服务器用户log信息  上传到 MacComputer 中  分享下自己的经验

大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全

我建议在开始项目之前一定要仔细的查看官方文档,以避免浪费很多时间,或者导致很简单的的问题提工单

我使用的是flume采集日志 信息到DataHup归档到 MaxComputer  

官方给出的 方式有好几种  可以根据业务不同使用不同的采集 方式 ,如 Fluentd插件 Logstash插件 等

Flume 采集log信息   官网案列

准备工作

1)拥有Linux系统。

2)拥有一定的开发经验。

3)拥有阿里云官网实名认证账号,并且创建好账号Access Key。

教程任务

1)安装JDK和Flume,开通MaxCompute和Datahub。

2)下载并部署Datahub Sink插件。

3)创建需要上传的本地文件,创建Datahub Topic。

4)配置Flume作业配置文件。

5)启动Flume,将数据上传至Datahub。

6)配置Connector将数据归档至MaxCompute。

实施前注意

看完上边官网案列,大概流程或许已经明白,我们在实际操作中可能会遇到很多的问题

1 我们应该需要什么样的上传格式,案列中使用的逗号" , " 来 区分字段是否符合我们的需要

2 flume 配置文件中不得出现中文注释,我们要确保正确的 access  ID和access key 均是字符串形式 ,endpoint可以在文档中查询

3 使用dataconnector 自动归档,MaxComputer表字段必须 与DataHup 一致

我们要在datahup中 创建 project  > > 创建 topic , 如果需要归档到 maxcomputer中建议新建topic时候从maxcomputer 导入,所以要先在maxcomputer 中新建 表(建议分区表),如果使用非自定义分区,建表时候还需按文档添加分区字段  >>  在 datahup 中使用maxcomputer 中的表导入,此时注意创建分区,分区选项提供三种方式,自选 >>  创建dataconnector 即可自动离线归档

顺序     maxcomputer按照分区字段和内容字段新建 表  >> 在datahup 中按maxcomputer创建topic 表,分区,及关联  >>  

按照官网配置教程或许 配置 flume  在运行会出现内存溢出的错误 可以在  ${FLUME_HOME}/flume/bin/flume-ng 进行 调整

  

数据实时处理:

如果我们的日志信息 与我们要存表的字段不符,我们可以通过datahup SDK 进行数据的实时处理, 阿里云 DataHup SDK

建议在看完文档 后实施开发时候 参考githup 上的方法,git上边比较新,一些新的参数SDK 上并没有及时更正

PythonSDK 中订阅数据获取Cursor,可以通过四种方式获取:OLDEST, LATEST, SYSTEM_TIME, SEQUENCE

建议用前三种,第四种官方没有具体实践,无论使用那种方式 ,获取的数据都不重复,主要注意的是 limit_num参数 。

订阅最多返回1000条数据,其他详见 while True 实例代码。

可以对数据进行 订阅后实时处理 并上传到DataHup 离线归档到 MaxComputer上,DataHup Git

PS :   阿里云PyODPS 技术支持(公共云)钉钉群: 11701793

猜你喜欢

转载自blog.csdn.net/RedPintings/article/details/81563631