在bigtable上启动mapreduce作业时堆栈跟踪:exitcodeexception exitcode=1

lsmd5eda  于 2021-06-09  发布在  Hbase
关注(0)|答案(2)|浏览(257)

我们正在使用googlecloudbigtable来处理我们的大数据。当我运行mapreduce作业时,我组装了一个jar并运行它,现在我得到了以下错误:
应用程序应用程序\u 1451577928704 \u 0050失败2次,原因是appattempt的am容器\u 1451577928704 \u 0050 \u000002已退出,退出代码:1有关更详细的输出,请检查应用程序跟踪page:http://censored:8088/cluster/app/application_1451577928704_0050then,单击指向每次尝试日志的链接。诊断:容器启动异常。容器id:container\u e02\u 1451577928704\u 0050\u 02\u000001退出代码:1堆栈跟踪:exitcodeexception exitcode=1:at 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.run(futuretask。java:266)位于java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor。java:1142)在java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor。java:617)在java.lang.thread.run(线程。java:745)容器退出,退出代码为非零,尝试失败。应用程序失败。
当我登录查看workers节点的日志时,我看到了以下错误:
2016-02-15 02:59:54106信息[main]org.apache.hadoop.mapreduce.v2.app.mrappmaster:为应用程序appattempt\u 1451577928704\u 0050\u000001 2016-02-15 02:59:54294警告[main]org.apache.hadoop.util.nativecodeloader:无法为您的平台加载本机hadoop库。。。使用内置java类(如适用)2016-02-15 02:59:54319 info[main]org.apache.hadoop.mapreduce.v2.app.mrappmaster:使用令牌执行:2016-02-15 02:59:54319 info[main]org.apache.hadoop.mapreduce.v2.app.mrappmaster:种类:yarn\u am\u rm\u令牌,服务:,ident:(appattemptid{application\u id{id:50 cluster\u timestamp:1451577928704}attemptid:1}keyid:-*****)2016-02-15 02:59:54424 info[main]org.apache.hadoop.mapreduce.v2.app.mrappmaster:使用mapred newapicommitter。2016-02-15 02:59:54755 warn[main]org.apache.hadoop.hdfs.shortcircuit.domainsocketfactory:无法使用短路本地读取功能,因为无法加载libhadoop。2016-02-15 02:59:54855 info[main]org.apache.hadoop.mapreduce.v2.app.mrappmaster:outputcommitter set in config null 2016-02-15 02:59:54911 info[main]org.apache.hadoop.service.abstractservice:service org.apache.hadoop.mapreduce.v2.app.mrappmaster在初始化状态下失败;原因:org.apache.hadoop.yarn.exceptions.yarnruntimeexception:java.lang.classcastedexception:org.apache.xerces.dom.deferredelementnsimpl无法转换为org.w3c.dom.text org.apache.hadoop.yarn.exceptions.yarnruntimeexception:java.lang.classcastedexception:org.apache.xerces.dom.deferredelementnsimpl无法转换为org.w3c.dom.textorg.apache.hadoop.mapreduce.v2.app.mrappmaster$1.call(mrappmaster。java:478)在org.apache.hadoop.mapreduce.v2.app.mrappmaster$1.call(mrappmaster。java:458)在org.apache.hadoop.mapreduce.v2.app.mrappmaster.callwithjobclassloader(mrappmaster。java:1560)在org.apache.hadoop.mapreduce.v2.app.mrappmaster.createoutputcommitter(mrappmaster。java:458)在org.apache.hadoop.mapreduce.v2.app.mrappmaster.serviceinit(mrappmaster。java:377)在org.apache.hadoop.service.abstractservice.init(abstractservice。java:163)在org.apache.hadoop.mapreduce.v2.app.mrappmaster$4.run(mrappmaster。java:1518)位于java.security.accesscontroller.doprivileged(本机方法)javax.security.auth.subject.doas(主题。java:422)在org.apache.hadoop.security.usergroupinformation.doas(usergroupinformation。java:1657)在org.apache.hadoop.mapreduce.v2.app.mrappmaster.initandstartapmaster(mrappmaster。java:1515)位于org.apache.hadoop.mapreduce.v2.app.mrappmaster.main(mrappmaster.com)。java:1448)原因:java.lang.classcastexception:org.apache.xerces.dom.deferredelementnsimpl不能强制转换到org.apache.hadoop.conf.conf.loadresource(configuration)中的org.w3c.dom.text。java:2603)在org.apache.hadoop.conf.configuration.loadresources(配置。java:2502)在org.apache.hadoop.conf.configuration.getprops(配置。java:2405)在org.apache.hadoop.conf.configuration.get(配置。java:981)在org.apache.hadoop.conf.configuration.gettrimmed(配置。java:1031)在org.apache.hadoop.conf.configuration.getboolean(配置。java:1432)位于org.apache.hadoop.hbase.hbaseconfiguration.checkdefaultsversion(hbaseconfiguration)。java:67)在org.apache.hadoop.hbase.hbaseconfiguration.addhbaseresources(hbaseconfiguration)。java:81)在org.apache.hadoop.hbase.hbaseconfiguration.create(hbaseconfiguration。java:96)在org.apache.hadoop.hbase.hbaseconfiguration.create(hbaseconfiguration。java:105)在org.apache.hadoop.hbase.mapreduce.tableoutputformat.setconf(tableoutputformat。java:184)在org.apache.hadoop.util.reflectionutils.setconf(reflectionutils。java:76)位于org.apache.hadoop.util.reflectionutils.newinstance(reflectionutils。java:136)在org.apache.hadoop.mapreduce.v2.app.mrappmaster$1.call(mrappmaster。java:474) ... 还有11个
我试了一个旧jar,它运行得非常好,我不知道为什么新jar不能工作-没有改变任何东西。
请告知?
谢谢!
更新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 commoncli=“commons cli”%“commons cli”%“1.2”val hadoopcommon=“org.apache.hadoop”%“hadoop common”%“2.7.1”val hadoopmapreduceclientapp=“org.apache.hadoop”%“hadoop mapreduce客户端应用程序”%”“2.7.1”val hbasecommon=“org.apache.hbase”%”“hbase公用”%”“1.1.2”val hbaseprotocol=“org.apache.hbase”%”“hbase协议”%”“1.1.2”val hbaseclient=“org.apache.hbase”%”“hbase客户端”%”“1.1.2”val hbaseserver=“org.apache.hbase”%”“hbase服务器”%”“1.1.2”val hbaseannotations=“org.apache.hbase”%”“hbase注解”%”“1.1.2”
librarydependencies+=bigtablehbase librarydependencies+=bigtablehbasemapreduce librarydependencies+=commoncli librarydependencies+=hadoopcommon librarydependencies+=hbasecol librarydependencies+=hbaseclient librarydependencies+=hbaseserverlibrarydependencies+=hbaseannotations
java版本:
openjdk版本“1.8.0\U 66-internal”openjdk运行时环境(build 1.8.0\U 66-internal-b17)openjdk 64位服务器虚拟机(build 25.66-b17,混合模式)
alpn版本:alpn-boot-8.1.3.v20150130
hbase验证:
2016-02-15 20:45:42050 info[main]util.versioninfo:hbase 1.1.2 2016-02-15 20:45:42051 info[main]util.versioninfo:source code repository file:///mnt/ram/bigtop/bigtop/output/hbase/hbase-1.1.2 revision=unknown 2016-02-15 20:45:42051 info[main]util.versioninfo:bigtop于11月10日星期二19:09:17 utc 2015-02-15 20:45:42编译,051 info[main]util.versioninfo:来自校验和为42e8a1890c700d37485c69a44a3的源
hadoop版本:
hadoop 2.7.1 subversionhttps://bigdataoss-internal.googlesource.com/third_party/apache/bigtop -r 2a194d4d838b79460c3ceb892f3c94 44218ba970由bigtop在2015-11-10t18:38z上编译,使用protoc 2.5.0从源代码处编译,校验和为fc0a1a23fc1868e4d5ee7fa2b28a58a此命令使用/usr/lib/hadoop/hadoop-common-2.7.1.jar运行

rqmkfv5c

rqmkfv5c1#

我在我的案子里发现了问题!hbase.client.connection.impl属性中的hbase-site.xml略有不同。

<property>
    <name>hbase.client.connection.impl</name>
    <value>com.google.cloud.bigtable.hbase1_1.BigtableConnection</value>
</property>

我是在提取和比较了两个jar之后得出这个结论的。

cl25kdpy

cl25kdpy2#

bigtable客户机jar的较新版本包括grpcjar的较新版本。较新版本的grpcjar依赖于较新版本的alpn引导或openssl。除了新版本的bigtable jar之外,您可能还需要新版本的alpn引导jar。不幸的是,jetty团队没有为bdutil所依赖的java7制作新的alpn引导jar。
我们正在积极地从bdutil迁移到dataproc,后者是google云hadoop管理的更新版本。dataproc使用java8,与bdutil没有相同的问题。我们还需要解决一些问题。
更多信息请访问:
https://cloud.google.com/dataproc/examples/cloud-bigtable-example 以及https://github.com/grpc/grpc-java/blob/master/security.md

相关问题