做网站 域名 网站 空间,公司推广策划,深圳服装外贸公司,从哪些方面进行网站建设作者#xff1a;南墨
1.Source性能调优
1.1 Spooldir Source
使用Spooldir Source采集日志数据时#xff0c;若每行日志数据100bp#xff0c;可以通过将多行合并传输来提升传输性能
建议合并时根据数据长度来确定多少行合并为一个单位进行传输#xff0c;合并后的长…作者南墨
1.Source性能调优
1.1 Spooldir Source
使用Spooldir Source采集日志数据时若每行日志数据100bp可以通过将多行合并传输来提升传输性能
建议合并时根据数据长度来确定多少行合并为一个单位进行传输合并后的长度建议在1K以上譬如数据长度为50bp那么可以采用20行合并为一个单位传输配置示例如下
server.sources.static_log_source.deserializer.maxBatchLine 20
server.sources.static_log_source.deserializer.maxLineLength 2048
1.2 Avro Source
Avro source支持SSL加密传输但加密传输势必会影响传输性能因此如果环境足够安全或传输的数据非敏感数据建议采用非加密传输来提升传输性能配置示例如下
server.sources.avro_source.ssl false
1.3 TailDir Source
如果TAILDIR监视的目录下有数千文件按照正则表达式列出所有的文件会是一个比较耗费资源的过程建议打开cachePatternMatching开关以提升性能配置示例如下
server.sources.taildir_source.cachePatternMatching false
2. Channel性能调优
2.1 File Channel
使用File Channel会将缓存数据写入本地磁盘由于需要频繁的读写dataDirs所在磁盘若数据流量比较大可能造成磁盘IO高从而影响传输性能如果IO响应时间经常超过10ms那么建议将dataDirs设置在更多的磁盘上以降低磁盘IO配置示例如下
server.channels.file_channel.dataDirs /data/data1/flume/datadir, /data/data2/flume/datadir, /data/data3/flume/datadir
2.2 Memory Channel
Memory Channel使用内存作为缓存相较于File Channel有更好的性能但使用Memory Channel可靠性较低一旦宕机或其他意外发生Channel中缓存的数据将会丢失因此Channel的容量capacity不宜设置过大另一方面Channel容量大小直接影响到flume进程占用内存大小容量越大占用的内存越大GC耗时越长 性能也越低建议Channel容量设置为transactionCapacity的十倍最好不要超过100000配置示例如下
server.channels.memory_channel.capacity 100000
3. Sink性能调优
3.1 Hdfs Sink
Hdfs Sink支持文件滚动滚动策略有按时间hdfs.rollInterval、文件大小hdfs.rollSize、Event个数hdfs.rollCount滚动该配置对传输性能有影响滚动约频繁对性能影响越大超时时间hdfs.callTimeout也对传输数据有影响尤其是HDFS压力较大的场景
如何提升hdfs sink的性能
在业务允许的范围内尽可能减小文件滚动频率若HDFS压力较大、flume日志中有比较频繁hdfs超时异常参见5.5 性能瓶颈监控及调优中超时异常章节介绍调整hdfs.callTimeout设置 配置示例如下 server.channels.hdfs_sink.coalesceIncrements true
3.2 Kafka Sink
向kafka中写数据一般要写若干副本至少为1Kafka Sink的kafka.producer.acks配置项可以配置需要等待的副本返回结果若设为0表示不需要等待此参数可以提升Kafka Sink性能但同时牺牲了可靠性因此在有可靠性要求的场景下不建议使用配置示例如下
server.channels.kafka_sink.kafka.producer.acks 0
3.3 HBase Sink
若HBase sink每批次写入的数据如果存储在有限的cell中是否合并计数对性能有较大的影响将参数coalesceIncrements设置为true即合并计数会提升HBase sink的性能但计数异常时会影响整个批次在可靠性要求较高的时候不建议采用配置示例如下
server.channels.hbase_sink.coalesceIncrements true
HBase Sink支持向安全HBase写数据如果向非安全HBase中写数据可以使用AsyncHBaseSink其采用异步的方式性能会更高但其不支持安全认证配置示例如下
server.channels.asynchbase_sink.type asynchbase
server.channels.asynchbase_sink.coalesceIncrements true
更多技术信息请查看云掣官网https://yunche.pro/?tyrgw