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 初期化-クラスター-メタデータ\
パラメータの説明パラメータの説明 パラメータ | 例示する | クラスタ | デフォルトのクラスター名 | 飼育係 | ローカルクラスタで使用される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
... 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コードからフォローできます。この記事を転載する場合は、メロン農家ラオリャンの公開アカウントまでご連絡ください。 |