Apache Kafkaのセットアップについて説明します。
各設定項目およびその他の設定についてはApache Kafkaのオンラインドキュメントを参照してください。
ログ出力先を指定するため、設定ファイルを編集します。
/etc/opt/FJSVbsb/msging/config/server.properties
ログディレクトリを/var/opt/FJSVbsb/msging/log/kafkaにする定義例を以下に示します。
○変更前(デフォルト値) log.dirs=/tmp/kafka-logs ○変更後 log.dirs=/var/opt/FJSVbsb/msging/log/kafka
Apache Kafkaの以下のログファイルは初期状態ではローテートされていないため、ログローテート設定を追加します。
zookeeper.out
logrotate設定の作成
/etc/logrotate.d/配下に任意のファイルを作成します。
/etc/logrotate.d/zookeeperを作成する場合の定義例を以下に示します。
/var/opt/FJSVbsb/msging/log/kafka/zookeeper.out { ifempty missingok daily dateext dateformat .%Y-%m-%d copytruncate }
logrotate設定の反映
# logrotate -f /etc/logrotate.d/zookeeper
ディスク容量の圧迫を回避するため、受信したデータの保管期間を設定します。
/etc/opt/FJSVbsb/msging/config/server.properties
定義例を以下に示します。
○変更前(デフォルト値) log.retention.hours=168 ○変更後 log.retention.hours=24
Kafka BrokerおよびConsumerで取得できるデータのサイズに関する設定をします。
以下は最大値として16MBのjsonデータを取得する例を示しています。
Brokerの設定例
/etc/opt/FJSVbsb/msging/config/server.properties
定義例を以下に示します。
○変更前(デフォルト値の記載なし) ○変更後 message.max.bytes=16777216
Consumerの設定例
/etc/opt/FJSVbsb/msging/config/consumer.properties
定義例を以下に示します。
○変更前(デフォルト値の記載なし) ○変更後 fetch.message.max.bytes=4096 * 4096
注意
Apache Kafkaでは、他のログファイルについては、Javaのログ出力ライブラリlog4jを使用してローテーションを行っています。デフォルト設定では毎日1時間ごとにログが生成されます。ログが増大してディスク使用量を圧迫する可能性がありますので、ユーザー責任で定期的に削除するようにしてください。