スパークはAlluxio1.8上で実行されます

著作権:転載リンクしてくださいhttps://blog.csdn.net/DPnice/article/details/84777029

ソフトウェア・バージョン:

ソフトウェア
JDK jdk1.8.0_191
飼育係 飼育係-3.4.12
Hadoopの Hadoopの-2.8.5
alluxio alluxio-1.8.0-Hadoopの-2.8
スパーク 火花2.3.2-binの-hadoop2.7

スパークバージョンはお勧めしません、対応していません。

インストール、構成スパーク:

解凍:

$ tar -zxf /home/dpnice/Downloads/spark-2.3.2-bin-hadoop2.7.tgz -C /opt/Software/

ソフトリンクを作成します。

$ sudo ln -s /opt/Software/spark-2.3.2-bin-hadoop2.7/ /spark

confディレクトリを入力します。

$ cp spark-env.sh.template spark-env.sh
$ cp spark-defaults.conf.template spark-defaults.conf
$ cp slaves.template slaves

コンフィギュレーションの関連部分Alluxio

実行:次のように構成された$ viの火花-defaults.confに

#alluxio alluxio-1.8.0-client.jar 位置
spark.driver.extraClassPath /opt/Software/alluxio-1.8.0-hadoop-2.8/client/alluxio-1.8.0-client.jar
spark.executor.extraClassPath /opt/Software/alluxio-1.8.0-hadoop-2.8/client/alluxio-1.8.0-client.jar
#配置zookeeper
spark.driver.extraJavaOptions -Dalluxio.zookeeper.address=cdh1:2181,cdh2:2181,cdh3:2181 -Dalluxio.zookeeper.enabled=true
spark.executor.extraJavaOptions -Dalluxio.zookeeper.address=cdh1:2181,cdh2:2181,cdh3:2181 -Dalluxio.zookeeper.enabled=true

実行:$ viのspark-env.sh次のように構成されました

export JAVA_HOME=/jdk
export SPARK_WORKER_MEMORY=500m
export SPARK_WORKER_CORES=1
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=cdh1:2181,cdh2:2181,cdh3:2181 -Dspark.deploy.zookeeper.dir=/spark"

$ Viのスレーブの構成]ノードには、労働者を書き込み

各ノードに送信されました:

$ scp -r /opt/Software/spark-2.3.2-bin-hadoop2.7/conf/* dpnice@cdh2:/opt/Software/spark-2.3.2-bin-hadoop2.7/conf/
$ scp -r /opt/Software/spark-2.3.2-bin-hadoop2.7/conf/* dpnice@cdh3:/opt/Software/spark-2.3.2-bin-hadoop2.7/conf/

すべてを起動します。

$ /spark/sbin/start-all.sh

マスターノードは、現在のノードを実行しています

すべて閉じます:

$ /spark/sbin/stop-all.sh

そのうちの一つでは、スタンバイ・マスターを開始

启动:
$ /spark/sbin/start-master.sh
停止:
$ /spark/sbin/stop-master.sh

(サポートスパーク2.X)の統合チェックスパークとAlluxio:

/alluxio/integration/checker/bin/alluxio-checker.sh spark spark://cdh1:7077

あなたは/alluxio/integration/checker/bin/spark-checker.shを変更することができます

スパークシェルテスト:

/spark/bin/spark-shell --master spark://192.168.137.129:7077,192.168.137.128:7077 --executor-memory 450M

マップAlluxio、HDFSファイルword.txtの持続性を選択して、Linuxのファイルシステムで結果を保存します。

読み取りのブロックにキャッシュされた部分はデフォルトで有効になっているが、このオプションがオフになっている場合、その後、Alluxioに保存されているLICENSEファイル(非インAlluxio)そうではありません。完全なブロックを格納のみAlluxioが読み込まれるため、ファイルが、小さすぎるとスパークジョブ、および各部分ブロックは、エグゼキュータを読む場合、これは、あります。これを避けるために、あなたは、Sparkのブロック数をカスタマイズすることができます。この例では、唯一のブロック以来、私たちは、1つのブロックの数を設定します。

sc.textFile("alluxio://192.168.137.128:19998/word.txt", 1).flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("/spark/out")

Alluxioフォールトトレラントモードを実行している場合、あなたはマスターのいずれかを使用することができますAlluxio
$ $ SPARK_HOME / sbinに/ start-slave.sh -hは、ローカライズされたデータを取得したい、あなたは、次のスクリプトスパークを使用することができ、明示的に起動スパークでホスト名を指定して提供します。スレーブホスト名スタートスパーク労働者やSPARK_LOCAL_HOSTNAMEで取得した$ SPARK_HOME / confに/ spark-env.shローカライズされたデータによって提供されている場合があります。SPARK_LOCAL_HOSTNAME = simple30

Alluxioにファイルをアップロードして、HDFSに保持されませんでした。

$ /alluxio/bin/alluxio fs copyFromLocal word_1.txt /

スパーク・シェルを実行します:

//结果输出:
sc.textFile("alluxio://192.168.137.128:19998/word_1.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect.foreach(println(_))

//结果保存到alluxio:
sc.textFile("alluxio://192.168.137.128:19998/word_1.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("alluxio://192.168.137.128:19998/spark/out")

参考:
http://www.alluxio.org/docs/1.8/cn/compute/Spark.html

おすすめ

転載: blog.csdn.net/DPnice/article/details/84777029