04_Flume之HTTPSource参数解析

17 篇文章 0 订阅
17 篇文章 0 订阅
一、介绍

Flume 1.9.0 版本的 HTTPSource 是一种数据源类型,可以用于接收通过 HTTP 协议传输的数据。这个版本中,HTTPSource 新增了许多参数,并且改进了性能和稳定性。

二、常用参数说明:
序号参数默认值描述
1typeHTTPSource必选参数,指定该数据源类型为 HTTPSource。
2bind0.0.0.0可选参数,指定 HTTPServer 绑定的 IP 地址,默认为 0.0.0.0。
3port-必选参数,指定 HTTPServer 监听的端口号。
4handlerJSONHandler可选参数,指定 HTTP 请求处理类,默认为 org.apache.flume.source.http.JSONHandler。
5handler.maxEvents-1可选参数,指定每次 HTTP 请求最大读取事件数,默认为 -1(无限制)。
6handler.defaultCharsetUTF-8可选参数,指定默认字符集,默认为 UTF-8。
7keep-alivetrue可选参数,指定是否开启 Keep-Alive 功能,默认为 true。
8sslEnabledfalse可选参数,指定是否开启 SSL 加密传输,默认为 false。
9keyStorePath-sslEnabled 设置为 true 时,需要配置这个参数以指定服务端证书的存储路径。
10keyStorePassword-sslEnabled 设置为 true 时,需要配置这个参数以指定服务端证书的密码。
11trustStorePath-sslEnabled 设置为 true 时,需要配置这个参数以指定信任的证书的存储路径。
12trustStorePassword-sslEnabled 设置为 true 时,需要配置这个参数以指定信任的证书的密码。
13excludePattern-可选参数,指定不接收的 URL(正则表达式)。
14channels-必选参数,指定数据发送到哪个通道。

以上是 HTTPSource 的常用参数说明,可以根据需求自行定义和添加其他参数。

另外,HTTPSource 还有以下特点:

  1. 可以通过 HTTP 协议传输多种类型数据,如文本、JSON、XML、二进制等。
  2. 可以将接收到的数据一次性发送到指定的 channel,也可以将数据分割成事件逐个发送到 channel。
  3. 可以通过配置 handler 类来指定处理 HTTP 请求的方式,默认提供 JSONHandler 处理类。也可自定义处理类。

Flume 1.9用户手册中文版

image-20230409175908355

三、更多参数
序号参数默认值描述
1threads10可选参数,指定异步事件处理的线程数,默认为 10。
2maxBatchSize-1可选参数,指定每批次最大的事件数量。默认值 -1 表示无限制。
3maxBatchDurationMillis-1可选参数,指定每批次最大的处理时间。默认值 -1 表示无限制。
4maxRequestSize100MB可选参数,指定每个请求的最大大小。默认值 100MB。
5requestTimeout2000可选参数,指定请求超时时间(毫秒)。默认值 2000 毫秒。
6responseBufferSize16KB可选参数,指定响应缓存区的大小。默认值 16KB。
7customHeaders-可选参数,指定自定义的 HTTP 头信息,格式为 K1:V1,K2:V2,…。
8portBindingdefault可选参数,指定端口绑定模式,可以是 “default” 或 “exclusive”。
9enableCompressionfalse可选参数,指定是否启用 GZIP 压缩传输。默认为 false。
10compressionLevel-1可选参数,指定 GZIP 压缩级别。默认为 -1。
11excludeMethods-可选参数,指定不接受的 HTTP 请求方法,如 POST,PUT。默认为空。
12maxHttpHeaderSize8192可选参数,指定 HTTP 请求头最大长度。默认为 8192 字节。
四、企业级调优后的 HTTPSource 的案例
  1. 配置 IP 地址绑定

如果您的服务器有多个 IP 地址,建议使用 bind 参数指定具体的 IP 地址,以避免绑定错误的 IP 地址导致接收不到数据。

agent.sources.http-source.bind = 192.168.1.100
  1. 开启 Keep-Alive

开启 Keep-Alive 功能可以减少 TCP 连接的创建和销毁次数,提升性能。

agent.sources.http-source.keep-alive = true
  1. 配置 SSL 加密传输

如果需要对传输数据进行加密保护,可以开启 SSL 加密传输功能。需要注意的是,在开启 SSL 加密传输时,需要配置相关的证书信息。

agent.sources.http-source.sslEnabled = true
agent.sources.http-source.keyStorePath = /path/to/keystore
agent.sources.http-source.keyStorePassword = password
agent.sources.http-source.trustStorePath = /path/to/truststore
agent.sources.http-source.trustStorePassword = password
  1. 增加异步事件处理线程数

增加异步事件处理线程数可以提高并发性能。

agent.sources.http-source.threads = 32
  1. 调整批量发送大小和间隔时间

合理的批量发送大小和间隔时间可以有效减少网络 IO 操作的次数。

agent.sources.http-source.maxBatchSize = 500
agent.sources.http-source.maxBatchDurationMillis = 1000
  1. 增加请求超时时间

在处理大流量数据时,可能会出现请求超时的情况。可以适当增加请求超时时间,以避免数据丢失。

agent.sources.http-source.requestTimeout = 5000
  1. 开启 GZIP 压缩传输

开启 GZIP 压缩传输可以减少网络传输的数据量,提高传输效率。

agent.sources.http-source.enableCompression = true
agent.sources.http-source.compressionLevel = 5
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值