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