Kafka とメッセージキュー

https://downloads.apache.org/kafka/3.5.1/kafka_2.13-3.5.1.tgz
_

カフカは動物園の飼育員に依存している

kakka設定ファイル

broker.id=1    #每个 broker 在集群中的唯一标识,正整数。每个节点不一样
listeners=PLAINTEXT://192.168.74.70:9092 ##监听地址
num.network.threads=3  # 定义用于网络处理的线程数。
num.io.threads=8  #定义用于I/O操作的线程数。
socket.send.buffer.bytes=102400  #设置用于发送数据的套接字缓冲区大小。
socket.receive.buffer.bytes=102400  # 设置用于接收数据的套接字缓冲区大小。
socket.request.max.bytes=104857600 #指定单个请求的最大字节数。
log.dirs=/data/kafka #kakfa 用于保存数据的目录,所有的消息都会存储在该目录当中
num.partitions=3#设置创建新的 topic 默认分区数量,一般为集群的节点数
num.recovery.threads.per.data.dir=1  #
offsets.topic.replication.factor=1  #设置偏移量主题的复制因子为1。
transaction.state.log.replication.factor=1 #事务主题的复制因子(设置更高以确保可用性)。 内部主题创建将失败,直到群集大小满足此复制因素要求
transaction.state.log.min.isr=1#覆盖事务主题的min.insync.replicas配置
log.retention.hours=168#设置 kafka 中消息保留时间,
log.retention.check.interval.ms=300000
zookeeper.connect=192.168.74.70:2181,192.168.74.71:2181,192.168.74.72:2181 #设置Zookeeper服务器的连接地址。
zookeeper.connection.timeout.ms=18000  #设置与Zookeeper建立连接的超时时间。
group.initial.rebalance.delay.ms=0 #设置初始重新平衡延迟的毫秒数。


/apps/kafka_2.13-3.5.1/bin/kafka-server-start.sh -daemon /apps/kafka_2.13-3.5.1/config/server.propertiesを起動します。

ポート
netstat -antp|grep 2181を確認します。

ここに画像の説明を挿入します

トピックを作成する

/apps/kafka_2.13-3.5.1/bin/kafka-topics.sh --create --topic magedu --bootstrap-server 192.168.74.70:9092 --partitions 3 --replication-factor 2

ここに画像の説明を挿入します
トピック
root@ubuntu20:~# /apps/kafka_2.13-3.5.1/bin/kafka-topics.sh --bootstrap-server 192.168.74.70:9092 --list
mageduを参照

停止kafka
/apps/kafka_2.13-3.5.1/bin/kafka-server-stop.sh

トピックの
ステータスの説明を確認します: 3 つのパーティション、つまり 0、1、および
2 があります。PartitionCount: 3 は 3 つのシャードを表します
。ReplicationFactor: 2 は 2 つのレプリカを表します。
パーティション 0 のリーダーは 1 です。

Replicas: レプリカに保存されている BrokerID を表します。
Isr: 1,3 は、生きている人物が 1,3 であることを表します。

root@ubuntu20:~# /apps/kafka_2.13-3.5.1/bin/kafka-topics.sh  --describe   --bootstrap-server  192.168.74.70:9092
    Topic: magedu	TopicId: H4nV6WulTU-y_S4J2pHfOA	PartitionCount: 3	ReplicationFactor: 2	Configs: 
	Topic: magedu	Partition: 0	Leader: 1	Replicas: 1,3	Isr: 1,3
	Topic: magedu	Partition: 1	Leader: 1	Replicas: 2,1	Isr: 1
	Topic: magedu	Partition: 2	Leader: 3	Replicas: 3,2	Isr: 3

上記 Isr には 2 がありません。ノード 2 が欠落していることがわかります。ノード 2 の kafka が起動していないことを確認します。
起動後は正常です。

Topic: magedu	TopicId: H4nV6WulTU-y_S4J2pHfOA	PartitionCount: 3	ReplicationFactor: 2	Configs: 
	Topic: magedu	Partition: 0	Leader: 1	Replicas: 1,3	Isr: 1,3
	Topic: magedu	Partition: 1	Leader: 1	Replicas: 2,1	Isr: 1,2
	Topic: magedu	Partition: 2	Leader: 3	Replicas: 3,2	Isr: 3,2

表示するトピックを指定します
/apps/kafka_2.13-3.5.1/bin/kafka-topics.sh --describe --bootstrap-server 192.168.74.70:9092 --topic luo

root@ubuntu20:~#ll /data/kafka/

本番データ
/apps/kafka_2.13-3.5.1/bin/kafka-console-Producer.sh --broker-list 192.168.74.71:9092,192.168.74.70:9092 --topic magedu
ここに画像の説明を挿入します

消費データ
/apps/kafka_2.13-3.5.1/bin/kafka-console-consumer.sh --topic magedu --bootstrap-server 192.168.74.71:9092,192.168.74.70:9092 --from-beginning
--from - 消費をゼロから始める

ソフトウェアを介してデータを表示する
接続を作成する
ここに画像の説明を挿入します
Kafka アドレス構成を追加する
ここに画像の説明を挿入します

文字列型に変更
ここに画像の説明を挿入します

データを閲覧できる

ここに画像の説明を挿入します

要約する

メッセージは 1 回消費されます
メッセージは複数回消費されます -> データの同期と配布
通常、ほとんどの場合は 1 回消費されます。

Kafka は通常、高可用性トピック (トピック) を実現するためにクラスター内で実行されます
。レコード (レコードとログ) を論理的にグループ化して保存します。

Kafka パーティション: 高いデータ可用性を実現するために、たとえばパーティション 0 のデータは異なる Kafka ノードに分散され、各パーティションにはリーダーとして 1 つのブローカーがあり、フォロワーとして 1 つのブローカーがあります。

シーケンシャル読み取り
および書き込み シーケンシャル読み取り

モニター:
ポートの
カール URL が 200 であるかどうかを確認します。

アクティブmq

ポートはrabbitmqと同じなのでwget
をインストール
https://mirrors.tuna.tsinghua.edu.cn/apache/activemq/5.18.2/apache-activemq-5.18.2-bin.tar.gz
cp apache-activemq- 5.18.2- bin.tar.gz /apps/
cd /apps/
tar -xf apache-activemq-5.18.2-bin.tar.gz
ln -s apache-activemq-5.18.2 activemq
vi activemq.xml #不要
cd...
./bin/linux-x86-64/activemq start #Start を変更するには

netstat -antp|grep 8161 アドレスを 0.0.0.0
/usr/local/activemq/conf# vijetty.xmlに変更し
ここに画像の説明を挿入します

http://120.77.146.92 :8161/admin/ にアクセスします。
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/m0_37749659/article/details/132515963