3

私は Spark の完全な初心者であり、これについてさらに詳しく調べ始めたところです。CDHディストリビューションを使用してhadoopをインストールしないことで、より長いパスを選択し、Apache WebサイトからHadoopをインストールし、構成ファイルを自分で設定して、基本をさらに理解しました。

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

次のデーモンが 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

NameNode 1 と 2 で NN と RM の HA をセットアップしました。ノードは非常に最小限のハードウェア構成 (それぞれ 4GM の RAM と 20GB のディスク容量) ですが、これらはテスト目的のためだけのものです。だから大丈夫だと思います。

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

今私の問題は、リアルタイムのシナリオで、(Java、scala、または py) ベースのコードをローカル マシンに記述します (Hadoop クラスターを形成するノードではありません)。HA クラスターと同じネットワークに別のマシンがあるとします。HA にないホストから Yarn RM にジョブを送信するにはどうすればよいですか (SparkPi を送信してみます)。私はこれをします ?

コードを書いているマシンに SPARK をインストールする必要があり (私の仮定は正しいですか)、HA クラスターに Spark をインストールする必要はありません。また、送信されたジョブの出力を、送信された場所からホストに戻したいと考えています。これを機能させるために何をする必要があるかわかりません。

Spark JobServerについて聞いたことがありますが、これはすべてを起動して実行するために必要なものですか? 皆さんがこの混乱で私を助けてくれると信じています。これを行うための手順を明確に指定しているドキュメントが見つかりませんでした。Windows ベースのマシンから UNIX 環境の HA クラスター セットアップにジョブを送信できますか?

4

2 に答える 2

0

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

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

その後、ゲートウェイ マシンに spark をインストールし、spark ジョブの送信を開始できます。Spark-on-yarn を使用する場合、spark をインストールする必要があるマシンはこれだけです。

あなた (あなたのコード) は、ジョブの出力を取得する責任があります。結果を HDFS に保存する (最も一般的な選択)、コンソールに出力するなどを選択できます。Spark の History Server はデバッグ用です。

于 2016-05-12T06:33:52.470 に答える
0

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

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

于 2016-05-12T06:28:34.143 に答える