MAPREDUCE服务 MRS-Flume常用配置参数:常用Sink配置
常用Sink配置
- HDFS Sink
HDFS Sink将数据写入HDFS。常用配置如表9所示:
图9 HDFS Sink
表9 HDFS Sink常用配置 参数
默认值
描述
channel
-
与之相连的Channel。仅可在“properties.properties”文件中配置。
type
hdfs
类型,需配置为“hdfs”。仅可在“properties.properties”文件中配置。
monTime
0(不开启)
线程监控阈值,更新时间大于阈值时重新启动该Sink,单位:秒。
hdfs.path
-
HDFS路径。
hdfs.inUseSuffix
.tmp
正在写入的HDFS文件后缀。
hdfs.rollInterval
30
按时间滚动文件,单位:秒,同时需将“hdfs.fileCloseByEndEvent”设置为“false”。
hdfs.rollSize
1024
按大小滚动文件,单位:字节,同时需将“hdfs.fileCloseByEndEvent”设置为“false”。
hdfs.rollCount
10
按Event个数滚动文件,同时需将“hdfs.fileCloseByEndEvent”设置为“false”。
hdfs.idleTimeout
0
自动关闭空闲文件超时时间,单位:秒。
hdfs.batchSize
1000
每次写入HDFS的Event个数。
hdfs.kerberosPrincipal
-
认证HDFS的Kerberos用户名,未启用Kerberos认证集群不配置。
hdfs.kerberosKeytab
-
认证HDFS的Kerberos keytab路径,未启用Kerberos认证集群不配置
hdfs.fileCloseByEndEvent
true
收到最后一个Event时是否关闭文件。
hdfs.batchCallTimeout
-
每次写入HDFS超时控制时间,单位:毫秒。
当不配置此参数时,对每个Event写入HDFS进行超时控制。当“hdfs.batchSize”大于0时,配置此参数可以提升写入HDFS性能。
说明:“hdfs.batchCallTimeout”设置多长时间需要考虑“hdfs.batchSize”的大小,“hdfs.batchSize”越大,“hdfs.batchCallTimeout”也要调整更长时间,设置过短时间容易导致数据写入HDFS失败。
serializer.appendNewline
true
将一个Event写入HDFS后是否追加换行符('\n'),如果追加该换行符,该换行符所占用的数据量指标不会被HDFS Sink统计。
- Avro Sink
Avro Sink把events转化为Avro events并发送到配置的主机的监测端口。常用配置如表10所示:
图10 Avro Sink
表10 Avro Sink常用配置 参数
默认值
描述
channel
-
与之相连的Channel。仅可在“properties.properties”文件中配置。
type
-
类型,需配置为“avro”。仅可在“properties.properties”文件中配置。
hostname
-
绑定关联的主机名或IP地址。
port
-
监测端口。
batch-size
1000
批次发送的Event个数。
ssl
false
是否使用SSL加密。
truststore-type
JKS
Java信任库类型。
truststore
-
Java信任库文件。
truststore-password
-
Java信任库密码。
keystore-type
JKS
密钥存储类型。
keystore
-
密钥存储文件。
keystore-password
-
密钥存储密码
- HBase Sink
HBase Sink将数据写入到HBase中。常用配置如表11所示:
图11 HBase Sink
表11 HBase Sink常用配置 参数
默认值
描述
channel
-
与之相连的Channel。仅可在“properties.properties”文件中配置。
type
-
类型,需配置为“hbase”。仅可在“properties.properties”文件中配置。
table
-
HBase表名称。
monTime
0(不开启)
线程监控阈值,更新时间大于阈值时重新启动该Sink,单位:秒。
columnFamily
-
HBase列族名称。
batchSize
1000
每次写入HBase的Event个数。
kerberosPrincipal
-
认证HBase的Kerberos用户名,未启用Kerberos认证集群不配置。
kerberosKeytab
-
认证HBase的Kerberos keytab路径,未启用Kerberos认证集群不配置。
- Kafka Sink
Kafka Sink将数据写入到Kafka中。常用配置如表12所示:
图12 Kafka Sink
表12 Kafka Sink常用配置 参数
默认值
描述
channel
-
与之相连的Channel。仅可在“properties.properties”文件中配置。
type
-
类型,需配置为“org.apache.flume.sink.kafka.KafkaSink”。
仅可在“properties.properties”文件中配置。
kafka.bootstrap.servers
-
Kafkabrokers列表,多个用英文逗号分隔。
monTime
0(不开启)
线程监控阈值,更新时间大于阈值时重新启动该Sink,单位:秒。
kafka.topic
default-flume-topic
数据写入的topic。
flumeBatchSize
1000
每次写入Kafka的Event个数。
kafka.security.protocol
SASL_PLAINTEXT
Kafka安全协议,未启用Kerberos认证集群下须配置为“PLAINTEXT”。
kafka.kerberos.domain.name
-
Kafka Domain名称。安全集群必填。仅可在“properties.properties”文件中配置。
Other Kafka Producer Properties
-
其他Kafka配置,可以接受任意Kafka支持的生产参数配置,配置需要加前缀“.kafka”。
仅可在“properties.properties”文件中配置。