記事ディレクトリ
Zookeeperクラスター構成
KafkaはZookeeperに大きく依存しているため、Zookeeperをインストールする必要があります。以下は、ローカルインストールの簡単な構成です。マシンは1つだけであり、仮想マシンは使用されないため、異なるポートが使用されます。
詳細については、Zookeeperクラスタのインストールを参照してください。
tickTime=2000
initLimit=10
syncLimit=5
dataDir=F:\\zkkfk\\data\\zkdata\\zk1
clientPort=2181
tickTime=2000
initLimit=10
syncLimit=5
dataDir=F:\\zkkfk\\data\\zkdata\\zk2
clientPort=2182
tickTime=2000
initLimit=10
syncLimit=5
dataDir=F:\\zkkfk\\data\\zkdata\\zk3
clientPort=2183
Kafkaクラスター構成
以下は単純なKafka構成です。クラスター内のbroker.idは異なる必要があります
broker.id=0
port=9092
log.dirs=F:\\zkkfk\\data\\kfkdata\\k1
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
zookeeper.connection.timeout.ms=6000
offsets.topic.replication.factor=1
broker.id=1
port=9093
log.dirs=F:\\zkkfk\\data\\kfkdata\\k2
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
zookeeper.connection.timeout.ms=6000
offsets.topic.replication.factor=1
#broker集群中的唯一表示,非负数,只要broker.id没有变化,则不会影响consumers的消息情况
broker.id=2
#broker server服务端口
port=9094
#kafka数据的存放地址,多个地址的话用逗号分割D:\\data11,D:\\data12
log.dirs=F:\\zkkfk\\data\\kfkdata\\k3
#ZK集群的地址,可以是多个,多个之间用逗号分割hostname1:port1,hostname2:port2
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
zookeeper.connection.timeout.ms=6000
offsets.topic.replication.factor=1
broker.idは、クラスター内のブローカーを一意的に表すために使用され、同じクラスター内のbroker.idは異なる設定にする必要があります。
ポートは指定された通信ポートです。コンシューマーとプロデューサーの両方がブローカーと対話する必要があります。このポートが使用されます。同じマシンの疑似クラスターを異なるように設定する必要があります。クラスターには同じポートを使用することをお勧めします。
zookeeper.connectはZookeeper通信アドレスを設定するためのものであり、構成する必要があります
log.dirsはデータディレクトリで、デフォルトではkafkaのルートディレクトリの下のログディレクトリです。
Kafkaディレクトリの概要
上の画像は、クラスターがローカルにインストールされているディレクトリであり、dataは、データが格納されているディレクトリです
カフカトピック
kafka-topicを使用して、クラスター内のトピックを作成および表示できます。
# 创建topic时,通过--config进行指定项的参数配置,覆盖默认配置
kafka-topics.sh --zookeeper localhost:2181 --create --topic topic-name --partitions 1 --replication-factor 1 --config max.message.bytes=64000
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic multipar_topic
kafka-topics.bat --list --zookeeper localhost:2181
kafka-topics.sh --zookeeper localhost:2181 --topic topic-name --describe
Topic: topic-name PartitionCount:2 ReplicationFactor:3 Configs:
Topic: topic-name Partition: 0 Leader: 218 Replicas: 218,216,217 Isr: 218,216,217
Topic: topic-name Partition: 1 Leader: 216 Replicas: 216,217,218 Isr: 216,218,217
kafka-console-producer
kafka-console-producerは、コマンドラインからメッセージを送信できる単純なプロデューサーであり、-broker-listはブローカーのリストを指定します
kafka-console-producer.sh --broker-list 192.168.6.10:9092,192.168.6.11:9092,192.168.6.12:9092 --topic test
kafka-console-producer.sh --broker-list 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094 --topic test
kafka-console-consumer
kafka-console-consumerは単純なコンシューマーです。–bootstrap-serverはブローカーのリストを指定します
kafka-console-consumer.sh --bootstrap-server 192.168.6.10:9092,192.168.6.11:9092,192.168.6.12:9092 --from-beginning --topic test
kafka-configs
kafka-configsを使用して、構成を動的に表示および変更できます
# 修改配置
kafka-configs.sh --zookeeper localhost:2181 --entity-type topics --entity-name topic-name --alter --add-config max.message.bytes=128000
# 删除配置
kafka-configs.sh --zookeeper localhost:2181 --entity-type topics --entity-name topic-name --alter --delete-config max.message.bytes
# 查看配置参数
kafka-configs.sh --entity-type topics --entity-name topic-name --describe --zookeeper localhost:2181
kafka-producer-perf-test
kafka-producer-perf-testはストレステストに使用され、クラスターに対するプロデューサーの影響をテストできます
パラメータ | 説明 |
---|---|
–レコード数 | 送信されたメッセージの総数 |
–レコードサイズ | シミュレートされたメッセージのサイズ、KB |
-スループット | TPS上限しきい値、TPS制限がない場合は、-1に設定 |
–compression.type | メッセージの圧縮タイプを設定する、snappy、lz4 |
kafka-producer-perf-test.sh --topic topicname --num-records 100000000 --record-size 1000 --throughput -1 --producer-props bootstrap.servers=localhost:9092 acks=-1 compression.type=lz4
kafka-producer-perf-test.sh --producer-props bootstrap.servers=127.0.0.1:9092 --topic topicname --num-records 1 --record-size 10 --throughput 400
kafka-consumer-perf-test
kafka-consumer-perf-testを使用して、クラスターに対するコンシューマーの影響を圧力テストできます。
kafka-consumer-perf-test.sh --zookeeper 127.0.0.1:2181 --topic topicname --message-size 10 --messages 1 --threads 1
カフカランクラス
kafka-run-classを使用して、Kafkaデータログファイル情報を表示できます。
kafka-run-class.sh kafka.tools.DumpLogSegments --print-data-log --files /usr/local/kafka/data/topicname-partition/00000000000000000000.log
kafka-run-class.bat kafka.tools.DumpLogSegments --print-data-log --files F:/zkkfk/data/kfkdata/k1/multipar_topic-0/00000000000000000000.log