完整报错如下:
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
19/03/06 19:54:36 INFO SparkContext: Running Spark version 2.3.1
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.(DefaultMetricsSystem.java:38)
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.(DefaultMetricsSystem.java:36)
at org.apache.hadoop.security.UserGroupInformation$UgiMetrics.create(UserGroupInformation.java:121)
at org.apache.hadoop.security.UserGroupInformation.(UserGroupInformation.java:237)
at org.apache.spark.util.Utils$$anonfun$getCurrentUserName$1.apply(Utils.scala:2467)
at org.apache.spark.util.Utils$$anonfun$getCurrentUserName$1.apply(Utils.scala:2467)
at scala.Option.getOrElse(Option.scala:121)
at org.apache.spark.util.Utils$.getCurrentUserName(Utils.scala:2467)
at org.apache.spark.SparkContext.(SparkContext.scala:292)
at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2493)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$7.apply(SparkSession.scala:933)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$7.apply(SparkSession.scala:924)
at scala.Option.getOrElse(Option.scala:121)
at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:924)
at RunLSA$.main(RunLSA.scala:23)
at RunLSA.main(RunLSA.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.configuration.Configuration
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 16 more
--------------------------------
怎么解决呢?
cd ~/bigdata/
grep -r Configuration|grep jar
我们得到:
二進位格式檔案 mapreduce/lib-examples/hsqldb-2.0.0.jar 符合
二進位格式檔案 mapreduce/hadoop-mapreduce-client-jobclient-2.7.7-tests.jar 符合
二進位格式檔案 mapreduce/hadoop-mapreduce-client-core-2.7.7.jar 符合
二進位格式檔案 mapreduce/sources/hadoop-mapreduce-client-jobclient-2.7.7-test-sources.jar 符合
二進位格式檔案 mapreduce/sources/hadoop-mapreduce-client-core-2.7.7-sources.jar 符合
二進位格式檔案 mapreduce/lib/log4j-1.2.17.jar 符合
二進位格式檔案 mapreduce/lib/guice-3.0.jar 符合
二進位格式檔案 mapreduce/lib/jersey-core-1.9.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/commons-logging-1.1.3.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/xml-apis-1.3.04.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/commons-digester-1.8.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/commons-daemon-1.0.13.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/xercesImpl-2.9.1.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/hadoop-common-2.7.7.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/hadoop-auth-2.7.7.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/htrace-core-3.1.0-incubating.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/log4j-1.2.17.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/jettison-1.1.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/commons-configuration-1.6.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/jersey-json-1.9.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/hadoop-hdfs-2.7.7.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/commons-math3-3.1.1.jar 符合
二進位格式檔案 httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/jersey-core-1.9.jar 符合
二進位格式檔案 httpfs/tomcat/bin/commons-daemon.jar 符合
二進位格式檔案 httpfs/tomcat/bin/tomcat-juli.jar 符合
二進位格式檔案 yarn/hadoop-yarn-common-2.7.7.jar 符合
二進位格式檔案 yarn/hadoop-yarn-server-resourcemanager-2.7.7.jar 符合
二進位格式檔案 yarn/hadoop-yarn-api-2.7.7.jar 符合
二進位格式檔案 yarn/sources/hadoop-yarn-server-resourcemanager-2.7.7-test-sources.jar 符合
二進位格式檔案 yarn/sources/hadoop-yarn-common-2.7.7-sources.jar 符合
二進位格式檔案 yarn/sources/hadoop-yarn-server-resourcemanager-2.7.7-sources.jar 符合
二進位格式檔案 yarn/sources/hadoop-yarn-api-2.7.7-sources.jar 符合
二進位格式檔案 yarn/sources/hadoop-yarn-common-2.7.7-test-sources.jar 符合
二進位格式檔案 yarn/lib/commons-logging-1.1.3.jar 符合
二進位格式檔案 yarn/lib/jetty-6.1.26.jar 符合
二進位格式檔案 yarn/lib/zookeeper-3.4.6-tests.jar 符合
二進位格式檔案 yarn/lib/log4j-1.2.17.jar 符合
二進位格式檔案 yarn/lib/jettison-1.1.jar 符合
二進位格式檔案 yarn/lib/guice-3.0.jar 符合
二進位格式檔案 yarn/lib/jersey-json-1.9.jar 符合
二進位格式檔案 yarn/lib/stax-api-1.0-2.jar 符合
二進位格式檔案 yarn/lib/jersey-core-1.9.jar 符合
二進位格式檔案 hdfs/hadoop-hdfs-2.7.7-tests.jar 符合
二進位格式檔案 hdfs/hadoop-hdfs-nfs-2.7.7.jar 符合
二進位格式檔案 hdfs/sources/hadoop-hdfs-2.7.7-sources.jar 符合
二進位格式檔案 hdfs/sources/hadoop-hdfs-2.7.7-test-sources.jar 符合
二進位格式檔案 hdfs/hadoop-hdfs-2.7.7.jar 符合
二進位格式檔案 hdfs/lib/commons-logging-1.1.3.jar 符合
二進位格式檔案 hdfs/lib/xml-apis-1.3.04.jar 符合
二進位格式檔案 hdfs/lib/commons-daemon-1.0.13.jar 符合
二進位格式檔案 hdfs/lib/xercesImpl-2.9.1.jar 符合
二進位格式檔案 hdfs/lib/jetty-6.1.26.jar 符合
二進位格式檔案 hdfs/lib/htrace-core-3.1.0-incubating.jar 符合
二進位格式檔案 hdfs/lib/log4j-1.2.17.jar 符合
二進位格式檔案 hdfs/lib/jersey-core-1.9.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/commons-logging-1.1.3.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/api-ldap-model-1.0.0-M20.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/commons-digester-1.8.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/hadoop-kms-2.7.7.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/hadoop-common-2.7.7.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/hadoop-auth-2.7.7.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/htrace-core-3.1.0-incubating.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/log4j-1.2.17.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/jettison-1.1.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/commons-configuration-1.6.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/ehcache-core-2.4.4.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/jersey-json-1.9.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/commons-math3-3.1.1.jar 符合
二進位格式檔案 kms/tomcat/webapps/kms/WEB-INF/lib/jersey-core-1.9.jar 符合
二進位格式檔案 kms/tomcat/bin/commons-daemon.jar 符合
二進位格式檔案 kms/tomcat/bin/tomcat-juli.jar 符合
二進位格式檔案 common/hadoop-common-2.7.7.jar 符合
二進位格式檔案 common/hadoop-common-2.7.7-tests.jar 符合
二進位格式檔案 common/sources/hadoop-common-2.7.7-test-sources.jar 符合
二進位格式檔案 common/sources/hadoop-common-2.7.7-sources.jar 符合
二進位格式檔案 common/lib/commons-logging-1.1.3.jar 符合
二進位格式檔案 common/lib/commons-digester-1.8.jar 符合
二進位格式檔案 common/lib/jets3t-0.9.0.jar 符合
二進位格式檔案 common/lib/jetty-6.1.26.jar 符合
二進位格式檔案 common/lib/commons-httpclient-3.1.jar 符合
二進位格式檔案 common/lib/hadoop-auth-2.7.7.jar 符合
二進位格式檔案 common/lib/htrace-core-3.1.0-incubating.jar 符合
二進位格式檔案 common/lib/log4j-1.2.17.jar 符合
二進位格式檔案 common/lib/jettison-1.1.jar 符合
二進位格式檔案 common/lib/commons-configuration-1.6.jar 符合
二進位格式檔案 common/lib/jersey-json-1.9.jar 符合
二進位格式檔案 common/lib/stax-api-1.0-2.jar 符合
二進位格式檔案 common/lib/commons-math3-3.1.1.jar 符合
二進位格式檔案 common/lib/jersey-core-1.9.jar 符合
二進位格式檔案 common/lib/mockito-all-1.8.5.jar 符合
二進位格式檔案 tools/sources/hadoop-rumen-2.7.7-sources.jar 符合
二進位格式檔案 tools/sources/hadoop-sls-2.7.7-sources.jar 符合
二進位格式檔案 tools/lib/commons-logging-1.1.3.jar 符合
二進位格式檔案 tools/lib/commons-digester-1.8.jar 符合
二進位格式檔案 tools/lib/aws-java-sdk-1.7.4.jar 符合
二進位格式檔案 tools/lib/jets3t-0.9.0.jar 符合
二進位格式檔案 tools/lib/hadoop-rumen-2.7.7.jar 符合
二進位格式檔案 tools/lib/jetty-6.1.26.jar 符合
二進位格式檔案 tools/lib/hadoop-sls-2.7.7.jar 符合
二進位格式檔案 tools/lib/commons-httpclient-3.1.jar 符合
二進位格式檔案 tools/lib/hadoop-openstack-2.7.7.jar 符合
二進位格式檔案 tools/lib/hadoop-auth-2.7.7.jar 符合
二進位格式檔案 tools/lib/htrace-core-3.1.0-incubating.jar 符合
二進位格式檔案 tools/lib/log4j-1.2.17.jar 符合
二進位格式檔案 tools/lib/jettison-1.1.jar 符合
二進位格式檔案 tools/lib/commons-configuration-1.6.jar 符合
二進位格式檔案 tools/lib/jersey-json-1.9.jar 符合
二進位格式檔案 tools/lib/stax-api-1.0-2.jar 符合
二進位格式檔案 tools/lib/commons-math3-3.1.1.jar 符合
二進位格式檔案 tools/lib/jersey-core-1.9.jar 符合
二進位格式檔案 tools/lib/mockito-all-1.8.5.jar 符合
因此我们大致猜测需要在intellij中导入tools/lib/
--------------------------------
具体操作步骤如下:
intellij中
ctrl+shift+alt+s按下后,
把下面的整个文件夹导入
/home/appleyuchi/bigdata/hadoop-2.7.7/share/hadoop/tools/lib
然后重新Run即可。