На одном компьютере с Windows я использую Spark Master и Worker.Я тестирую код моего приложения.Итак, у меня работает только 1 работник.
Примечание. Я использую cygwin для запуска мастера и рабочего.
Команда запуска мастера:
java -cp "C:\Spark\spark-2.2.2-bin-hadoop2.7/conf\;C:\Spark\spark-2.2.2-bin-hadoop2.7\jars\*"
-Xmx1g org.apache.spark.deploy.master.Master --host 10.111.30.22 --port 7077
--webui-port 8080
Команда запуска работника:
java -cp "C:\Spark\spark-2.2.2-bin-hadoop2.7/conf\;C:\Spark\spark-2.2.2-bin-hadoop2.7\jars\*"
-Xmx1g org.apache.spark.deploy.worker.Worker
--webui-port 8081 spark://10.111.30.22:7077 --cores 1 --memory 1g
После запуска я могу видеть мастера и работника по искрам.
Я открыл еще одно приглашение и выполнил следующее, чтобы проверить образец искрыпример кода:
./bin/spark-submit --class org.apache.spark.examples.SparkPi
--master spark://10.111.30.22:7077 --executor-memory 2G
--total-executor-cores 2
C:\Spark\spark-2.2.2-bin-hadoop2.7\examples\jars\spark-examples_2.11-2.2.2.jar 2
Я получаю сообщение об ошибке на рабочем месте, прикрепленное изображение.И задание никогда не заканчивается, оно продолжается вечно.
Ниже приведена ошибка, сбрасываемая на консоль исполнителя:
$ java -cp "C:\Spark\spark-2.2.2-bin-hadoop2.7/conf\;C:\Spark\spark-2.2.2-bin-hadoop2.7\jars*" -Xmx1g org.apache.spark.deploy.worker.Worker --webui-port 8081 spark://10.111.30.22:7077 --cores 1 --memory 1g
18/11/19 13:40:32 ERROR ExecutorRunner: Error running executor
java.lang.IllegalStateException: Cannot find any build directories.
at org.apache.spark.launcher.CommandBuilderUtils.checkState(CommandBuilderUtils.java:248)
at org.apache.spark.launcher.AbstractCommandBuilder.getScalaVersion(AbstractCommandBuilder.java:240)
at org.apache.spark.launcher.AbstractCommandBuilder.buildClassPath(AbstractCommandBuilder.java:194)
at org.apache.spark.launcher.AbstractCommandBuilder.buildJavaCommand(AbstractCommandBuilder.java:117)
at org.apache.spark.launcher.WorkerCommandBuilder.buildCommand(WorkerCommandBuilder.scala:39)
at org.apache.spark.launcher.WorkerCommandBuilder.buildCommand(WorkerCommandBuilder.scala:45)
at org.apache.spark.deploy.worker.CommandUtils$.buildCommandSeq(CommandUtils.scala:63)
at org.apache.spark.deploy.worker.CommandUtils$.buildProcessBuilder(CommandUtils.scala:51)
at org.apache.spark.deploy.worker.ExecutorRunner.org$apache$spark$deploy$worker$ExecutorRunner$$fetchAndRunExecutor(ExecutorRunner.scala:145)
at org.apache.spark.deploy.worker.ExecutorRunner$$anon$1.run(ExecutorRunner.scala:73)
18/11/19 13:40:32 ERROR ExecutorRunner: Error running executor
java.lang.IllegalStateException: Cannot find any build directories.
at org.apache.spark.launcher.CommandBuilderUtils.checkState(CommandBuilderUtils.java:248)
at org.apache.spark.launcher.AbstractCommandBuilder.getScalaVersion(AbstractCommandBuilder.java:240)
at org.apache.spark.launcher.AbstractCommandBuilder.buildClassPath(AbstractCommandBuilder.java:194)
at org.apache.spark.launcher.AbstractCommandBuilder.buildJavaCommand(AbstractCommandBuilder.java:117)
at org.apache.spark.launcher.WorkerCommandBuilder.buildCommand(WorkerCommandBuilder.scala:39)
at org.apache.spark.launcher.WorkerCommandBuilder.buildCommand(WorkerCommandBuilder.scala:45)
at org.apache.spark.deploy.worker.CommandUtils$.buildCommandSeq(CommandUtils.scala:63)
at org.apache.spark.deploy.worker.CommandUtils$.buildProcessBuilder(CommandUtils.scala:51)
at org.apache.spark.deploy.worker.ExecutorRunner.org$apache$spark$deploy$worker$ExecutorRunner$$fetchAndRunExecutor(ExecutorRunner.scala:145)
at org.apache.spark.deploy.worker.ExecutorRunner$$anon$1.run(ExecutorRunner.scala:73)
18/11/19 13:40:32 ERROR ExecutorRunner: Error running executor
java.lang.IllegalStateException: Cannot find any build directories.
at org.apache.spark.launcher.CommandBuilderUtils.checkState(CommandBuilderUtils.java:248)
at org.apache.spark.launcher.AbstractCommandBuilder.getScalaVersion(AbstractCommandBuilder.java:240)
at org.apache.spark.launcher.AbstractCommandBuilder.buildClassPath(AbstractCommandBuilder.java:194)
at org.apache.spark.launcher.AbstractCommandBuilder.buildJavaCommand(AbstractCommandBuilder.java:117)
at org.apache.spark.launcher.WorkerCommandBuilder.buildCommand(WorkerCommandBuilder.scala:39)
at org.apache.spark.launcher.WorkerCommandBuilder.buildCommand(WorkerCommandBuilder.scala:45)
at org.apache.spark.deploy.worker.CommandUtils$.buildCommandSeq(CommandUtils.scala:63)
at org.apache.spark.deploy.worker.CommandUtils$.buildProcessBuilder(CommandUtils.scala:51)
at org.apache.spark.deploy.worker.ExecutorRunner.org$apache$spark$deploy$worker$ExecutorRunner$$fetchAndRunExecutor(ExecutorRunner.scala:145)
at org.apache.spark.deploy.worker.ExecutorRunner$$anon$1.run(ExecutorRunner.scala:73)
18/11/19 13:40:33 ERROR ExecutorRunner: Error running executor,
.
=======================================================================
Среда: ОС: Windows.Использование Cygwin для запуска Spark Master и Worker.Для тестирования используется только 1 рабочий.
Я не вижу ошибок в консоли Spark Master.Я вижу количество исполнителей, созданных и статус не удалось.Ни один исполнитель не завершается.
Кто-нибудь сталкивался с этой проблемой?Каково решение?Очень признателен за ваш ответ.
Я использую следующие команды для ручного запуска Мастера и Работника: Мастер: java -cp "C:\Spark\spark-2.2.2-bin-hadoop2.7/conf\;C:\Spark\spark-2.2.2-bin-hadoop2.7\jars\*" -Xmx1g org.apache.spark.deploy.master.Master --host 10.111.30.22 --port 7077 --webui-port 8080
Работник: java -cp "C:\Spark\spark-2.2.2-bin-hadoop2.7/conf\;C:\Spark\spark-2.2.2-bin-hadoop2.7\jars\*" -Xmx1g org.apache.spark.deploy.worker.Worker --webui-port 8081 spark://10.111.30.22:7077 --cores 1 --memory 1g
Работа Spark Pi: spark-submit --class org.apache.spark.examples.SparkPi --master spark://10.111.30.22:7077 C:\Spark\spark-2.2.2-bin-hadoop2.7\examples\jars\spark-examples_2.11-2.2.2.jar 2