LinuxクラスタへのSparkの配備
5548 ワード
概要
Sparkのインストールは比較的簡単で、ユーザーは公式サイトにアクセスして最新バージョンまたは履歴バージョンをダウンロードし、公式ドキュメントを参照して参考にします.著者が本稿を書いた時、最新のバージョンは2.2.0であるため、この文章の環境構築はすべてSpark 2になった.2.0バージョンを例にとります.
Sparkは、HadoopのHDFSを永続化ストレージ層として使用しているため、Sparkをインストールする場合は、Sparkバージョンと互換性のあるHadoopをインストールする必要があります.同時にSpark計算フレームワークはScala言語で開発され,Scala,JDKバージョンにも具体的な要求がある.バージョン2.2.0を例にとるとjava 8,scala 2が必要である.11.*.
本論文の実際の構築環境はUbuntu 16である.04,他のLinuxリリース版のインストールは類似しており,ほぼ一致している.
1ローカルファイルのダウンロード Spark Hadoop JDK Scala
2 JAVAのインストールダウンロードしたJDKファイルを/usr/local/jvmディレクトリ に解凍 JDK環境構成は、エディタで/etc/profileファイルを開き、 を閉じて保存します.コマンドsource/etc/profileを入力構成を有効にする .
3 SCALAのインストールダウンロードしたインストールパッケージscala-2.11.11を見つけました.tgz 取付 構成、/etc/profileを開き、次の文を追加します: 4 SSH非密登録の設定
分散システムでは、SSHサービスを使用してSlaveノード上のプログラムを起動するのが一般的であり、ノード数が大きい場合、頻繁にパスワードを入力してアイデンティティ認証を行うのは比較的悪い体験であり、セキュリティは必ずしも高くない.SSH公開秘密鍵を使用して、SSHにパスワードなしでログインします.
まずMASTERノードに一対の会社鍵(公開鍵ファイル~/.ssh/id_rsa.pub;秘密鍵ファイル/.ssh/id_rsa)を作成し、公開鍵をwoekerノードにコピーする(/.ssh/authorized_keys)
5 Hadoopのインストール構成 hadoop binary圧縮パッケージをターゲットディレクトリ(ソフトリンク自由選択不要) に解凍する.構成:「core-site.xml」:Hadoopのコア情報、一時ディレクトリ、アクセスアドレスなどを含む. 構成:「yarn-site.xml」:関連jobを構成する処理と簡単に理解できる. namenodeディレクトリとdatanodeディレクトリを作成し、パス を構成します.構成:「hdfs-site.xml」:ファイルのバックアップ個数、データフォルダのパスを決定できます. 構成「mapredsite.xml」 「slaves」ファイルを構成し、スレーブノードのホスト名 をすべて追加します.フォーマットnamenode
6 Sparkのインストール構成Spark spark binaryをターゲットディレクトリ に解凍する sparkの構成 /etc/profileファイル追加: 構成/etc/hosts、クラスタ内のmasterおよび兄workerノードのipとhostnameのペア に追加入/usr/local/spark/spark-2..0-bin-hadoop 2.7/conf、コマンドライン実行 ファイル末尾に を追加
7 HadoopとSparkクラスタのレプリケーション
これまでに1台のホストの構成が完了し、その環境と一部のプロファイルをMasterから各Workerノードに配布しました.クラスタ環境では、1台のホストが複数のホスト間のファイル転送を行うには、psshツールを使用します.そのため、Masterにworkerlistを作成します.txtは、すべてのWorkerのIPを保存する.
環境のコピー
コマンドライン
JDK環境
pssh -h workerlist -r/usr/local/scala/
SCALA環境
pssh -h workerlist -r/usr/local/scala/
Hadoop環境
pssh -h workerlist -r/usr/local/hadoop/
Spark環境
pssh -h workerlistt -r/usr/local/hadoop/
システム構成
pssh -h workerlist/etc/hosts/, pssh -h workerlist/etc/profile/
これでSpark Linuxクラスタ環境の構築が完了した.
8 Sparkクラスタの試運転最近まだ勉強中で随時更新
Sparkのインストールは比較的簡単で、ユーザーは公式サイトにアクセスして最新バージョンまたは履歴バージョンをダウンロードし、公式ドキュメントを参照して参考にします.著者が本稿を書いた時、最新のバージョンは2.2.0であるため、この文章の環境構築はすべてSpark 2になった.2.0バージョンを例にとります.
Sparkは、HadoopのHDFSを永続化ストレージ層として使用しているため、Sparkをインストールする場合は、Sparkバージョンと互換性のあるHadoopをインストールする必要があります.同時にSpark計算フレームワークはScala言語で開発され,Scala,JDKバージョンにも具体的な要求がある.バージョン2.2.0を例にとるとjava 8,scala 2が必要である.11.*.
本論文の実際の構築環境はUbuntu 16である.04,他のLinuxリリース版のインストールは類似しており,ほぼ一致している.
1ローカルファイルのダウンロード
2 JAVAのインストール
export JAVA_HOME = /use/local/jvm/jdk1.8.0_144
export PATH = $PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
でprofileファイル3 SCALAのインストール
tar zxvf scala-2.11.11.tgz -C /usr/local/scala
cd /usr/local/scala
ln -s scala-2.11.11 scala
export SCALA_HOME = /usr/local/scala/scala
export PATH = $PATH:$SCALA_HOME:bin
分散システムでは、SSHサービスを使用してSlaveノード上のプログラムを起動するのが一般的であり、ノード数が大きい場合、頻繁にパスワードを入力してアイデンティティ認証を行うのは比較的悪い体験であり、セキュリティは必ずしも高くない.SSH公開秘密鍵を使用して、SSHにパスワードなしでログインします.
まずMASTERノードに一対の会社鍵(公開鍵ファイル~/.ssh/id_rsa.pub;秘密鍵ファイル/.ssh/id_rsa)を作成し、公開鍵をwoekerノードにコピーする(/.ssh/authorized_keys)
5 Hadoopのインストール構成
tar zvxf hadoop-2.7.4.tar.gz -C /usr/local/hadoop
ln -s hadoop-2.7.4 hadoop
fs.defaultFS name>
hdfs://Master:9000
hadoop.tmp.dir
file://root/bigdata/tmp
io.file.buffer.szie
131702
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.auxservices.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
Master:8032
yarn.resourcemanager.scheduler.address
Master:8030
yarn.resourcemanager.resource-tracker.address
Master:8031
yarn.resourcemanager.admin.address
Master:8033
yar.resourcemanager.webapp.address
Master:8088
mkdir -p /hdfs/namenode
mkdir -p /hdfs/datanode
dfs.namenode.name.dir
file:/hdfs/namenode
dfs.datanode.data.dir
file:/hdfs/datanode
dfs.replication
3
dfs.namenode.secondary.http-address
true
mapreduce.jobhistory.address
Master:10020
mapreduce.hobhistory.webapp.address
Master:19888
x.x.x.x worker1
x.x.x.x worker2
/usr/local/hadoop/hadoop-2.7.4/bin/hadoop namenode -format
6 Sparkのインストール構成Spark
tar zxvf spark-2.2.0-bin-hadoop2.7.tgz -C /usr/local/spark/spark-2.2.0-bin-hadoop2.7
export SPARK_HOME=/usr/local/spark/spark-2.2.0-bin-hadoop2.7
PATH=$PATH:$SPARK_HOME/bin
x.x.x.x Master-name
x.x.x.x worker1
x.x.x.x Worker2
x.x.x.x Worker3
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
export JAVA_HOME=/usr/local/jvm/jdk1.8
export SCALA_HOME=/usr/local/scala/scala
export SPARK_MASTER_IP=127.0.1.1
export SPARK_WORKER_MEMORY=1g
保存して終了し、cp slaves.template slaves
vi slaves
# worker hostname
worker1
worker2
worker3
を実行する.7 HadoopとSparkクラスタのレプリケーション
これまでに1台のホストの構成が完了し、その環境と一部のプロファイルをMasterから各Workerノードに配布しました.クラスタ環境では、1台のホストが複数のホスト間のファイル転送を行うには、psshツールを使用します.そのため、Masterにworkerlistを作成します.txtは、すべてのWorkerのIPを保存する.
環境のコピー
コマンドライン
JDK環境
pssh -h workerlist -r/usr/local/scala/
SCALA環境
pssh -h workerlist -r/usr/local/scala/
Hadoop環境
pssh -h workerlist -r/usr/local/hadoop/
Spark環境
pssh -h workerlistt -r/usr/local/hadoop/
システム構成
pssh -h workerlist/etc/hosts/, pssh -h workerlist/etc/profile/
これでSpark Linuxクラスタ環境の構築が完了した.
8 Sparkクラスタの試運転最近まだ勉強中で随時更新