2016-12-22 3 views
0

У меня HADOOP_HOME, HADOOP_CONF_DIR, YARN_CONF_DIR все определены в скрипте spark-env.sh. Однако, когда я пытаюсь загрузить sparksession на пряжу сSpark not pick up hadoop conf

val sess = new SparkConf().setMaster("yarn-client").setAppName("default")

Это раз из

23:36:44.219 [run-main-0] DEBUG o.a.h.i.retry.RetryInvocationHandler - Exception while invoking getClusterMetrics of class ApplicationClientProtocolPBClientImpl over null. Retrying after sleeping for 30000ms. 
java.net.ConnectException: Call From ip-10-122-2-155/10.122.2.155 to 0.0.0.0:8032 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused 

Там нет ничего работает локально с портом 8032 открытым, так что, очевидно, таймаут.

моя пряжа site.xml прямо говорится, что RM адрес

<property> 
     <name>yarn.resourcemanager.address</name> 
     <value>10.122.2.195:8032</value> 
    </property> 
+0

Обычно искровая сессия загружает SparkConf и SQLContext для вас. Когда вы запускаете искровой сеанс, вы не видите эти элементы в stdout? – tadamhicks

+0

Я ничего не вижу о них на выходе – Anisotropic

+0

Прошу прощения, я имел в виду искровую оболочку. Вы запускаете это как искра-submit или вызываете оболочку? Я принял последнее, но понимаю, что это может быть неверно. – tadamhicks

ответ

0

Ваша программа драйвер не может получить доступ к переменным, определенным в spark-env.sh. (Предполагая, что вы не используете искровую оболочку)

Возможно, причина в том, что пользователь, запускающий драйвер, отличается от пользователя искры (искрообразующие файлы).

Попробуйте вручную установки переменного spark-env.sh перед запуском драйвера следующего

source spark-env.sh 
+0

Итак, я попробовал это и установил vars. Затем я перешел в 'sbt console', чтобы создать сеанс вручную и все равно получить таймаут соединения 0.0.0.0/8032 с помощью master' yarn-client'. – Anisotropic

+0

У меня есть два вопроса. 1. Как вы управляете драйвером? 2. может попробовать с помощью режима с прямыми кластерами? – code

0

Я исправил эту проблему, добавив следующие строки в файл build.sbt.

unmanagedClasspath in Compile += file("/home/ubuntu/hadoop-2.6.0/etc/hadoop") 

unmanagedClasspath in Runtime += file("/home/ubuntu/hadoop-2.6.0/etc/hadoop") 

С учетом других переменных окружающей среды это позволило проекту sbt получить конфигурацию пряжи.

Смежные вопросы