我们将 Google Cloud Bigtable 用于我们的大数据。当我运行 MapReduce 作业时,我组装了一个 jar 并运行它,现在我收到了这个错误:
应用程序 application_1451577928704_0050 失败 2 次,因为 AM Container for appattempt_1451577928704_0050_000002 exited with exitCode: 1 有关更详细的输出,请查看应用程序跟踪页面:http:// censored:8088/cluster/app/application_1451577928704_0050然后,单击指向每次尝试日志的链接。诊断:容器启动异常。容器 ID:container_e02_1451577928704_0050_02_000001 退出代码:1 堆栈跟踪:ExitCodeException exitCode=1:在 org.apache.hadoop.util.Shell.runCommand(Shell.java:545) 在 org.apache.hadoop.util.Shell.run(Shell. java:456) 在 org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:722) 在 org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:211) 在 org .apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302) 在 org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java: 82) 在 java.util.concurrent.FutureTask。在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread 运行(FutureTask.java:266) .run(Thread.java:745) 容器以非零退出代码 1 退出此尝试失败。申请失败。
当我登录查看工作节点的日志时,我看到了这个错误:
2016-02-15 02:59:54,106 INFO [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster:为应用程序 appattempt_1451577928704_0050_000001 创建 MRAppMaster 2016-02-15 02:59:54,294 WARN [main] org.apache .hadoop.util.NativeCodeLoader:无法为您的平台加载 native-hadoop 库...在适用的情况下使用内置 java 类 2016-02-15 02:59:54,319 INFO [main] org.apache.hadoop.mapreduce.v2 .app.MRAppMaster:使用令牌执行:2016-02-15 02:59:54,319 INFO [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster:种类:YARN_AM_RM_TOKEN,服务:,标识:(appAttemptId { application_id { id: 50 cluster_timestamp: 1451577928704 } attemptId: 1 } keyId: -******) 2016-02-15 02:59:54,424 INFO [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster:使用映射的 newApiCommitter。2016-02-15 02:59:54,755 警告 [主要] 组织。apache.hadoop.hdfs.shortcircuit.DomainSocketFactory:无法使用短路本地读取功能,因为无法加载libhadoop。2016-02-15 02:59:54,855 INFO [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster:OutputCommitter 在配置中设置为 null 2016-02-15 02:59:54,911 INFO [main] org.apache .hadoop.service.AbstractService:服务org.apache.hadoop.mapreduce.v2.app.MRAppMaster在状态INITED失败;原因:org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.lang.ClassCastException: org.apache.xerces.dom.DeferredElementNSImpl 不能转换为 org.w3c.dom.Text org.apache.hadoop.yarn.exceptions。 YarnRuntimeException: java.lang.ClassCastException: org.apache.xerces.dom.DeferredElementNSImpl 无法在 org.apache.hadoop.mapreduce.v2.app.MRAppMaster$1.call(MRAppMaster.
我尝试了一个旧的罐子,它运行得很好,我不确定为什么新罐子不能工作 - 没有改变任何东西。
请指教?
谢谢!
更新 1:这里有更多详细信息:我使用 dataproc 设置集群。我们使用的是最新版本,这里是库依赖项:
val BigtableHbase = "com.google.cloud.bigtable" % "bigtable-hbase-1.1" % "0.2.2" val BigtableHbaseMapreduce = "com.google.cloud.bigtable" % "bigtable-hbase-mapreduce" % "0.2. 2" val CommonsCli = "commons-cli" % "commons-cli" % "1.2" val HadoopCommon = "org.apache.hadoop" % "hadoop-common" % "2.7.1" val HadoopMapreduceClientApp = "org.apache. hadoop" % "hadoop-mapreduce-client-app" % "2.7.1" val HbaseCommon = "org.apache.hbase" % "hbase-common" % "1.1.2" val HbaseProtocol = "org.apache.hbase" % "hbase-protocol" % "1.1.2" val HbaseClient = "org.apache.hbase" % "hbase-client" % "1.1.2"val HbaseServer = "org.apache.hbase" % "hbase-server" % "1.1.2" val HbaseAnnotations = "org.apache.hbase" % "hbase-annotations" % "1.1.2"
libraryDependencies += BigtableHbase libraryDependencies += BigtableHbaseMapreduce libraryDependencies += CommonsCli libraryDependencies += HadoopCommon libraryDependencies += HadoopMapreduceClientApp libraryDependencies += HbaseCommon libraryDependencies += HbaseProtocol libraryDependencies += HbaseClient libraryDependencies += HbaseServer libraryDependencies += HbaseAnnotations
爪哇版:
openjdk 版本“1.8.0_66-internal” OpenJDK 运行时环境(内部版本 1.8.0_66-internal-b17) OpenJDK 64 位服务器 VM(内部版本 25.66-b17,混合模式)
alpn 版本:alpn-boot-8.1.3.v20150130
hbase 版本:
2016-02-15 20:45:42,050 INFO [main] util.VersionInfo:HBase 1.1.2 2016-02-15 20:45:42,051 INFO [main] util.VersionInfo:源代码存储库文件:///mnt/ ram/bigtop/bigtop/output/hbase/hbase-1.1.2 revision=Unknown 2016-02-15 20:45:42,051 INFO [main] util.VersionInfo:由 bigtop 于 2015 年 11 月 10 日星期二 19:09:17 UTC 编译2016-02-15 20:45:42,051 INFO [main] util.VersionInfo:来自带有校验和 42e8a1890c700d37485c69a44a3 的源
Hadoop版本:
Hadoop 2.7.1 Subversion https://bigdataoss-internal.googlesource.com/third_party/apache/bigtop -r 2a194d4d838b79460c3ceb892f3c94 44218ba970 Compiled by bigtop on 2015-11-10T18:38Z Compiled with protoc 2.5.0 From source with checksum fc0a1a23fc1868e4d5ee7fa2b28a58a This command使用 /usr/lib/hadoop/hadoop-common-2.7.1.jar 运行