2016-04-04 5 views
0

Я недавно установки Кластер многоузловой Hadoop HA (NameNode & ResourceManager) (3 узла), установка завершена и запустить все демона, как ожидается,Запуск Свеча на Пряжа Клиент

Daemon в NN1:

2945 JournalNode 
3137 DFSZKFailoverController 
6385 Jps 
3338 NodeManager 
22730 QuorumPeerMain 
2747 DataNode 
3228 ResourceManager 
2636 NameNode 

Daemon в NN2:

19620 Jps 
3894 QuorumPeerMain 
16966 ResourceManager 
16808 NodeManager 
16475 DataNode 
16572 JournalNode 
17101 NameNode 
16702 DFSZKFailoverController 

Daemon в DN1:

12228 QuorumPeerMain 
29060 NodeManager 
28858 DataNode 
29644 Jps 
28956 JournalNode 

Мне интересно запустить Spark Jobs по моей настройке пряжи. Я установил Scala и Спарк на моем NN1 и я могу успешно начать свою искру, выполнив следующую команду

$ spark-shell 

Теперь, я не имею никакого знания о СПАРКЕ, я хотел бы знать, как я могу запустить искру на Пряжа , Я читал, что мы можем запускать его как нить-клиент, так и пряжи-кластер.

Должен ли я установить искру & scala на всех узлах кластера (NN2 & DN1) для запуска искры на клиенте или кластере пряжи? Если нет, то как я могу отправить задания Spark из узла NN1 (первичный namenode).

Я скопировал над Спарк сборки JAR в HDFS, как предложено в блоге я прочитал,

-rw-r--r-- 3 hduser supergroup 187548272 2016-04-04 15:56 /user/spark/share/lib/spark-assembly.jar 

Также создана переменная SPARK_JAR в моем Bashrc file.i пытался представить Спарк работу в качестве пряжи-клиента но я в конечном итоге с ошибкой, как показано ниже, я понятия не имею, правильно ли я делаю все это правильно или сначала нужно выполнить другие настройки.

[[email protected] spark-1.6.0]$ ./bin/spark-submit --class  org.apache.spark.examples.SparkPi --master yarn --deploy-mode client --driver-memory 4g --executor-memory 2g --executor-cores 2 --queue thequeue lib/spark-examples*.jar 10 
16/04/04 17:27:50 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
16/04/04 17:27:51 WARN SparkConf: 
SPARK_WORKER_INSTANCES was detected (set to '2'). 
This is deprecated in Spark 1.0+. 

Please instead use: 
- ./spark-submit with --num-executors to specify the number of executors 
- Or set SPARK_EXECUTOR_INSTANCES 
- spark.executor.instances to configure the number of instances in the spark config. 

16/04/04 17:27:54 WARN Client: SPARK_JAR detected in the system environment. This variable has been deprecated in favor of the spark.yarn.jar configuration variable. 
16/04/04 17:27:54 WARN Client: SPARK_JAR detected in the system environment. This variable has been deprecated in favor of the spark.yarn.jar configuration variable. 
16/04/04 17:27:57 ERROR SparkContext: Error initializing SparkContext. 
org.apache.spark.SparkException: Yarn application has already ended! It might have been killed or unable to launch application master. 
    at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.waitForApplication(YarnClientSchedulerBackend.scala:124) 
    at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:64) 
    at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:144) 
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:530) 
    at org.apache.spark.examples.SparkPi$.main(SparkPi.scala:29) 
    at org.apache.spark.examples.SparkPi.main(SparkPi.scala) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731) 
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) 
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) 
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) 
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 
16/04/04 17:27:58 WARN MetricsSystem: Stopping a MetricsSystem that is not running 
Exception in thread "main" org.apache.spark.SparkException: Yarn application has already ended! It might have been killed or unable to launch application master. 
    at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.waitForApplication(YarnClientSchedulerBackend.scala:124) 
    at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:64) 
    at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:144) 
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:530) 
    at org.apache.spark.examples.SparkPi$.main(SparkPi.scala:29) 
    at org.apache.spark.examples.SparkPi.main(SparkPi.scala) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731) 
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) 
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) 
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) 
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 
[[email protected] spark-1.6.0]$ 

Пожалуйста, помогите мне решить эту проблему и о том, как запустить Spark on Yarn в качестве клиента или в режиме Cluster.

+0

Может кто-то указать, что базовая конфигурация должна быть установлена ​​для spark-env.sh и spark-defaults.conf, чтобы запустить искровую оболочку запуска в качестве нити-клиента. Я не могу найти файлы примеров, на которые нужно ссылаться. –

ответ

0

Добавляя эту собственность в HDFS-site.xml, она решается вопрос

<property> 
    <name>dfs.client.failover.proxy.provider.mycluster</name> 
    <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> 
</property> 
-1

В режиме клиента вы бы запустить что-то вроде ниже простого слова подсчитывать пример

spark-submit --class org.sparkexample.WordCount --master yarn-client wordcount-sample-plain-1.0-SNAPSHOT.jar input.txt output.txt 

Я думаю, что у вас есть команда spark-submit. Нет ни одной матовой нити. Я бы настоятельно рекомендовал использовать автоматическое средство настройки, чтобы быстро настроить кластер вместо ручного подхода.

Обратитесь к инструментам Cloudera или Hortonworks. Вы можете использовать его, чтобы мгновенно получить настройку и сможете легко отправлять задания, не выполняя все эти настройки вручную.

Ссылка: https://hortonworks.com/products/hdp/

1

Теперь, я не имею никакого знания о СПАРК, я хотел бы знать, как я могу запустить искру на нити. Я читал, что мы можем запускать его как нить-клиент, так и пряжи-кластер.

Настоятельно рекомендуется прочитать официальную документацию Spark по YARN по адресу http://spark.apache.org/docs/latest/running-on-yarn.html.

Вы можете использовать spark-shell с --master yarn для подключения к YARN. Вам нужно иметь надлежащие файлы конфигурации на компьютере, который вы делаете spark-shell.

Если я установить свечи & Скала всех узлов в кластере (NN2 & dN1) для запуска искру на пряжи клиента или кластера?

Нет. Вам не нужно ничего устанавливать в YARN, поскольку Spark будет распространять необходимые файлы для вас.

Если нет, то как я могу отправить задания Spark из узла NN1 (первичный nenenode).

Начать с spark-shell --master yarn и посмотреть, если вы можете выполнить следующий код:

(0 to 5).toDF.show 

Если вы видите таблицу, как выход, вы сделали. Else, укажите ошибку (ошибки).

Также создана SPARK_JAR переменная в моей Bashrc file.i пытался представить Спарк работу в качестве пряжи-клиента, но я в конечном итоге с ошибкой, как показано ниже, я понятия не имею о, если я делаю это все правильно или нужны другие настройки, которые необходимо выполнить в первую очередь.

Удалить переменную SPARK_JAR. Не используйте его, поскольку он не нужен и может вызвать проблемы. Прочтите официальную документацию по адресу http://spark.apache.org/docs/latest/running-on-yarn.html, чтобы понять основы Spark на YARN и за ее пределами.

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