1. 程式人生 > >Flume source 支持的type類型

Flume source 支持的type類型

key 其中 ssl als 庫文件 ash cat tca 排除

  Flume是一個分布式的高可用的消費組件。通過修改配置文件,可以啟動不同的agent處理不同來源的數據。

agent包含source,channel,sink三個組件。今天我們學習下source的type。

1. spooldir

#描述/配置Source
a1.sources.r1.type  = spooldir
a1.sources.r1.spoolDir=/home/park/work/apache-flume-1.6.0-bin/mydata

  向指定目錄中傳輸文件,發現flume收集到了該文件,將文件中的每一行都作為日誌來處理

2.NetCat Source

   一個NetCat Source用來監聽一個指定端口,並將接收到的數據的每一行轉換為一個事件。

  !type– 類型名稱,需要被設置為"netcat"

  !bind– 指定要綁定到的ip或主機名。

  !port– 指定要綁定到的端口號

  max-line-length 512單行最大字節數

3.Avro Source

  監聽AVRO端口來接受來自外部AVRO客戶端的事件流。利用Avro Source可以實現多級流動、扇出流、扇入流等效果。另外也可以接受通過flume提供的Avro客戶端發送的日誌信息。

  !type – 類型名稱,"AVRO"

  !bind – 需要監聽的主機名或IP

  !port – 要監聽的端口

  threads – 工作線程最大線程數

  selector.type

  selector.*

  interceptors – 空格分隔的攔截器列表

  interceptors.*

  compression-type none 壓縮類型,可以是“none”或“default”,這個值必須和AvroSource的壓縮格式匹配

  sslfalse 是否啟用ssl加密,如果啟用還需要配置一個“keystore”和一個“keystore-password”。

  keystore – 為SSL提供的java密鑰文件所在路徑。

  keystore-password– 為SSL提供的java密鑰文件 密碼。

  keystore-typeJKS密鑰庫類型可以是“JKS”或“PKCS12”。

  exclude-protocolsSSLv3 空格分隔開的列表,用來指定在SSL / TLS協議中排除。SSLv3將總是被排除除了所指定的協議。

  ipFilter false 如果需要為netty開啟ip過濾,將此項設置為true

  ipFilterRules– 定義netty的ip過濾設置表達式規則

#描述/配置Source
    a1.sources.r1.type  =  avro
    a1.sources.r1.bind  =  0.0.0.0
    a1.sources.r1.port  =  44444

4.HTTP Source

  HTTP Source接受HTTP的GET和POST請求作為Flume的事件,其中GET方式應該只用於試驗。

  該Source需要提供一個可插拔的"處理器"來將請求轉換為事件對象,這個處理器必須實現HTTPSourceHandler接口,該處理器接受一個 HttpServletRequest對象,並返回一個Flume Envent對象集合。

  從一個HTTP請求中得到的事件將在一個事務中提交到通道中。因此允許像文件通道那樣對通道提高效率。

  如果處理器拋出一個異常,Source將會返回一個400的HTTP狀態碼。

  如果通道已滿,無法再將Event加入Channel,則Source返回503的HTTP狀態碼,表示暫時不可用。

  !type 類型,必須為"HTTP"

  !port– 監聽的端口

  bind 0.0.0.0 監聽的主機名或ip

  handler org.apache.flume.source.http.JSONHandler處理器類,需要實現HTTPSourceHandler接口

  handler.* – 處理器的配置參數

  selector.type

  selector.*

  interceptors –

  interceptors.*

  enableSSL false 是否開啟SSL,如果需要設置為true。註意,HTTP不支持SSLv3。

  excludeProtocols SSLv3 空格分隔的要排除的SSL/TLS協議。SSLv3總是被排除的。

  keystore 密鑰庫文件所在位置。

  keystorePassword Keystore 密鑰庫密碼

#描述/配置Source
    a1.sources.r1.type  = http
    a1.sources.r1.port  = 66666

Flume source 支持的type類型