問題タブ [apache-spark-standalone]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-spark - 実際に Apache Spark スタンドアロン クラスターに設定できるコアの数はいくつですか?
次の仕様の 1 台のマシンに Apache Spark 1.6.1 スタンドアロン クラスターを設定しています。
- CPU: Core i7-4790 (コア数: 4、スレッド数: 8)
- メモリ: 16GB
conf/spark-env.sh で次の設定を使用しています
マシンには 4 コアのプロセッサが搭載されているため、可能な構成は次のようになると考えました。
だから私が考えたのは:
- メモリは、ワーカー インスタンスの数の間で分割する必要があります。
- ワーカー コアの数はワーカー インスタンスごとに乗算されるため、8 つのコアがないため、4 つのワーカー インスタンスと 2 つのワーカー コアを持つことはできません。
問題は、構成をテストして次のように設定したことです。
そして、エラーが発生しました。さらに、Apache Web UI では「40 コア」と表示されます。何が起こっている?その場合、実際にいくつのワーカー コアとワーカー インスタンスを使用できますか?
前もって感謝します。
apache-spark - すべてのノードが Spark スタンドアロン クラスターで使用されているわけではありません
2 つの仮想マシンで Spark スタンドアロン クラスターを作成しました。
最初の VM (8 コア、64 GB メモリ) では、コマンドを使用して手動でマスターを起動しました
bin/spark-class org.apache.spark.deploy.master.Master
。
2 番目の VM (8 コア、64 GB メモリ) では、 を使用して手動でスレーブを起動し
bin/spark-class org.apache.spark.deploy.worker.Worker spark://<hostname of master>:7077
ました。
次に、最初の VM で、上記のスレーブ コマンドを使用してスレーブも起動しました。下の写真では、ワーカーとマスターの両方が開始され、ALIVE になっていることがわかります。
しかし、Spark アプリケーションを実行すると、2 番目の VM のワーカーのみが実行されます ( worker-20160613102937-10.0.37.150-47668
)。1 番目の VM ( worker-20160613103042-10.0.37.142-52601
) のワーカーは実行されません。下の写真を参照してください
Spark アプリケーションで両方のワーカーを使用する必要があります。これはどのように行うことができますか?
編集: VM 1st のワーカーに対応するエグゼキューターが失敗したエグゼキューターの概要のこの写真を参照してください。
stdout
またはをクリックするとstderr
、 のエラーが表示されますinvalid log directory
。下の写真を参照してください
apache-spark - Spache Spark でパーティションを RAM にロードするのは誰ですか?
どこにも答えを見つけることができなかったというこの質問があります。
次の行を使用して、PySpark アプリケーション内にデータをロードしています。
私のクラスター構成は次のとおりです。
- 3 つのノードを持つ Spark クラスターを使用しています。1 つのノードはマスターの起動に使用され、他の 2 つのノードはそれぞれ 1 つのワーカーを実行しています。
- スクリプトを使用して、クラスタの外部からログイン ノードにアプリケーションを送信します。
- このスクリプトは、クラスター展開モードで Spark アプリケーションを送信します。この場合、使用している 3 つのノードのいずれかでドライバーを実行します。
- 入力 CSV ファイルは、グローバルに表示される一時ファイル システム (Lustre) に保存されます。
Apache Spark Standalone では、パーティションを RAM にロードするプロセスはどのようになっていますか?
- 各エグゼキューターがドライバーのノード RAM にアクセスし、そこからパーティションを独自の RAM にロードするということですか? (ストレージ --> ドライバの RAM --> エグゼキュータの RAM)
- 各エグゼキュータがストレージにアクセスし、独自の RAM にロードするということですか? (ストレージ --> エグゼキュータの RAM)
これらのどれでもないのですが、ここで何か不足していますか? このプロセスを自分で確認するにはどうすればよいですか (監視ツール、UNIX コマンド、Spark のどこか)。
これについて深く掘り下げることができるコメントやリソースは非常に役立ちます。前もって感謝します。
hadoop - Apache Spark: 履歴サーバー (ロギング) + 非スーパーユーザー アクセス (HDFS)
リモート サーバーで動作中の HDFS と実行中の Spark フレームワークを使用しています。私は SparkR アプリケーションを実行しており、完成した UI のログも見たいと思っています。Windows: Apache Spark History Server Configのすべての手順に従い 、サーバーで History Server を起動できました。
ただし、スーパーユーザー (Hadoop の名前ノードを開始した人) と Spark プロセスを開始した人がリモートで Spark アプリケーションを起動した場合にのみ、ログは HDFS パスで正常に行われ、Spark の履歴 Web UI を表示できます。同じように。
同じアプリケーションを自分のユーザー ID から (リモートで) 実行すると、ポート 18080 でヒストリー サーバーが稼働中であることが示されますが、アプリケーションのログは記録されません。
HDFS のフォルダーへの読み取り、書き込み、および実行アクセス権が与えられています。
spark-defaults.conf ファイルは次のようになります。
どこかでいくつかのアクセス許可または構成設定を見逃していますか (Spark? HDFS)?
ここから先に進むための指針/ヒントをいただければ幸いです。
apache-spark - Spark クラスターのワーカー ノードでのオブジェクトの早期初期化
Drools と Spark をスタンドアロン クラスターで使用しています。起動時、つまりマップ削減タスクの前に、すべてのワーカー ノードにナレッジ セッションをロードしたいと考えています。Statefull セッションをドライバーからスレーブ ノードに渡そうとしましたが、うまくいきません。このため、ナレッジ ビルダーにルールを追加するだけで、最初のジョブに約 900 ミリ秒かかります。