I have Hadoop cluster setup, decided to Deploy Apache Spark over Yarn. for test case I have tried different option to summit Saprk job. Here I have discussed few Exception / issues during Spark deployment on Yarn.
Resource manager(domainname:8088) Acceptted my job but not allowed to run the job. I have been waiting quite long time then decide to check log files.
Error 1)
Initially I Connected Spark via shell using "local" mode. everything working great.
Initially I Connected Spark via shell using "local" mode. everything working great.
root@boss:/opt/spark-1.1.0-bin-hadoop2.4# ./bin/spark-shell --master local[2]
when I tried to coonect via "master" mode,
root@boss:/opt/spark-1.1.0-bin-hadoop2.4# ./bin/spark-shell --master spark://boss:7077
I can safly enter into spark-shell, Then I summitted the job, Resource manager(domainname:8088) Acceptted my job but not allowed to run the job. I have been waiting quite long time then decide to check log files.
14/09/25 15:54:59 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory
14/09/25 15:55:14 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory
.....
14/09/25 15:55:14 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory
.....
Solution
There was no runnning worker for the master to assign the job. Started the worker for the master running on server "solai" and port "7077"
There was no runnning worker for the master to assign the job. Started the worker for the master running on server "solai" and port "7077"
root@boss:/opt/spark-1.1.0-bin-hadoop2.4# ./bin/spark-class org.apache.spark.deploy.worker.Worker spark://solai:7077
Error 2)
then I decided to enter spark-shell via Yarn.
then I decided to enter spark-shell via Yarn.
root@boss:/opt/spark-1.1.0-bin-hadoop2.4# ./bin/spark-shell --master yarn-client
Spark assembly has been built with Hive, including Datanucleus jars on classpath Exception in thread "main" java.lang.Exception: When running with master 'yarn-client' either HADOOP_CONF_DIR or YARN_CONF_DIR must be set in the environment. at org.apache.spark.deploy.SparkSubmitArguments.checkRequiredArguments(SparkSubmitArguments.scala:182) at org.apache.spark.deploy.SparkSubmitArguments.(SparkSubmitArguments.scala:62)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:70)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Spark assembly has been built with Hive, including Datanucleus jars on classpath Exception in thread "main" java.lang.Exception: When running with master 'yarn-client' either HADOOP_CONF_DIR or YARN_CONF_DIR must be set in the environment. at org.apache.spark.deploy.SparkSubmitArguments.checkRequiredArguments(SparkSubmitArguments.scala:182) at org.apache.spark.deploy.SparkSubmitArguments.
Solution
as said in error set HADOOP_CONF_DIR in $SPARK_HOME/conf/spark-env.sh (create this file from conf/spark-env-template.sh)
as said in error set HADOOP_CONF_DIR in $SPARK_HOME/conf/spark-env.sh (create this file from conf/spark-env-template.sh)
HADOOP_CONF_DIR=/opt/hadoop-2.5.1/etc/hadoop
Error 3)
Successfully deployed Spark on top of Yarn. Next, Tryied to submit the job via Yarn-cluster.
Successfully deployed Spark on top of Yarn. Next, Tryied to submit the job via Yarn-cluster.
root@slavedk:/opt/spark-1.1.0-bin-hadoop2.4# ./bin/spark-submit --class org.apache.spark.examples.JavaWordCount --master yarn-cluster lib/spark-examples-1.1.0-hadoop2.4.0.jar /sip/ /op/sh2
Container launch failed for container_1412078568642_0005_01_000003 : org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container. This token is expired. current time is 1412083584173 found 1412082408578
OR
Application application_1411747873135_0002 failed 2 times due to AM Container for appattempt_1411747873135_0002_000002 exited with exitCode: -100 due to: Container expired since it was unused.Failing this attempt.. Failing the application
Container launch failed for container_1412078568642_0005_01_000003 : org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container. This token is expired. current time is 1412083584173 found 1412082408578
OR
Application application_1411747873135_0002 failed 2 times due to AM Container for appattempt_1411747873135_0002_000002 exited with exitCode: -100 due to: Container expired since it was unused.Failing this attempt.. Failing the application
Solution
One of the options would be increasing lifespan of container by changing the default time. defaut container expairy itervel is 10 sec.. make it as 20sec.
add the below property to the Hadoop yarn-site.xml file. in my case /opt/hadoop-2.5.1/etc/hadoop/yarn-site.xml
One of the options would be increasing lifespan of container by changing the default time. defaut container expairy itervel is 10 sec.. make it as 20sec.
add the below property to the Hadoop yarn-site.xml file. in my case /opt/hadoop-2.5.1/etc/hadoop/yarn-site.xml
<property>
<name>yarn.resourcemanager.rm.container-allocation. expiry-interval-ms</name>
<value>2000000</value>
</property>
6 comments:
Thank you so much for this nice information. Hope so many people will get aware of this and useful as well. And please keep update like this.
Big Data Solutions
Data Lake Companies
Advanced Analytics Solutions
Full Stack Development Company
Nice article you have posted here. Thank you for giving this innovative information and please add more in the future.Full Stack Development Company
Data migration services offered by your company have helped in passing all the series of functions entirely, which are necessary for data transformation.
If we consider the AWS big data consultant, then adaptive learning is an excellent way to make it successful.
Great Article.
Thank you..................
ServiceNow Training
Your writing is not only informative but also incredibly engaging. Your blog's practical tips on How to Fix My PS4 Controller Flashing White were spot-on; my controller is back to normal, and I appreciate the guidance!
Post a Comment