spark遇到的一些坑

1.spark的cluster模式参数问题

spark-submit \
--master yarn \
--deploy-mode cluster \
--class com.zctt.bigdata.Education \
--name cluster_test3 \
--executor-memory 5g \
--driver-memory 5g \
--executor-cores 4 \
--jars datanucleus-api-jdo-4.2.1.jar,datanucleus-core-4.1.17.jar,datanucleus-rdbms-4.1.17.jar \
/home/hadoop/demos/cucc_model_thrid.jar 20180402 cluster_test3 edu_zcxc_pro zcxc_result 

cluster模式提交spark-sql代码的时候还需要提交三个jar包:datanucleus-api-jdo-4.2.1.jar,datanucleus-core-4.1.17.jar,datanucleus-rdbms-4.1.17.jar

而且就是--jars后面的jar包要用","分隔而不是" "(空格)分隔。

2.cluster和client的appName问题

cluster模式appName指定在外部才会生效,如果写到程序里面,是不会生效的。

spark-submit \

--name xxx

3.spark-sql整合hive,使用的是yarn-cluster模式,数据库不存在问题

报错:spark遇到的一些坑_第1张图片

解决方法:

在spark-submit命令中添加上hive-site.xml配置文件。

spark-submit \
--master yarn \
--deploy-mode cluster \
--class com.zctt.bigdata.Education \
--name cluster_test19 \
--executor-memory 5g \
--driver-memory 10g \
--executor-cores 4 \
--jars datanucleus-api-jdo-3.2.1.jar,datanucleus-core-3.2.2.jar,datanucleus-rdbms-3.2.1.jar,jdo-api-3.0.1.jar \
--conf spark.driver.extraJavaOptions="-XX:PermSize=128M -XX:MaxPermSize=256M" \
--files /usr/local/spark/spark-1.5.0-bin-hadoop2.6/conf/hive-site.xml \
/home/hadoop/demos/cucc_model_thrid.jar 20180402 cluster_test19 edu_zcxc_pro zcxc_result

4.spark-sql整合hive,使用的是yarn-cluster,oom问题

报错:

解决方法:

spark-submit \
--master yarn \
--deploy-mode cluster \
--class com.zctt.bigdata.Education \
--name cluster_test19 \
--executor-memory 5g \
--driver-memory 10g \
--executor-cores 4 \
--jars datanucleus-api-jdo-3.2.1.jar,datanucleus-core-3.2.2.jar,datanucleus-rdbms-3.2.1.jar,jdo-api-3.0.1.jar \
--conf spark.driver.extraJavaOptions="-XX:PermSize=128M -XX:MaxPermSize=256M" \
--files /usr/local/spark/spark-1.5.0-bin-hadoop2.6/conf/hive-site.xml \
/home/hadoop/demos/cucc_model_thrid.jar 20180402 cluster_test19 edu_zcxc_pro zcxc_result

5.hive启动失败,jline问题

报错:

spark遇到的一些坑_第2张图片

导致这个问题是由于yarn的jline包版本太低导致,hive的jline版本高。

解决方案:

rm -f /usr/local/hadoop/hadoop-2.6.0/share/hadoop/yarn/lib/jline-0.9.94.jar

cp /usr/local/hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar /usr/local/hadoop/hadoop-2.6.0/share/hadoop/yarn/lib/

你可能感兴趣的:(spark)