clone下来之后,
01.首先是环境的设置--
本地环境是否有程序所需要的提交,例如 JAVA_HOME等
02.接着查看依赖
是否需要修改pom.xml
在library中是否有所需要的库--本地开发环境
<1>add as a maven project
然后在Maven中reimport
<2>setup Scala SDK
添加SDK
添加spark-assembly-1.6.0.2.4.0.0-169-hadoop2.7.1.2.4.0.0-169
<3>mark as resource root/以及unmark
<4> JDK.tool.1.8
03.程序中的package路径是否正确
以及config所在的路径和内容
集群环境运行问题排查
问题原因所在环境问题:集群的环境命令问题:后缀名是否需要加上,文件路径是否错误,是否有空格;jar包问题:第三方jar包是否打入设置文件:设置文件中的集群还是本地程序问题:逻辑问题等问题的类型:具体示例1.Exceptioninthread"main"java.io.FileNotFoundException:File/datacenter/datadoesnotexistvalhdfs=FileSystem.get(HBaseConfiguration.create())2.Exceptioninthread"main"java.lang.NoClassDefFoundError:com/alibaba/fastjson/JSONObjectjava.lang.NoClassDefFoundErrorwithHBaseScan解决方式一解决环境原因01我们将Hadoop的classpath信息添加到CLASSPATH变量中cd/etc/hadoop/confcathadoop-env.sh配置与hadoop运行环境相关的变量exportJAVA_HOME=/opt/jdk1.8.0_111/exportHADOOP_HOME=${HADOOP_HOME:-/usr/hdp/current/hadoop-client}exportHADOOP_CLASSPATH=${HADOOP_CLASSPATH}${JAVA_JDBC_LIBS}原因02hadoop中的classpath没有所谓的jar包方法一:将第三方jar包复制到集群中每个节点的HADOOP_CLASSPATH的lib文件夹下:eg:/usr/hdp/2.4.0.0-169/hadoop/lib/或者方法二:shell命令:将hbase的lib全部加入hadoop_classpath:在hadoop-env.sh文件中添加如下:#addforfin$HBASE_HOME/lib/*.jar; do if [ "$HADOOP_CLASSPATH" ]; then export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f else export HADOOP_CLASSPATH=$f fi done #add解决方式二 在程序中解决 将所需要第三方的jar包打入到 程序包中 3.重新打包过程中出现的错误C:\Items\Spark_Develop\src\main\javaError “MANIFEST.MF already exists in VFS” when creating new artifacthttp://stackoverflow.com/questions/31189449/error-manifest-mf-already-exists-in-vfs-when-creating-new-artifact