$30 off During Our Annual Pro Sale. View Details »

Kafka logをオブジェクトストレージに連携する⽅法まとめ

Avatar for Keigo Suda Keigo Suda
December 15, 2016
0

Kafka logをオブジェクトストレージに連携する⽅法まとめ

Avatar for Keigo Suda

Keigo Suda

December 15, 2016
Tweet

Transcript

  1. * Technology Innovation Group スペシャリスト * 今の専⾨ -> ⼤きいデータを扱う領域(インフラ〜アプリ) *

    最近はもっぱらKafkaとストリーム処理エンジンの諸々 須⽥桂伍 (すだ けいご) keigodasu
  2. Kafka Connect l Kafkaとデータをやりとりするためのフレームワーク l Kafkaの0.9より導⼊された機能でKafkaへのIn/Outが実装可能 l http://www.slideshare.net/keigosuda/apache-kafka-kafka-connect- etl-70167024 l

    設定ファイルベースで挙動をコントロール l コネクタアプリさえ作ればあとは設定ファイルで操作 l S3へのSinkコネクターは以下 l https://github.com/qubole/streamx l https://github.com/DeviantArt/kafka-connect-s3
  3. 所 感 l streamx l Confuluentのkafka-connect-hdfsをフォークしている l だからいろんなファイルフォーットでの書き出し対応しているのをウリにしている l サンプルにあったテキストでS3に書き出す例は問題なく動く

    l が!!肝⼼なそれ以外のやり⽅がわからない(え、またソース追うんすか・・・) l kafka-connect-s3 l テキスト出⼒しか対応していないため作り⾃体はシンプル l ちゃんとflush()とかonPartitionsAssigned()とか実装している l が!!Kafka 0.9系しか対応してない
  4. 設定例 l 設定可能な情報がかなりおおいが、主だったものは以下の通り # Kafka/Zookeeperの接続情報 zookeeper.kafka.seed.broker.host=172.31.28.60 zookeeper.quorum=172.31.28.60:2181 # 連携する/しないトピック情報 secor.kafka.topic_filter=test_topic

    secor.kafka.topic_blacklist=exclueded_topic # 連携先のS3情報 stored.secor.s3.bucket=secortest stored.secor.s3.path=secor # アップロードのトリガー secor.max.file.size.bytes=100 secor.max.file.age.seconds=10 # ファイルフォーマット secor.file.reader.writer.factory=com.pinterest.secor.io.impl.DelimitedTextFileReaderWriterFactory
  5. 使い⽅ l 以下を起動時の引数に指定して実⾏ l secor_group・・・S3に書き出す際のまとめかた l log4j.configuration・・・ログ(log4j)の設定 l Config・・・Secor⾃体の設定 l

    実⾏クラス・・・実⾏するクラス java –ea ¥ -Dsecor_group=secor_backup ¥ -Dlog4j.configuration=log4j.prod.properties ¥ -Dconfig=secor.prod.backup.properties ¥ -cp secor-0.1-SNAPSHOT.jar:lib/* ¥ com.pinterest.secor.main.ConsumerMain