Pulsar の展開とオンライン構成を 1 つの記事で学ぶ

Pulsar の展開とオンライン構成を 1 つの記事で学ぶ

1. パルサーのインストールと展開

1. インストールパッケージをダウンロードする

Pulsar インストール パッケージには、zookeeper、broker、bookie の 3 つのコンポーネントが含まれています。

Pulsarバイナリパッケージをダウンロード

 https://pulsar.apache.org/download/

圧縮ファイルを解凍する

 tar - zvxf apache -パルサー- 2.9 .1 - bin .tar .gz

2. Zookeeperをデプロイする

2.1 ZooKeeperの設定を変更する

ディレクトリを作成する

 mkdir -pデータ/ zookeeper

エコー1 >データ/ zookeeper / myid

zk設定を変更します。ファイルはconf/zookeeper.confにあります。

 # データディレクトリ
dataDir =データ/動物園管理人
# ログディレクトリ
dataLogDir =データ/飼育員/ログ
# zk クラスタ構成、サーバー.1 ~ n
サーバー.1 = 127.0 .0 .1 : 2888 : 3888

2.2 ZooKeeperをバックグラウンドで起動する

 bin / pulsar -デーモン起動 zookeeper
動物園の飼育係を起動しています...
zookeeper を起動し /Users/ admin/work/software_install/apache-pulsar-2.9.1/logs/pulsar-zookeeper-M-C02GL1NTQ05P.log ログを記録します
: conf / log4j2 .yaml immediateFlush をtrue設定すると、ログ イベントがすぐにディスクにフラッシュされることが保証されます。パフォーマンス上の考慮により、デフォルトの動作はオフになっいます。

pulsar-daemon による pulsar コンポーネントの管理

 bin / pulsar -デーモンヘルプ
エラー:十分な引数が指定されていません。
使用方法: pulsar - daemon ( start | stop | restart ) <コマンド> <引数... >
ここで、コマンドは次のいずれかです:
ブローカー ブローカーサーバーを実行する
ブッキー ブッキーサーバーを実行する
zookeeper zookeeperサーバーを実行する
構成-ストア 構成-ストア サーバーを実行します
websocket websocketプロキシサーバーを実行する
関数-ワーカー 関数ワーカーサーバーを実行する
スタンドアロン スタンドアロンのPulsarサービスを実行する
proxy Proxy Pulsarサービスを実行する

注: pulsar-daemon コマンドを使用して、ブローカー、ブッキー、zookeeper などのコンポーネントを起動、停止、または再起動できます。

2.3 Zookeeperが正常に起動したかどうかを確認する

Zookeeper の起動ログと Zookeeper プロセスの表示

 ps アクス| grep 動物園飼育員

3. メタデータの初期化

3.1 初期化コマンドの説明

 bin / pulsar 初期化-クラスター-メタデータ\
--cluster パルサー クラスター 1 \
--zookeeper 127.0.0.1:2181 \
--configuration-store 127.0.0.1:2181 \
--web-service-url http://127.0.0.1:8080 \
--web-service-url-tls https://127.0.0.1:8443 \
--broker-service-url パルサー://127.0.0.1:6650 \
--broker-service-url-tls パルサー+ssl://127.0.0.1:6651

パラメータの説明

パラメータの説明

パラメータ

例示する

クラスタ

デフォルトのクラスター名

飼育係

ローカルクラスタで使用されるzkアドレス

構成ストア

複数のクラスターのグローバルzkクラスターアドレスは、クラスター間でデータを同期します。単一のクラスターアドレスは、上記のパラメーターzookeeperと同じです。

ウェブサービス URL

トピックの作成や削除などのブローカー管理フローのアドレス。

ウェブサービス URL TLS

ブローカーはTLSをオンにし、このアドレスを管理フローに使用します。

ブローカーサービス URL

ブローカー データ ストリーム アドレス、メッセージの送受信など。

ブローカー サービス URL TLS

ブローカーはTLSをオンにし、データフローはこのアドレスを使用します

注: ドメイン名は実稼働環境で使用できます。

3.2 初期化結果の表示

ビン/パルサー動物園の飼育係-シェル

[ zk : localhost : 2181 (接続済み) 1 ] ls /
[管理者ブックメーカー元帳パルサーストリーム飼育係]

4. BookKeeper クラスターをデプロイする

4.1 設定の変更

 バインドアドレス= 127.0.0.1
アドバタイズされたアドレス= 127.0 .0 .1
zkServers = 127.0 .0 .1 : 2181

パラメータの説明

パラメータ

例示する

バインドアドレス

サービスがリッスンするアドレス。デフォルト値は 0.0.0.0 です。

広告住所

サービスによって公開されたホスト名または IP。デフォルト値はIntetAddress.getLocalHost().getHostNameです

zkサーバー

ブローカーと共有できるzkクラスタアドレス

4.2 コマンドの起動

 bin / pulsar -デーモン起動bookie
ブッキーを始めます...
bookie を起動し /Users/ admin/work/software_install/apache-pulsar-2.9.1/logs/pulsar-bookie-M-C02GL1NTQ05P.log ログ記録します
: conf / log4j2 .yaml immediateFlush をtrue設定すると、ログ イベントがすぐにディスクにフラッシュされることが保証されます。パフォーマンス上の考慮により、デフォルトの動作はオフになっいます。

4.3 ブッキークラスターのテスト

 bin / bookkeeper シェル simpletest --ensemble 1 --writeQuorum 1 --ackQuorum 1 -- numEntries 1000

...
2022-02-19 T23 : 43 : 03 , 391 + 0800 [ main ] INFO org .apache .bookkeeper .tools .cli .commands .client .SimpleTestCommand - 722 エントリが書き込まれました
2022-02-19 T23 : 43 : 03,983 + 0800 [ main] INFO org .apache .bookkeeper .tools .cli .commands .client .SimpleTestCommand - 1000 エントリが元帳0 書き込まれました
2022-02-19 T23 : 43 : 04 , 041 + 0800 [ main] INFO org .apache .bookkeeper .proto .PerChannelBookieClient - 127.0 .0 .1のチャネルごとのブッキークライアントを閉じています: 3181
...

注: simpletest コマンドを使用して、bookie クラスターにテスト データを書き込みます。テストが完了すると、テスト データは自動的に削除されます。

5. ブローカークラスターをデプロイする

5.1 構成の変更

動物園管理サーバ= 127.0 .0 .1 : 2181
構成ストアサーバー= 127.0 .0 .1 : 2181
バインドアドレス= 127.0.0.1
# デフォルトの InetAddress .getLocalHost ( ) .getHostName ( )
アドバタイズされたアドレス= 127.0 .0 .1
clusterName =パルサー-クラスター- 1

5.2 ブローカーを起動する

 bin / pulsar -デーモン起動ブローカー
ブローカーを開始しています...
ブローカーを起動し /Users/ admin/work/software_install/apache-pulsar-2.9.1/logs/pulsar-broker-M-C02GL1NTQ05P.log ログを記録します
: conf / log4j2 .yaml immediateFlush をtrue設定すると、ログ イベントがすぐにディスクにフラッシュされることが保証されます。パフォーマンス上の考慮により、デフォルトの動作はオフになっいます。

5.3 クラスターの検証

クラスターノードの表示

 bin / pulsar -管理者ブローカーリストクラスター- 1
「172.17.13.184:8080」

テストメッセージを送信する

 bin / pulsar -クライアントは永続的なものを生成します: // public / default / test - n 1 - m "Hello Pulsar"
...
2022-02-20 T13 : 31 : 18,469 + 0800 [ main ] INFO org .apache .pulsar .client .cli .PulsarClientTool - 1 件のメッセージが正常に生成されました
...

テストメッセージを消費する

 bin / pulsar -クライアントは永続的に消費します: // public / default / test - n 100 - s "consumer-test" - t "Exclusive"
...
----- メッセージが届きました -----
キー: [ null ] プロパティ: [ ] コンテンツ: Hello Pulsar
...

概要: テスト クラスターが構築されました。次項では本番環境構成の調整項目について紹介します。

2. 本番環境の構成

1. マシン構成

以下は、3 つの Zookeeper ノード、3 つのブローカー ノード、5 つの Bookie ノードで構成される、本番環境用に構築された Pulsar クラスターです。

コンポーネント構成

コンポーネント構成
飼育係4 C8G100G * 3
ブローカー16 C64G500G * 3
ブッキー16 C64G500G * 5

注: 各コンポーネント クラスターは、高可用性を向上させるために、同じ都市の可用性ゾーン全体にデプロイできます。ブローカーはメッセージを保存するために 100 GB しか必要としませんが、ブッキーは通常、メッセージの量に基づいて計算される 3 TB などの、メッセージを保存するためのより大きなディスクを必要とします。

2. メモリの最適化

構成項目

メモリサイズまたは比率、合計サイズ

システム OS キャッシュ

1~2G

JVM メモリとオフヒープ メモリ

1/2(システムキャッシュを削除した後の残りのキャッシュの半分)、そのうちJVMヒープが1/3、オフヒープメモリダイレクトメモリが2/3を占めます。

ページキャッシュメモリサイズ

1/2 (システムキャッシュを削除した後の残りのキャッシュの半分)

2.1 ブローカーメモリ調整

メモリ サイズが 64G であると仮定して、conf/pulsar_env.sh ファイル内の次の内容を変更します。

 PULSAR_MEM = $ { PULSAR_MEM : - "-Xms10g -Xmx10g -XX:MaxDirectMemorySize=20g" }

2.2 ブッキーメモリ調整

メモリ サイズが 64G であると仮定して、conf/bkenv.sh ファイル内の次の内容を変更します。

 BOOKIE_MEM = $ { BOOKIE_MEM : - $ { PULSAR_MEM : - "-Xms10g -Xmx10g -XX:MaxDirectMemorySize=20g" } }

3.ブローカー調整項目

構成項目

例示する

動物園管理サーバー = xxxx:2181、xxxx:2181、xxxx:2181

ローカル Zookeeper クラスタ アドレス

構成ストアサーバー=xxxx:2181、xxxx:2181、xxxx:2181

ストレージZookeeperクラスタアドレスを構成する

バインドアドレス=xxxx

サービスがリッスンするアドレスはローカルIPアドレスにすることができます。デフォルトは0.0.0.0です。

広告アドレス=xxxx

サービスによって公開されたホスト名または IP。デフォルト値はIntetAddress.getLocalHost().getHostNameです

クラスター名=クラスター-xxx

クラスター名

ブローカー削除非アクティブトピックス有効 = false

非アクティブなトピックの自動削除をオフにする

デフォルトの名前空間バンドル数=12

バンドルの数はブローカーの数の整数倍でなければなりません。デフォルトは4です。

デフォルト保持サイズ(MB)=1T

消費確認メッセージがこのサイズを超えると、削除ポリシーがトリガーされます。

デフォルトの保持時間 (分) = 1 週間

確認済みメッセージの消費が指定された時間を超えると削除ポリシーがトリガーされます。

バックログクォータデフォルト制限GB=-1

コンシューマーによって確認されていないメッセージのデフォルトのストレージ サイズを維持します。

デフォルト値は -1 で、制限がないことを意味します。ディスクがいっぱいになるのを防ぐために、set-message-ttl を使用して有効期限を設定できます。

バックログクォータデフォルト保持ポリシー=プロデューサーリクエストホールド

コンシューマーによって確認されていないメッセージの数がストレージ サイズを超えるというデフォルトのポリシーを維持します。

管理元帳デフォルトアンサンブルサイズ=3

元帳を作成するときにアンサンブルのサイズを指定します

管理元帳デフォルト書き込みクォーラム = 3

元帳を作成するときにクォーラムサイズを指定します

管理元帳デフォルトAckクォーラム=2

元帳を作成するときにackクォーラムのサイズを指定します

ディスパッチャ最大読み取りバッチサイズ = 500

一度にブックキーパーから読み取るレコードの数。デフォルト値は100です。

loadBalancerAutoBundleSplitEnabled=false

クライアントの安定性を向上させるために自動バンドル分割機能を無効にします

loadBalancerAutoUnloadSplitBundlesEnabled=false

クライアントの安定性を向上させるために自動バンドル分割機能を無効にします

loadBalancerSheddingEnabled=false

Pulsarの自動バランス調整を無効にする

ロードバランサー有効=false

Pulsarの自動バランス調整を無効にする

注: パラメータは実際の状況に応じて調整されます。オンラインで負荷分散が有効になっている場合、重複したメッセージが見つかります。まずここを閉じてください。

4.ブッキー調整

構成項目の説明


構成項目

例示する

zkServers=xxxx:2181、xxxx:2181、xxxx:2181

ローカル Zookeeper クラスタ アドレス

ジャーナルディレクトリ=/data/bookkeeper/journal01,/data/bookkeeper/journal02

BookKeeper が事前に書き込んだログを保存するディレクトリ。スレッドのブロックを防ぐために、複数のディレクトリはコンマで区切られます。

元帳ディレクトリ=/data/bookkeeper/ledgers01、/data/bookkeeper/ledgers02

BookKeeper 出力元帳が保存されるディレクトリを指定します。複数の元帳ディレクトリはコンマで区切る必要があります。

注: 条件が許せば、journalDirectory と ledgerDirectories を異なるディスクに設定できます。

この記事はWeChatの公開アカウント「Guan Nong Lao Liang」から転載したものです。下のQRコードからフォローできます。この記事を転載する場合は、メロン農家ラオリャンの公開アカウントまでご連絡ください。

<<:  エンタープライズクラウドサービスの選択: SaaS、PaaS、IaaSの比較分析

>>:  クラウドネイティブアプリケーション開発を始める方法

推薦する

ウェブサイトを最適化する際に SEO に独立した IP を使用する利点は何ですか?

皆さんおはようございます。今日は週末です。杭州の多くの企業は休業していますが、ウェブサイトの最適化の...

「WeChatグループ流出事件」続編:CITIC証券が従業員のWeChatアカウントを完全削除

「WeChatグループ流出事件」続編:CITIC証券が従業員のWeChatアカウントを完全削除【Te...

ウェブサイトのハイパーリンク不正行為に対抗するための Baidu の不正行為防止アルゴリズムのアップグレードに関する考察

Baidu の不正防止アルゴリズムがアップグレードされ、ウェブサイトのハイパーリンク不正行為に対抗で...

Hudong Baikeを使用して高品質の外部リンクを作成する方法

周知のとおり、外部リンクの品質は SEO の全体的な効果に関係しています。高品質の外部リンクをどのよ...

SEOERが内部リンクと外部リンクの黄金比をマスターする方法

SEO を行う私たちは、ウェブサイト最適化の核心はウェブサイトの内部リンクと外部リンクであることを知...

映画『パシフィック・リム』からマーケティングについて語る

映画「パシフィック・リム」からのマーケティングマーケティングと電話にはどのような関係があるのでしょう...

クラウドコンピューティングは教育分野においてどのような利点をもたらすでしょうか?

教育分野は長年にわたって大きな進歩を遂げてきました。教育と学習はもはや教科書や教室に限定されず、コン...

クラウドネイティブについて簡単に説明

クラウド ネイティブは、新しいソフトウェア アーキテクチャ モデルとして、アプリケーションのアジャイ...

forwardweb: ダラス VPS、25% オフ、年間 6 ドル (38.9 元)、KVM/512M メモリ/1 コア/20g SSD/500g 帯域幅

forwardwebは2000年に設立されたアメリカの会社で、仮想ホスティング、ドメイン名、ウェブサ...

8000億ドルのクラウドサービス市場:大手企業が覇権を競い、新興企業が「一口かじり取る」

[[228679]]クラウド コンピューティング テクノロジーには明らかな利点があります。企業にとっ...

5月の主な出来事を振り返る:巨人たちは懸命に働いている

編集者 |梁策校正:Yun Zhaoソーシャルホットスポット1. バイトダンスがDouyinグループ...

電子商取引業界の発展傾向を分析し、将来のウェブサイト運営を指導する

実は、中国の電子商取引業界について記事を書こうとずっと考えていましたが、なかなか時間が取れませんでし...

クラウド環境における Java の水平拡張と負荷分散戦略

クラウド コンピューティング テクノロジーの急速な発展により、ますます多くのアプリケーションがクラウ...

ウェブサイトはどうやって収益を得るのですか?ウェブサイトから収益を得るにはどうすればいいですか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス今は、個人のウェブサイト...