スパーククラスターをセットアップしています。同じインスタンスに hdfs データ ノードとスパーク マスター ノードがあります。
現在のセットアップは 1 マスター (spark と hdfs) 6 スパーク ワーカーと hdfs データ ノードです。
すべてのインスタンスは同じで、16 ギガのデュアル コアです (残念ながら)。
もう 3 台のマシンがありますが、これも同じ仕様です。ここで、3 つのオプションがあります。1. これら 3 台のマシンに es を展開するだけです。クラスターは、1 つのマスター (spark と hdfs)、6 つの Spark ワーカー、hdfs データ ノード、3 つの Elasticsearch ノードのようになります。
- es master を 1 に展開し、spark と hdfs を拡張し、その他すべてに es を展開します。クラスターは 1 マスター (spark と hdfs) 1 マスター エラスティックサーチ 8 スパーク ワーカー、hdfs データ ノード、es データ ノードのようになります
私のアプリケーションは、結合、ml などに spark を多用していますが、検索機能を探しています。リアルタイムで検索する必要はなく、最大 30 分の更新間隔でも問題ありません。
同時に、spark クラスターには、es インデックス作成以外の長時間実行されるタスクがあります。
解決策は上記のいずれかである必要はありません。誰かが提案した場合、私は実験にオープンです。他の開発者にとっても、一度結論を下すと便利です。
また、私は es hadoop、es-spark プロジェクトを試していますが、3 つの専用ノードを実行すると、1 分あたり 60 万レコードのように取り込みが非常に遅いと感じました。