Kafkaクラスタ展開
システム構成の調整
ファイアウォールのシャットダウン
sudo systemctl stop ufw
sudo systemctl disable ufw
資源配分の調整
/etc/security/limits.confファイルの編集
sudo vi /etc/security/limits.conf
以下を追加:
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
Kafkaクラスタのインストールと構成
ダウンロードして解凍
cd /export/software
wget -P /export/software/ https://repo.huaweicloud.com/apache/kafka/3.4.0/kafka_2.12-3.4.0.tgz
tar -zxvf /export/software/kafka_2.12-3.4.0.tgz -C /export/servers/
cd /export/servers
mv /export/servers/kafka_2.12-3.4.0 /export/servers/kafka
Kafkaサーバー·パラメータの設定
編集修正/export/servers/kafka/config/server.propertiesファイルを編集する
sudo chown -R hadooper:hadooper /export/servers/kafka/
vi /export/servers/kafka/config/server.properties
hadoop01:
broker.id=1
listeners=PLAINTEXT://hadoop01:9092
advertised.listeners=PLAINTEXT://hadoop01:9092
log.dirs=/export/servers/kafka/kafka-logs
num.partitions=3
zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181
default.replication.factor=3
offsets.topic.replication.factor=3
vi /export/servers/kafka/bin/kafka-server-start.sh
スクリプトの先頭に次の項目を追加します。
export JAVA_HOME=/export/servers/jdk
vi /export/servers/kafka/bin/kafka-server-stop.sh
スクリプトの先頭に次の項目を追加します。
export JAVA_HOME=/export/servers/jdk
Hiveから元のカフカを削除して置き換える:
rm /export/servers/hive-4.0.1/lib/kafka-clients-2.5.0.jar
cp /export/servers/kafka/libs/kafka-clients-3.4.0.jar /export/servers/hive-4.0.1/lib/
Hadoop01ノードからHadoop02ノード、Hadoop03ノードへの分散
scp -r /export/servers/kafka hadoop02:/tmp/
scp -r /export/servers/kafka hadoop03:/tmp/
hadoop02へのアクセス
sudo cp -r /tmp/kafka /export/servers/
rm -r /tmp/kafka
編集修正/export/servers/kafka/config/server.propertiesファイルを編集する
sudo chown -R hadooper:hadooper /export/servers/kafka/
vi /export/servers/kafka/config/server.properties
hadoop02:
broker.id=2
listeners=PLAINTEXT://hadoop02:9092
advertised.listeners=PLAINTEXT://hadoop02:9092
log.dirs=/export/servers/kafka/kafka-logs
num.partitions=3
zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181
default.replication.factor=3
offsets.topic.replication.factor=3
hadoop03へのアクセス
sudo cp -r /tmp/kafka /export/servers/
rm -r /tmp/kafka
編集変更/export/servers/kafka/config/server.propertiesファイルを編集する
sudo chown -R hadooper:hadooper /export/servers/kafka/
vi /export/servers/kafka/config/server.properties
hadoop03:
broker.id=3
listeners=PLAINTEXT://hadoop03:9092
advertised.listeners=PLAINTEXT://hadoop03:9092
log.dirs=/export/servers/kafka/kafka-logs
num.partitions=3
zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181
default.replication.factor=3
offsets.topic.replication.factor=3
クラスタ検証の開始
ZooKeeperクラスタの起動:各ノードでZooKeeperサービスを起動する
スタートノードの開始
zkServer.sh start
ノードのキャラクタのチェックLeader/Follower
zkServer.sh status
Kafkaクラスタの起動
各 Kafkaノードで、次のコマンドを使用してKafkaサービスを開始します。
cd /export/servers/kafka
mkdir -p /export/servers/kafka/logs
mkdir -p /export/servers/kafka/kafka-logs
/export/servers/kafka/bin/kafka-server-start.sh -daemon /export/servers/kafka/config/server.properties
テストテスト
jps
QuorumPeerMainとKafkaの同時発生は、次の図に示すように、サービスの起動が成功したことを表します。
! [] httr2.hoshi.z_img/画像 55.png
クラスタの動作状態のテスト
hadoop01にtopicを作成
/export/servers/kafka/bin/kafka-topics.sh --create --bootstrap-server hadoop01:9092,hadoop02:9092,hadoop03:9092 --replication-factor 3 --partitions 3 --topic my-test-topic
トピックの説明の表示パーティションとレプリカの割り当ての確認
/export/servers/kafka/bin/kafka-topics.sh --describe --bootstrap-server hadoop01:9092 --topic my-test-topic
本番コンシューマ側の通信確認
hadoop01プロデューサー
/export/servers/kafka/bin/kafka-console-producer.sh --bootstrap-server hadoop01:9092 --topic my-test-topic
hadoop02コンシューマ
/export/servers/kafka/bin/kafka-console-consumer.sh --bootstrap-server hadoop02:9092 --topic my-test-topic --from-beginning
hadoo03(コンシューマ)
/export/servers/kafka/bin/kafka-console-consumer.sh --bootstrap-server hadoop03:9092 --topic my-test-topic --from-beginning
クラスタの状態のテスト
Hadoop01にデータを入力し、Hadoop02、Hadoop03でデータを表示します。すべての相互運用性は、下図のようにKafkaクラスタが正常に動作していることを表します。
! [] httr2.hoshi.z_img/画像 58.png
! [] httr2.hoshi.z_img/画像 57.png
! [] httr2.hoshi.z_img/画像 58.png
気に入ったならばコメントを残してくださいね~