2016-04-19 5 views
0

Я использую сервис Spark в IBM Bluemix. Я пытаюсь запустить кусок кода Java для выполнения некоторого процесса Spark, используя скрипт spark-submit.sh.Bluemix Spark: spark-submit failing при загрузке stderr и stdout?

Моя командная строка:

./spark-submit.sh --vcap ./VCAP.json --deploy-mode cluster --class org.apache.spark.examples.JavaSparkPi \ 
--master https://169.54.219.20 ~/Documents/Spark/JavaSparkPi.jar 

Я использую последнюю версию spark-submit.sh (по состоянию на вчера).

./spark-submit.sh --version 
spark-submit.sh VERSION : '1.0.0.0.20160330.1' 

Это работало нормально пару недель назад (со старым spark-submit.sh), но теперь я получаю следующее сообщение об ошибке:

Downloading stdout_1461024849908170118 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
    0 89 0 89 0  0  56  0 --:--:-- 0:00:01 --:--:-- 108 
Failed to download from workdir/driver-20160418191414-0020-5e7fb175-6856-4980-97bc-8e8aa0d1f137/stdout to  stdout_1461024849908170118 

Downloading stderr_1461024849908170118 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
    0 89 0 89 0  0  50  0 --:--:-- 0:00:01 --:--:-- 108 
Failed to download from workdir/driver-20160418191414-0020-5e7fb175-6856-4980-97bc-8e8aa0d1f137/stderr to  stderr_1461024849908170118 

Любые идеи о том, что я делаю неправильно? Заранее спасибо.

EDIT:

Глядя на файл журнала я обнаружил, что проблема на самом деле не при загрузке стандартного вывода и стандартного потока ошибок, но при подаче задания.

{ 
    "action" : "SubmissionStatusResponse", 
    "driverState" : "FAILED", 
    "message" : "Exception from the cluster: 
org.apache.spark.SparkException: Failed to change container CWD 
org.apache.spark.deploy.master.EgoApplicationManager.egoDriverExitCallback(EgoApplicationManager.scala:168) 
org.apache.spark.deploy.master.MasterScheduleDelegatorDriver.onContainerExit(MasterScheduleDelegatorDriver.scala:144) 
org.apache.spark.deploy.master.resourcemanager.ResourceManagerEGOSlot.handleActivityFinish(ResourceManagerEGOSlot.scala:555) 
org.apache.spark.deploy.master.resourcemanager.ResourceManagerEGOSlot.callbackContainerStateChg(ResourceManagerEGOSlot.scala:525) 
org.apache.spark.deploy.master.resourcemanager.ResourceCallbackManager$$anonfun$callbackContainerStateChg$1.apply(ResourceManager.scala:158) 
org.apache.spark.deploy.master.resourcemanager.ResourceCallbackManager$$anonfun$callbackContainerStateChg$1.apply(ResourceManager.scala:157) 
scala.Option.foreach(Option.scala:236) 
org.apache.spark.deploy.master.resourcemanager.ResourceCallbackManager$.callbackContainerStateChg(ResourceManager.scala:157)", 
    "serverSparkVersion" : "1.6.0", 
    "submissionId" : "driver-20160420043532-0027-6e579720-2c9d-428f-b2c7-6613f4845146", 
    "success" : true 
} 
driverStatus is FAILED 

EDIT2:

Наконец проблема, которую я имел при подаче работа была решена только путем создания совершенно нового экземпляра службы Спарк. Теперь моя работа выполняется и заканчивается через несколько секунд.

Но я все еще получаю сообщение об ошибке при попытке загрузить файлы stdout и stderr.

Downloading stdout_1461156506108609180 
% Total % Received % Xferd Average Speed Time Time  Time Current 
Dload Upload Total Spent Left Speed 
    0 90 0 90 0  0  61  0 --:--:-- 0:00:01 --:--:-- 125 
Failed to download from workdir2/driver-20160420074922-0008-1400fc20-95c1-442d-9c37-32de3a7d1f0a/stdout to stdout_1461156506108609180 

Downloading stderr_1461156506108609180 
% Total % Received % Xferd Average Speed Time Time  Time Current 
Dload Upload Total Spent Left Speed 
    0 90 0 90 0  0  56  0 --:--:-- 0:00:01 --:--:-- 109 
Failed to download from workdir2/driver-20160420074922-0008-1400fc20-95c1-442d-9c37-32de3a7d1f0a/stderr to stderr_1461156506108609180 

Любые идеи?

ответ

0

Я обнаружил, что старый искровым представить пытается получить стандартный вывод и стандартный поток ошибок из папки Workdir ...

Failed to download from workdir/driver-20160418191414-0020-5e7fb175-6856-4980-97bc-8e8aa0d1f137/stdout to  stdout_1461024849908170118 

В то время как новый (скачал вчера) искровым Представлять пытается загрузить их из папки workdir2 ...

Failed to download from workdir2/driver-20160420074922-0008-1400fc20-95c1-442d-9c37-32de3a7d1f0a/stdout to stdout_1461156506108609180 

папка используется фиксируется переменной SS_SPARK_WORK_DIR которая инициализируется в искру подать

if [ -z ${SS_SPARK_WORK_DIR} ]; then SS_SPARK_WORK_DIR="workdir2"; fi # Work directory on spark cluster 

Я изменил значение в workdir, и теперь все работает. Я загрузил новую (сегодня) искру-отправку с сайта Bluemix, и эта проблема была исправлена. Теперь эта переменная указывает на workdir.

Так что, если что-то не удается, убедитесь, что у вас есть последний сценарий искра-отправки от Bluemix.