18. 3.3 Propertiesファイルによる設定(1/2)
1. FlumeOGでは設定変更にはFlumeMasterからの
変更が必須。
2. FlumeNGではプロパティファイルによる設定が可
能になる。
FlumeMasterを用意するか選択ができる。
3. プロパティファイルによる設定の導入には、以下
のコンセプトが関わっている?
Centralized is important to about 50% of users. The
other half don't want it and would prefer simple local
files. Everyone agrees dynamic configuration (runtime
reconfiguration) is critical as downtime for data ingest
systems hurts.
18
19. 3.3 Propertiesファイルによる設定(2/2)
Avro(0.0.0.0:41414)をLISTEN⇒メモリに一時保存⇒ログ出力
という構成時の設定例
# now that we've defined all of our components, tell 使用するコンポーネントを定義
# host1 which ones we want to activate. <ホスト名>.
host1.sources = avro-source1
host1.channels = ch1
[sources|channels|sinks]=xxx
host1.sinks = log-sink1
# Define an Avro source called avro-source1 on host1 and
tell it 各コンポーネントを定義
# to bind to 0.0.0.0:41414. Connect it to channel ch1.
host1.sources.avro-source1.type = avro <ホスト名>.
host1.sources.avro-source1.bind = 0.0.0.0 [sources|channels|sinks].
host1.sources.avro-source1.port = 41414 xxx.type=yyy
host1.sources.avro-source1.channels = ch1
…
# Define a memory channel called ch1 on host1
host1.channels.ch1.type = memory
Channelは現在3種類
# Define a logger sink that simply logs all events it receives (処理が早い) (信頼性高い)
# and connect it to the other end of the same channel. Memory > File > JDBC
host1.sinks.log-sink1.type = logger
host1.sinks.log-sink1.channel = ch1
19
21. 4. FlumeNGで注意したい点
1. 未実装の機能が多く残っている
① FlumeMasterや設定投入、監視用メトリクス
(Source、Sinkの挙動を示すカウンターなど)など
② Flume1.1.0にて対応予定
2. FlumeOGとの互換性は保証されていない
① 通信プロトコルは現在Avroのみ対応
② プラグインの実装方法が変わる
③ 設定内容が変わる(Channelの追加、Source/Sink
の名前変更)
21