更新时间:2026-01-19 GMT+08:00
分享

配置Plugin

DIS Flume Plugin分为Source与Sink插件,安装包中的dis-flume-plugin.conf.template文件列出了配置方法,本节介绍各种插件的配置项具体含义。

dis-flume-plugin.conf.template只是一个dis插件的配置样例,并不是实际运行Flume时会读取的配置文件。Flume自身提供了样例配置文件,路径为{FLUME_HOME}/conf/flume-conf.properties.template,其中{FLUME_HOME}是Flume的安装路径,用户可以基于此配置文件修改。

在配置项中,需要配置用户的SK,这属于敏感信息,如需加密,可以按如下步骤:

  1. 进入dis-flume-plugin/目录

    cd /dis-flume-plugin

  2. 执行加密脚本,输入密码后回车

    bash dis-encrypt.sh

  3. 控制台打印的“Encrypt result:”后面的字符串即为加密后的结果。通过这种方式分别加密MySQL密码和用户SK,并将密文配置到配置文件中即可。

配置DIS Source

表1 DIS Source配置项说明

配置项

是否必填

说明

默认值

channels

是

Flume channel的名称。

请根据实际情况配置

type

是

Source的类型。

com.cloud.dis.adapter.flume.source.DISSource

streams

是

指定在DIS服务上创建的通道名称。

与DIS控制台“购买接入通道”时配置的“通道名称”取值一致。

ak

是

用户的Access Key。

获取方式请参见检查认证信息。

请根据实际情况配置

sk

是

用户的Secret Key。

获取方式请参见检查认证信息。

请根据实际情况配置

region

是

将数据上传到指定Region的DIS服务。

请根据实际情况配置

projectId

是

用户所属区域的项目ID。

获取方式请参见检查认证信息。

请根据实际情况配置

endpoint

是

DIS对应Region的数据接口地址。

请根据实际情况配置

group.id

是

DIS App名称,用于标识一个消费组,由英文字符、数字、-、_组成。

请根据实际情况配置

配置DIS Sink

表2 DIS Sink配置项说明

配置项

是否必填

说明

默认值

channel

是

Flume channel的名称。

请根据实际情况配置

type

是

Sink的类型。

com.cloud.dis.adapter.flume.sink.DISSink

streamName

是

指定在DIS服务上创建的通道名称。

与DIS控制台“购买接入通道”时配置的“通道名称”取值一致。

ak

是

用户的Access Key。

获取方式请参见检查认证信息。

请根据实际情况配置

sk

是

用户的Secret Key。

获取方式请参见检查认证信息。

请根据实际情况配置

region

是

将数据上传到指定Region的DIS服务。

cn-north-1

projectId

是

用户所属区域的项目ID。

获取方式请参见检查认证信息。

请根据实际情况配置

endpoint

是

DIS对应Region的数据接口地址。

https://dis.cn-north-1.myhuaweicloud.com

partitionNumber

否

通道的分区数量。

用于计算batchSize的大小。

1

batchSize

否

一个Flume事务内批量处理的数据集大小。

(“partitionNumber”配置的值)*250

sendingThreadSize

否

发送线程数。默认单线程发送。

说明:

使用多线程会出现如下情况:

  • 发送不保证顺序。
  • 当程序从异常停止恢复时重传部分数据。

1

sendingRecordSize

否

单次调用DIS数据发送接口时的数据集大小。

说明:

“batchSize”表示一个事务的批量值(如1000),而“sendingRecordSize”表示一个Rest请求的批量值(如250表示会发起四次请求)。当“batchSize”的数据全部发送成功之后,才会完成Flume的事务,否则事务不提交,重启时导致数据重传。当“sendingThreadSize”配置为“1”时,表示“sendingRecordSize”与“batchSize”配置相同值,避免数据重新上传。

250

retrySize

否

Sink程序调用DIS接口异常时尝试重新调用的次数。

建议使用默认值2147483647,表示会无限重试。

重试时会使用指数退避算法,并等待一段时间,以减轻异常时服务器压力。

2147483647

resultLogLevel

否

每次调用DIS接口后输出最新sequenceNumber到日志的级别。

有效值与级别由低到高为 OFF < DEBUG < INFO < WARN < ERROR。

OFF:不输出日志。

如果Flume log4j配置的日志级别高于resultLogLevel配置的的值,则日志也不会输出。

OFF

maxBufferAgeMillis

否

最长上传等待时间。单位:毫秒

  • 记录队列满则立即上传。
  • 记录队列未满,等待此配

置项配置的时间后上传。

5000

connectionTimeOutSeconds

否

连接DIS接口超时时间。

单位:秒。

30

socketTimeOutSeconds

否

接口响应超时时间。

单位:秒。

60

dataEncryptEnabled

否

数据是否使用AES加密。

  • 是:true。
  • 否:false。

false

dataPassword

否

数据加密或解密时使用的密码。

当“dataEncryptEnabled”配置项配置为“false”时无需配置“dataPassword”。

请根据实际情况配置

bodySerializeType

否

DIS数据包上传格式(非原始数据格式)。

  • json:DIS数据包封装为json格式,满足普通使用。
  • protobuf:DIS数据包封装为二进制格式,可以减少体积约1/3,在数据量较大的情况下推荐使用此格式。

json

相关文档