Синтаксическая ошибка в topology.py, когда я пытаюсь запустить команду scala в spark через Cloudera VM

Каждый раз, когда я пытаюсь запустить следующую команду Scala

val dataRDD =  sc.textFile("hdfs://quickstart.cloudera:8020/user/cloudera/data/data.txt")
    dataRDD.collect().foreach(println)
    //or
    dataRDD.count()

Я получаю следующее исключение -

exitCodeException exitCode=1:   File "/etc/hadoop/conf.cloudera.yarn/topology.py", line 43 print default_rack^
SyntaxError: Missing parentheses in call to 'print'

-Я использую Spark 1.6.0 на виртуальной машине Cloudera. Кто-нибудь еще сталкивался с такой проблемой? Что может быть причиной? Я понимаю, что это связано с файлом «topology.py», который пытается печатать без «(», что требуется на python 3. Но почему этот скрипт выполняется, когда я не запускаю python / pyspark. Это происходит только через виртуальную машину Cloudera, когда я запускаю вне виртуальной машины с некоторыми другими демонстрационными данными, команды работают!


person gupi_bagha    schedule 02.10.2016    source источник
comment
Тоже видя это. Однако ответа пока нет.   -  person    schedule 13.10.2016


Ответы (1)


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

Выше приведена известная проблема, и обходной путь следующий:

Обходной путь: добавьте роль шлюза YARN на каждый хост, на котором еще нет хотя бы одной роли YARN (любого типа). Шлюз YARN необходимо добавить на узел/хост, где вы столкнулись с этой проблемой.

person Jitender Singh Gahlot    schedule 10.01.2018