配置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 |