SparkのスタンドアロンHAモードの環境構築

はじめに: Sparkスタンドアロンクラスターは、マスタースレーブアーキテクチャのクラスターモードです。マスタースレーブ構造のほとんどのクラスターと同様に、マスターには単一の障害点(SPOF)の問題があります。

  • StandaloneHAのモデル:本質はリーダー選挙としてのZKに基づいています
    ここに写真の説明を挿入

-構築プロセス:以前のスタンドアロンモードに基づいて構成ファイルを変更するだけです

公式住所

  • node01で構成します。
vim /export/server/spark/conf/spark-env.sh
注释或删除MASTER_HOST内容:
# SPARK_MASTER_HOST=node1

增加如下配置
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181 -Dspark.deploy.zookeeper.dir=/spark-ha"
参数含义说明:
spark.deploy.recoveryMode:恢复模式
spark.deploy.zookeeper.url:ZooKeeper的Server地址
spark.deploy.zookeeper.dir:保存集群元数据信息的文件、目录。包括Worker、Driver、Application信息。
  • spark-env.shをクラスターに配布します
cd /export/server/spark/conf
scp -r spark-env.sh root@node2:$PWD
scp -r spark-env.sh root@node3:$PWD
  • クラスターサービスの
    開始ZOOKEEPERサービスの開始
zkServer.sh status
zkServer.sh stop
zkServer.sh start


node1上启动Spark集群执行
/export/server/spark/sbin/start-all.sh


在node2上再单独只起个master:
/export/server/spark/sbin/start-master.sh

查看WebUIhttp
:// node1:8080 /
http:// node2:8080 /

ここに写真の説明を挿入
ここに写真の説明を挿入

  • セットアップを完了します

テスト:

  • SparkShellインタラクティブコマンドラインを使用する
bin/spark-shell --master spark://node1:7077,node2:7077 

ここに写真の説明を挿入

  • ワードカウントテスト:
sc.textFile("hdfs://node1:8020/wordcount/input/words.txt").flatMap(x=>x.split("\\s+")).map(x=>(x,1)).reduceByKey((a,b)=>a+b).collect
  • Piテスト:
bin/spark-submit \
--master spark://node1:7077,node2:7077 \
--class org.apache.spark.examples.SparkPi \
/export/server/spark/examples/jars/spark-examples_2.11-2.4.5.jar \
10

ここに写真の説明を挿入

  • HAモードを確認します。

ここに写真の説明を挿入
効果:
ここに写真の説明を挿入

公式ウェブサイトでは、スタンバイ状態からアライブ状態に変わるのに1〜2分かかると書かれていることに注意してください。
ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/m0_49834705/article/details/112520543