Spark + Zookeeper高可用性クラスターの構築

Sparkの高可用性デプロイメント

1.高可用性の導入手順

Sparkスタンドアロンクラスターは、マスタースレーブアーキテクチャのクラスターモードであり、ほとんどのマスタースレーブクラスターと同様に、マスターの単一障害点があります。この問題を解決する方法として、Sparkは2つのソリューションを提供します。

(1)ファイルシステムに基づくローカルファイルシステム使用した単一ノードRcovery 主に開発またはテスト環境で使用されます。SparkがSparkアプリケーションとワーカーの登録情報を保存するディレクトリを提供するとき。リカバリステータスをこのディレクトリに書き込みます。この時点で、マスターに障害が発生すると、マスタープロセス(start-master.sh)を再起動して、実行中のSparkアプリケーションとワーカーの登録情報を復元できます。

(2)飼育係に基づくスタンバイマスター本番モードで使用する場合、基本的な原則は、Zookeeperを介してマスターを選択し、他のマスターはスタンバイ状態にあり、スパーククラスターを同じZookeeperインスタンスに接続し、Zookeeperによって提供される選択機能と状態保持機能を使用してマスターを起動することです。 1つのマスターが生きているマスターとして選出され、他のマスターはスタンバイ状態になります。現在のマスターが死亡した場合、別のマスターを選択して古いマスターの状態に復元し、スケジュールを再開できます。復元プロセス全体に1〜2分かかる場合があります。

 

2.構成ファイルを変更します

vim spark-env.sh

1 飼育係をインストールします。
2の修正火花防止。追加するenv.sh次の設定ファイルを

以下のコメントアウトを:

#SPARK_MASTER_HOST = マスター・デプロイの高可用性を変化させたとして、IP hadoop102 /コメントマスターノード

#SPARK_MASTER_PORT = 7077 

に追加します以下は:

  SPARK_DAEMON_JAVA_OPTS = "をエクスポート

  -Dspark.deploy.recoveryMode = ZOOKEEPER

  -Dspark.deploy.zookeeper.url = hdp01、hdp02、hdp03 // zookeeperクラスターのIPに入力するzookeeperスタンドアロンでは、ここに1つのみ入力する必要があります

  -Dspark.deploy.zookeeper.dir = / spark "

  パラメータの説明。

    (1)recoveryMode、リカバリーモード(マスター再起動モード)

      Zookeeper、FileSystem、Noneの3つのタイプがあります。

    (2)deploy.zookeeper.url、Zookeeperのサーバーアドレス

    (3)deploy.zookeeper.dir、クラスターメタデータ情報を格納するためのファイルとディレクトリ。

    ワーカー、ドライバー、アプリケーションを含みます。

    注:

    クラスターを通常モードで起動するには、ホストでstart-all.shを実行するだけです。

    高可用性モードでスパーククラスターを起動するには、最初に任意のノードでstart-all.shコマンドを起動する必要があります。次に、別のノードでマスターを個別に起動します。

Sparkクラスターの確認:ワーカーが表示され、hdp02が正常に起動する

hdp02のマスターを個別に起動します

マスターが正常に起動しました。ウェブUIで、どのマスターが有効かを確認してください

高可用性検証、hdp01ノードのマスターをシャットダウン、hdp02のマスターノードを自動的に起動できるか

spark + zookeeper高可用性クラスターが正常に構築されました!

おすすめ

転載: www.cnblogs.com/phy2020/p/12723547.html