クラスター計画
ここでは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
ノード。
第五に、高可用性クラスタの検証
この時点で、あなたが使用することができますkill
hadoop001の殺すためにコマンドをMaster
プロセスを、バックアップがMaster
再びあるだろうだろう主 Master
、私はここにあるhadoop002があり、それはhadoop2で見ることができMaster
てRECOVERING
、新しいプライマリなった後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 开源项目: 大数据入门指南