Spark ストリーミングを使用し、処理された出力を data.csv ファイルに保存しています
val conf = new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount")
JavaStreamingContext jssc = new JavaStreamingContext(conf, new Duration(1000))
JavaReceiverInputDStream<String> lines = jssc.socketTextStream("localhost", 9999);
同時に、 NetworkWordCount data.csv の出力を別の新しいファイルとともに読み取り、同時に再度処理したいと思います
ここでの私の質問は
2 つの Spark アプリケーションを同時に実行することはできますか? コード自体を使用して Spark アプリケーションを送信することは可能ですか?
私はMacを使用しています。次のコマンドを使用して、sparkフォルダーからsparkアプリケーションを送信しています
bin/spark-submit --class "com.abc.test.SparkStreamingTest" --master spark://xyz:7077 --executor-memory 20G --total-executor-cores 100 ../workspace/Test/target/Test-0.0.1-SNAPSHOT-jar-with-dependencies.jar 1000
または単に spark:ip:port とエグゼキュータ メモリなし、エグゼキュータ コアの合計
bin/spark-submit --class "com.abc.test.SparkStreamingTest" --master local[4] ../workspace/Test/target/Test-0.0.1-SNAPSHOT-jar-with-dependencies.jar
バッチ処理用のテキストファイルを次のように読み取る他のアプリケーション
bin/spark-submit --class "com.abc.test.BatchTest" --master local[4] ../workspace/Batch/target/BatchTesting-0.0.1-SNAPSHOT-jar-with-dependencies.jar
SparkStreamingTest と BatchTest の両方のアプリケーションを別々に実行すると、両方とも正常に動作しますが、両方を同時に実行しようとすると、次のエラーが発生します
現在、私はスパークスタンドアローンモードを使用しています
WARN AbstractLifeCycle: FAILED SelectChannelConnector@0.0.0.0:4040: java.net.BindException: Address already in use
java.net.BindException: Address already in use
どんな助けも大いに感謝しています..私は完全に頭がおかしいです