1

私はSparkの完全な初心者です。私はCDH配布を使ってhadoopをインストールしないで、より長いパスを選択しました。Apache WebサイトからHadoopをインストールし、設定ファイルを自分で設定して、基本についてもっと理解しました。Spark JobsをSpark Clusterに送信する

は私が3ノードクラスタ(すべてのノードは、ESXサーバから作成したVMマシンです)を設定しています。 私はzookeeperメカニズムを使ってNamenodeとResourceManagerの両方の高可用性をセットアップしました。 3つのノードはすべてDataNodeとしても使用されています。

以下のデーモンが、私はノードが非常に最小限のハードウェア構成(4GM RAMそれぞれ20ギガバイトのディスクのある名前ノード1 にNNとRMのセットアップHAを持っている3つのノードすべて

Daemon in Namenode 1   Daemon In Namenode 2  Daemon in Datanode   
8724 QuorumPeerMain   22896 QuorumPeerMain  7379 DataNode 
13652 Jps      23780 ResourceManager  7299 JournalNode 
9045 DFSZKFailoverController 23220 DataNode    7556 NodeManager 
9175 DataNode     23141 NameNode    7246 QuorumPeerMain 
9447 NodeManager    27034 Jps     9705 Jps 
8922 NameNode     23595 NodeManager 
8811 JournalNode    22955 JournalNode 
9324 ResourceManager   23055 DFSZKFailoverController 

渡って実行されていますスペース)しかし、これらはテスト目的のためのものです。だから私はそのokと思う。

NameNode 1にSpark(インストールされているHadoop 2.7と互換性のあるバージョン)をインストールしました。Spark-shellをローカルで起動し、基本的なscalaコマンドを実行してRDDを作成し、また、Yarn-ClusterおよびYarn-Clientの展開モードとしてSparkPiのサンプルを実行してテストすることもできます。すべてうまくいいです。

今私の問題は、リアルタイムシナリオでは、私たちは、ローカルマシンに(Javaの、スカラ座やPY)ベースのコードを記述しようとしているされた(未Hadoopクラスタを形成するノードで)。私のHAクラスタと同じネットワークに別のマシンがあるとしましょう.Yarn-Clusterにジョブを提出するにはどうすればいいですか?(ホストがSparkPiを送信しようとしていますか?私はこれをします ?私は信じて

は、SPARKは(私の仮定が正しいです)私はから私のコードを書いていますマシンにインストールする必要があり、何火花はHAクラスタにインストールする必要はありません。私はまた、提出されたジョブの出力を、それが提出されたホストに戻したいと思っています。私はこの仕事をするために何をする必要があるか分かりません。

私はこれまでにスパークジョブサーバーを聞いたことがあります。これはすべてこれを稼働させるために必要なものですか?私はあなたがこの混乱で私を助けることができると信じています。私はちょうどこれを行うために従うべきステップを明確に指定する文書を見つけることができませんでした。 WindowsベースのマシンからUNIX環境のHAクラスタ設定にジョブをサブミットできますか?

答えて

0

Spark JobServerは、要件に合わせて休憩インタフェースを提供します。それ以外にも、他の機能があります。

詳細については、https://github.com/spark-jobserver/spark-jobserverを参照してください。

+0

これをクライアントマシンまたはHadoop Clusterにインストールする必要があるかどうかを確認できますか。また、私は間違っていない場合は、クライアントマシンにのみインストールする必要がありますと信じて –

+0

はい、スパークは、あなたがSpark JobServerを実行する予定のマシンにインストールする必要があります。しかし、強力なネットワーク制限がない限り、クラスタ内でSJSを実行する必要はありません。 – noorul

+0

リモートマシンからYarn Clusterにスパークジョブを送信する方法を説明するサイトへの参照はありますか。私が見つけたポストの大部分はlocalhost(スタンドアロンサーバーにジョブを送信する)を使用しています –

0

スパークジョブをクラスタに送信するには、マシンが「ゲートウェイノード」になる必要があります。基本的には、そのマシンにhadoopバイナリ/ライブラリ/ configsがインストールされていますが、そこにはhadoopデーモンはありません。

これをセットアップしたら、そのマシン(hdfs dfs -ls /など)からクラスタに対してhdfsコマンドを実行し、糸アプリケーションをクラスタに送信することができます(yarn jar/opt/cloudera/parcels/CDH /jars/hadoop-examples.jar pi 3 100)。

その後、あなたのゲートウェイマシンにsparkをインストールして、スパークジョブの送信を開始できます。 Spark-on-yarnを使用する場合は、これが唯一の機械スパークをインストールする必要があります。

あなた(あなたのコード)は、ジョブの出力を取得する担当者です。結果をHDFS(最も一般的な選択肢)に保存するか、コンソールに出力するかなどを選択できます。Sparkの履歴サーバは、デバッグを目的としています。

+0

あなたの入力のためにありがとうございます。明確にするために、あなたが参照している "ゲートウェイノード"マシン開発者がアプリケーションコードを記述してYarn-Clusterに提出するマシン。これらのマシンのそれぞれは、すべてのデーモンを起動するためにhadoopがインストールされている必要があります(ただし、必要はありません)。そしてGateway Machineは、クラスタに –

+0

SPARKがインストールされているシナリオで、Namenode 1を参照してください。ゲートウェイマシンは、開発者がジョブを提出するマシンです。これらのマシンはそれぞれ、hadoopがインストールされている必要がありますが、hadoopデーモンは実行されません。 – facha

+0

このプロセスはSpark-Job Serverの必要性をスキップしますか? –

関連する問題