#java #apache-spark
#java #apache-искра
Вопрос:
Я создал кластер в Ubuntu 20.04 и spark 3.0.0
После этого я запускаю отправку и получаю следующую ошибку.
Exception from cluster was: java.io.IOException: Cannot run program "/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/java" (in directory "/home/ubuntu/spark-3.0.0-bin-hadoop2.7/work/driver-20201207053401-0000"): error=2, No such file or directory
java.io.IOException: Cannot run program "/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/java" (in directory "/home/ubuntu/spark-3.0.0-bin-hadoop2.7/work/driver-20201207053401-0000"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
at org.apache.spark.deploy.worker.ProcessBuilderLike$anon$3.start(DriverRunner.scala:264)
at org.apache.spark.deploy.worker.DriverRunner.runCommandWithRetry(DriverRunner.scala:229)
at org.apache.spark.deploy.worker.DriverRunner.runDriver(DriverRunner.scala:210)
at org.apache.spark.deploy.worker.DriverRunner.prepareAndRunDriver(DriverRunner.scala:193)
at org.apache.spark.deploy.worker.DriverRunner$anon$2.run(DriverRunner.scala:96)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.ProcessImpl.forkAndExec(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:340)
at java.lang.ProcessImpl.start(ProcessImpl.java:271)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
... 6 more
20/12/07 14:34:06 INFO ShutdownHookManager: Shutdown hook called
Я устанавливаю $JAVA_HOME и регистрирую экспорт JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 в ./conf/spark-env.sh
но все же попробуйте найти macOS Java dir.
/usr/lib/jvm/java-11-openjdk-amd64 — правильный каталог.
я отправляю приложение с mac на ubuntu в EC2
это отправка команды
./bin/spark-submit --master spark://15.xxx.42.xx:7077
--deploy-mode cluster
--class com.mysterico.TfIdf
--driver-memory 2G
--executor-memory 2G
--driver-cores 1
--executor-cores 2
--num-executors 2
/home/ubuntu/food-analytics-assembly-0.1.jar
Пожалуйста, помогите.
Комментарии:
1. обычно macOS устанавливает java в /Library/Java/JavaVirtualMachines. Кроме того, homebrew установит для вас JAVA_HOME… Но что это за ubuntu? Похоже, у вас здесь конфликтующие пути к файлам, потому что компьютер Ubuntu выдает ошибку, потому что /Library (путь к файловой системе macOS) не может быть найден
2. JAVA в Ubuntu — это /usr/lib/jvm/java-11-openjdk-amd64, но драйвер пытается найти неправильный путь, который является проблемой
3. Конечно, итак, как вы отправляете код? Драйвер запущен удаленно?
4. ДА. я отправляю приложение с mac на ubuntu, я только что загрузил команду, пожалуйста, проверьте
5. Все еще в замешательстве. Если вы отправляете данные с компьютера Mac, то у вас не будет пути к файлу
/home/ubuntu
на компьютере Mac…