配置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,这属于敏感信息,如需加密,可以按如下步骤:
- 进入dis-flume-plugin/目录
cd /dis-flume-plugin
- 执行加密脚本,输入密码后回车
bash dis-encrypt.sh
- 控制台打印的“Encrypt result:”后面的字符串即为加密后的结果。通过这种方式分别加密MySQL密码和用户SK,并将密文配置到配置文件中即可。
配置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
配置项 | 是否必填 | 说明 | 默认值 |
|---|---|---|---|
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加密。
| false |
dataPassword | 否 | 数据加密或解密时使用的密码。 当“dataEncryptEnabled”配置项配置为“false”时无需配置“dataPassword”。 | 请根据实际情况配置 |
bodySerializeType | 否 | DIS数据包上传格式(非原始数据格式)。
| json |

