スパークシリーズ(7) - 高可用性クラスタスパークを構築するためのZooKeeperに基づきます

クラスター計画

ここでは3つのホストが展開された3ノードクラスタスパーク、構築するWorkerサービスを。一方、高可用性を確保するために、hadoop001上のメインの展開に加えてMaster、サービス、hadoop002とhadoop003代替にも配備されているMasterプライマリがあれば、飼育係のクラスターによって管理マスター連携サービス、サービスMaster使用できない場合、バックアップはMaster新しいプライマリになりますMaster

二、前置条件

クラスタを構築する前にスパーク、必要がJDK環境を確保するために、飼育係のHadoopクラスタおよびクラスタが設定されている、ステップはで見つけることができます:

三、スパーククラスタセットアップ

3.1のダウンロード、解凍します

スパークの必要なバージョンをダウンロードして、公式サイトのダウンロード:http://spark.apache.org/downloads.html

解凍ダウンロードした後:

# tar -zxvf  spark-2.2.3-bin-hadoop2.6.tgz

3.2設定環境変数

# vim /etc/profile

環境変数を追加します。

export SPARK_HOME=/usr/app/spark-2.2.3-bin-hadoop2.6
export  PATH=${SPARK_HOME}/bin:$PATH

それはすぐに反映するために、環境変数の設定を行います

# source /etc/profile

3.3クラスタ構成

${SPARK_HOME}/confディレクトリ、設定変更のサンプルをコピーします。

1. spark-env.sh

 cp spark-env.sh.template spark-env.sh
# 配置JDK安装位置
JAVA_HOME=/usr/java/jdk1.8.0_201
# 配置hadoop配置文件的位置
HADOOP_CONF_DIR=/usr/app/hadoop-2.6.0-cdh5.15.2/etc/hadoop
# 配置zookeeper地址
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop001:2181,hadoop002:2181,hadoop003:2181 -Dspark.deploy.zookeeper.dir=/spark"

2.奴隷

cp slaves.template slaves

すべてWokerノードの位置を設定します。

hadoop001
hadoop002
hadoop003

3.4インストールパッケージの配布

スパークインストールパッケージは、他のサーバーに配布されます、分布も見スパーク環境変数を設定し、両方のサーバー上で推奨されます。

scp -r /usr/app/spark-2.4.0-bin-hadoop2.6/   hadoop002:usr/app/
scp -r /usr/app/spark-2.4.0-bin-hadoop2.6/   hadoop003:usr/app/

第四に、クラスタを起動します

4.1のZooKeeperクラスタを開始

それぞれ、3台のサーバ上でのZooKeeperサービスを開始します。

 zkServer.sh start

4.2スタートHadoopクラスタ

# 启动dfs服务
start-dfs.sh
# 启动yarn服务
start-yarn.sh

クラスタ4.3スパークを開始

Hadoop001は、入力した${SPARK_HOME}/sbinディレクトリを、クラスタを起動するには、次のコマンドを実行します。コマンドを実行した後、hadoop001の上で開始しMaserますサービスslavesの構成プロファイル内のすべてのノード上で起動しWorkerたサービス。

start-all.sh

hadoop002とhadoop003で次のコマンドを実行して、バックアップを開始Masterサービスを:

# ${SPARK_HOME}/sbin 下执行
start-master.sh

4.4ビューのサービス

閲覧スパークのWeb-UIページ、ポート8080現時点では、マスターノード上で見ることができますhadoop001あるALIVE状態、および3つの利用可能であるWorkerノードが。

マスタノードとhadoop002のhadoop003はでないSTANDBY、状態利用可能なWorkerノード。

第五に、高可用性クラスタの検証

この時点で、あなたが使用することができますkillhadoop001の殺すためにコマンドをMasterプロセスを、バックアップがMaster再びあるだろうだろう主 Master、私はここにあるhadoop002があり、それはhadoop2で見ることができMasterRECOVERING、新しいプライマリなった後Master、および使用されるすべてを獲得しましたWorkers

上Hadoop002 MasterマスターになるためにMaster、そして使用されるすべてを受け取りましたWorkers

あなたはその後、hadoop001に使用する場合は、この時点では、start-master.shスタート・マスター・サービスのバックアップとして、それはなりますMasterが存在します。

第六に、ジョブを送信

PIは内蔵のサンプルプログラムスパークするために計算されると、スタンドアローン環境は糸の指揮下に提出されるようにまったく同じ、例えば、以下のコマンドを発行:

spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
--executor-memory 1G \
--num-executors 10 \
/usr/app/spark-2.4.0-bin-hadoop2.6/examples/jars/spark-examples_2.11-2.4.0.jar \
100

更多大数据系列文章可以参见 GitHub 开源项目大数据入门指南

おすすめ

転載: www.cnblogs.com/heibaiying/p/11330385.html