spark on yarn報錯java.lang.ClassNotFoundException: com.sun.jersey.api.client.config.Client

來源:互聯網
上載者:User

環境: hadoop2.7.4 spark2.1.0

配置完spark-historyserver和yarn-timelineserver後,啟動的時候沒有報錯,但是在spark用
./spark-submit –class org.apache.spark.examples.SparkPi
–master yarn
–num-executors 3
–driver-memory 1g
–executor-cores 1
/opt/spark-2.1.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.1.0.jar 20
命令提交application的時候,報了如下錯誤

[root@node-2 bin]# ./spark-submit --class org.apache.spark.examples.SparkPi --master yarn --num-executors 3 --driver-memory 1g --executor-cores 1 /opt/spark-2.1.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.1.0.jar 2017/12/08 02:01:37 INFO SparkContext: Running Spark version 2.1.017/12/08 02:01:38 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable17/12/08 02:01:38 INFO SecurityManager: Changing view acls to: root17/12/08 02:01:38 INFO SecurityManager: Changing modify acls to: root17/12/08 02:01:38 INFO SecurityManager: Changing view acls groups to: 17/12/08 02:01:38 INFO SecurityManager: Changing modify acls groups to: 17/12/08 02:01:38 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users  with view permissions: Set(root); groups with view permissions: Set(); users  with modify permissions: Set(root); groups with modify permissions: Set()17/12/08 02:01:38 INFO Utils: Successfully started service 'sparkDriver' on port 40685.17/12/08 02:01:39 INFO SparkEnv: Registering MapOutputTracker17/12/08 02:01:39 INFO SparkEnv: Registering BlockManagerMaster17/12/08 02:01:39 INFO BlockManagerMasterEndpoint: Using org.apache.spark.storage.DefaultTopologyMapper for getting topology information17/12/08 02:01:39 INFO BlockManagerMasterEndpoint: BlockManagerMasterEndpoint up17/12/08 02:01:39 INFO DiskBlockManager: Created local directory at /tmp/spark/blockmgr-5041ec61-5aa3-48ec-86ec-692db6efcce317/12/08 02:01:39 INFO MemoryStore: MemoryStore started with capacity 413.9 MB17/12/08 02:01:39 INFO SparkEnv: Registering OutputCommitCoordinator17/12/08 02:01:39 INFO Utils: Successfully started service 'SparkUI' on port 4040.17/12/08 02:01:39 INFO SparkUI: Bound SparkUI to 0.0.0.0, and started at http://192.168.1.82:404017/12/08 02:01:39 INFO SparkContext: Added JAR file:/opt/spark-2.1.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.1.0.jar at spark://192.168.1.82:40685/jars/spark-examples_2.11-2.1.0.jar with timestamp 1512698499980Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig    at org.apache.hadoop.yarn.client.api.TimelineClient.createTimelineClient(TimelineClient.java:55)    at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.createTimelineClient(YarnClientImpl.java:181)    at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.serviceInit(YarnClientImpl.java:168)    at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)    at org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:151)    at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:56)    at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:156)    at org.apache.spark.SparkContext.<init>(SparkContext.scala:509)    at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2313)    at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:868)    at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:860)    at scala.Option.getOrElse(Option.scala:121)    at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:860)    at org.apache.spark.examples.SparkPi$.main(SparkPi.scala:31)    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:498)    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:738)    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187)    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212)    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126)    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)Caused by: java.lang.ClassNotFoundException: com.sun.jersey.api.client.config.ClientConfig    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)    ... 24 more17/12/08 02:01:43 INFO DiskBlockManager: Shutdown hook called17/12/08 02:01:43 INFO ShutdownHookManager: Shutdown hook called17/12/08 02:01:43 INFO ShutdownHookManager: Deleting directory /tmp/spark/spark-c9cb41bd-2a3e-4519-92a8-dd3cf232458f17/12/08 02:01:43 INFO ShutdownHookManager: Deleting directory /tmp/spark/spark-c9cb41bd-2a3e-4519-92a8-dd3cf232458f/userFiles-0d69f3fd-fd19-4b50-ac77-b52dcc686c78

意思是找不到com.sun.jersey.api.client.config.ClientConfig這個類.尋找答案說是缺少jersey-core.jar包
我cd到SPARK_HOME/jars路徑下,發現存在的jersey包為以下

確實沒有這個jar包,而且jersey版本為2.22.2,然後我去官方API中查證,發現jersey2.22.2版本中並沒有jersey-core這個jar包,更沒有com.sun.jersey.api.client.config.ClientConfig這個類,我又去查看jersey1.9的API,成功發現了缺失的類,看來是jersey在以後的版本中去掉了這個類.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.