>100 Views
December 19, 16
スライド概要
Apache Kafka Meetup Japan #2 https://kafka-apache-jp.connpass.com/event/45923/ 発表資料
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
Kafka 通常オペレーションで遭遇する問題集 2016/12/15 ヤフー株式会社 梁 浩軒 1
アジェンダ 本LTの説明 -サーバ追加時のBroker Idどうするか問題 -サーバリプレイス時Broker Id歯抜け問題 -TOPICリアサイン時disk使用率問題 -TOPICパーティション割り振りどうするか問題 -Kafka-managerのConsumer-version不一致 まとめ 2
本LTの説明 Kafkaを運用してきて、頻繁に遭遇する各種オペレーションに 付いてまとめる 主にKafka0.8系と0.10系で発生した問題について述べる 3
サーバ追加時のBroker Idどうするか問題 ・新規Brokerを追加するときにBroker Idの割り振り方をホスト 名にそって連番でつけたい、ただし、デフォルトの機能 (0.9~0.10系)を使うとずれる ー>ホスト名からBroker Idを作成するシェルをつくります 4
サーバリプレイス時Broker Id歯抜け問題 Broker Id歯抜け問題 ・ホスト名から連番を設定していたため、新たに追加するとリ プレイスしたホスト名とBroker Idが歯抜けになる ー>ホスト名を変更して対応しようとするとデータ一時避難 用のサーバとリプレイス用のサーバが2つ必要になる 5
TOPICリアサイン時disk使用率問題 ・TOPICをリアサインするとタイムスタンプが更新され、データ が削除されなくなるため、disk使用量が2倍になる ー>サーバに割り振るトピックの総データサイズが50%になら ないようにする 6
TOPICパーティション割り振りどうするか問題 ・リーダとレプリカは同時に落とせない。適当に割り振るとオ ペレーションが大変になる ー>奇数にリーダ、偶数にレプリカなどルールを決めて割り 振るシェルを作成する ー>0.10系からはラックアウェアネスというラックごとのリーダ とレプリカの割り振り機能がある 7
Kafka-managerのConsumer-version不一致 ・Kafka-managerで複数versionのkafkaクラスタを管理すると き、kafka-managerのconsumerが1-versionしかないため、 データをconsumeできないときがある ー>別々のversionのKafka-managerを立てる 8
まとめ ・サーバ追加時やサーバリプレイス時、TOPIC操作時にも面 倒な対応が必要になる ・このほかにも、TOPICリアサイン時やパーティションリーダ 再抽選時のトラフィック問題など、通常オペレーションで気に しなければいけないことはいろいろある。 ー>今後の改善に期待 9