blog

「kafka 1.1 環境のインストールと設定

これでZookeeperの環境が整いました。...

Mar 19, 2020 · 4 min. read
シェア

JDK

Zookeeper環境設定

kafkaは、クラスタ、ブローカ、トピック、パーティションなどのメタデータ情報の管理を実装するためにZookeeperに依存しています。

step1.

公式サイト zookeeper.apache.org/releases.ht から対応するインストールパッケージをダウンロードして ください。

step2

環境ディレクトリの作成

~ mkdir /Users/user/Documents/data/zoo/zk1
~ mkdir /Users/user/Documents/data/zoo/zk2
~ mkdir /Users/user/Documents/data/zoo/zk3
#新しいmyidファイルを作成する
~ echo "1" > /Users/user/Documents/data/zoo/zk1/myid
~ echo "2" > /Users/user/Documents/data/zoo/zk2/myid
~ echo "3" > /Users/user/Documents/data/zoo/zk3/myid

confからzoo_sample.cfgをコピーします。

cp zoo_sample.cfg zoo1.cfg

dataDir、clientPortを変更

クラスタ化されたインスタンスを追加 server.X (Xは各ターゲットのmyidの値)

zoo1.cfg :

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/Users/user/Documents/data/zoo/zk1
clientPort=2191
server.1=localhost:
server.2=localhost:
server.3=localhost:
admin.serverPort=8888

zoo2.cfg :

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/Users/user/Documents/data/zoo/zk2
clientPort=2192
server.1=localhost:
server.2=localhost:
server.3=localhost:
admin.serverPort=8888

zoo3.cfg :

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/Users/user/Documents/data/zoo/zk3
clientPort=2193
server.1=localhost:
server.2=localhost:
server.3=localhost:
admin.serverPort=8888

step3

以上でZookeeperの環境が構築されたので、設定を開始します。

./zkServer.sh start zoo1.cfg
./zkServer.sh start zoo2.cfg
./zkServer.sh start zoo3.cfg
プロセスを表示する: jps
#zkサービスは QuorumPeerMain と表示される。
5422 QuorumPeerMain
5395 QuorumPeerMain
5463 QuorumPeerMain
5494 Jps
ノードの状態を確認する:
~ ../bin/zkServer.sh status zoo1.cfg
JMX enabled by default Using config: /home/conan/toolkit/zookeeper345/bin/../conf/zk1.cfg
Mode: follower
~ ../bin/zkServer.sh status z002.cfg
JMX enabled by default Using config: /home/conan/toolkit/zookeeper345/bin/../conf/zk2.cfg
Mode: leader
~ ../bin/zkServer.sh status zk3.cfg
JMX enabled by default Using config: /home/conan/toolkit/zookeeper345/bin/../conf/zk3.cfg
Mode: follower
zk2がリーダーで、zk1とzk3がフォロワーであることがわかる。

Kafka環境設定

ステップ1: kafkaインストールパッケージのダウンロード

step2: configディレクトリにserver.propertiesを複数コピーします。

設定を変更します:

  • broker.id = 0 ブローカー番号、ブローカー番号はクラスタごとに異なる番号を設定する必要があります。
  • listeners=PLAINTEXT://:9092 ブローカの外部提供サービスのエントリアドレス
  • log.dirs=/tmp/kafka-logs/kafka1 メッセージログファイルを保存するアドレス

ステップ3:スタートアップ

bin/kafka-server-start.sh config/server01.properties
bin/kafka-server-start.sh config/server02.properties
bin/kafka-server-start.sh config/server03.properties

バックグラウンド処理が必要な場合

bin/kafka-server-start.sh -daemon config/server01.properties
 
bin/kafka-server-start.sh config/server01.properties &

関連するプロセスを表示するにはjpsを使用します。

ステップ4:テスト:トピックの作成

bin/kafka-topics.sh --zookeeper localhost:2191 --create --topic topic-demo --replication-factor 3 --partitions 4

step4: テスト: 作成したトピックを見る

bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic topic-demo

step5: テスト: メッセージを消費するためにシェルウィンドウを再度開きます。

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic-demo

-- bootstrap-server 接続先のkafkaクラスタのアドレスを指定します。

step6: テスト: メッセージを送信するためにシェルウィンドウを再度開きます。

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic topic-demo

-- broker-list 接続先のkafkaクラスタのアドレスを指定します -- topic 送信者が送信するメッセージのトピックを指定します。

ヒント

3つのzookeeperサービスを同時に起動するスクリプトを書いてください。

許可を与える: chmod +x start-zookeeper-three.sh

zookeeper の基本的なコマンド

  • サービスを開始します。/zkServer.sh start zoo1.cfg
  • 具体的な情報を表示するには、サービスを開始します。/zkServer.sh start-foreground zoo1.cfg
  • サービスのステータスを確認します。/zkServer.sh status zoo1.cfg
  • サービスを停止します。/zkServer.sh stop zoo1.cfg
  • クライアントを開きます: NY zkCli.sh
  • データ読み込み:パス取得 [watch] - - > /zk-bookを取得
  • 更新データ:セットパスデータ[バージョン] - - > set /zk-book 456
  • データ削除:パス[バージョン]を削除 - - > /zk-bookを削除
Read next

nodejsでword文書を動的に生成する

会社の新しいドキュメントを役割に応じて別のwordドキュメントを生成するのですが、重複コンテンツが多く、コンテンツの削除を増やすたびにすべてのドキュメントを更新する必要があり、メンテナンスが面倒なことに加え、ドキュメントを書くのにmarkdownを使いたいので、テンプレートを使ってmarkdownとwordを生成する方法を勉強しました。

Mar 19, 2020 · 3 min read