分享

hive 出现java.io.IOException: Bad file descriptor 帮忙分析

ananan36 发表于 2016-5-28 09:20:33 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 4 25831
org.apache.hive.service.cli.HiveSQLException: Failed to open new session: java.l
ang.RuntimeException: java.lang.RuntimeException: java.io.IOException: Bad file
descriptor
        at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:256)
        at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:247)
        at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:5
86)
        at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:192)
        at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)
        at java.sql.DriverManager.getConnection(DriverManager.java:571)
        at java.sql.DriverManager.getConnection(DriverManager.java:215)
        at huge.JdbcUtils.getConnection(JdbcUtils.java:52)
        at com.nsn.hadoop.thread.mysql.call(mysql.java:46)
        at com.nsn.hadoop.thread.mysql.call(mysql.java:1)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.hive.service.cli.HiveSQLException: Failed to open new sess
ion: java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException
: Bad file descriptor
        at org.apache.hive.service.cli.session.SessionManager.openSession(Sessio
nManager.java:266)
        at org.apache.hive.service.cli.CLIService.openSessionWithImpersonation(C
LIService.java:202)
        at org.apache.hive.service.cli.thrift.ThriftCLIService.getSessionHandle(
ThriftCLIService.java:402)
        at org.apache.hive.service.cli.thrift.ThriftCLIService.OpenSession(Thrif
tCLIService.java:297)
        at org.apache.hive.service.cli.thrift.TCLIService$Processor$OpenSession.
getResult(TCLIService.java:1253)
        at org.apache.hive.service.cli.thrift.TCLIService$Processor$OpenSession.
getResult(TCLIService.java:1238)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
        at org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAdd
ressProcessor.java:56)
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadP
oolServer.java:285)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOExc
eption: Bad file descriptor
        at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessi
onProxy.java:83)
        at org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveS
essionProxy.java:36)
        at org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessio
nProxy.java:63)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInforma
tion.java:1657)
        at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessi
onProxy.java:59)
        at com.sun.proxy.$Proxy12.open(Unknown Source)
        at org.apache.hive.service.cli.session.SessionManager.openSession(Sessio
nManager.java:258)
        ... 12 more
Caused by: java.lang.RuntimeException: java.io.IOException: Bad file descriptor
        at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.jav
a:522)
        at org.apache.hive.service.cli.session.HiveSessionImpl.open(HiveSessionI
mpl.java:137)
        at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessi
onProxy.java:78)
        ... 20 more
Caused by: java.io.IOException: Bad file descriptor
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(FileInputStream.java:272)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:273)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
        at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
        at java.io.InputStreamReader.read(InputStreamReader.java:184)
        at java.io.BufferedReader.fill(BufferedReader.java:154)
        at java.io.BufferedReader.read1(BufferedReader.java:205)
        at java.io.BufferedReader.read(BufferedReader.java:279)
        at org.apache.hadoop.util.Shell$ShellCommandExecutor.parseExecResult(She
ll.java:735)
        at org.apache.hadoop.util.Shell.runCommand(Shell.java:531)
        at org.apache.hadoop.util.Shell.run(Shell.java:456)
        at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:
722)
        at org.apache.hadoop.util.Shell.execCommand(Shell.java:815)
        at org.apache.hadoop.util.Shell.execCommand(Shell.java:798)
        at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSys
tem.java:728)
        at org.apache.hadoop.fs.RawLocalFileSystem.mkOneDirWithMode(RawLocalFile
System.java:486)
        at org.apache.hadoop.fs.RawLocalFileSystem.mkdirsWithOptionalPermission(
RawLocalFileSystem.java:526)
        at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.jav
a:504)
        at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:30
5)
        at org.apache.hadoop.hive.ql.session.SessionState.createPath(SessionStat
e.java:639)
        at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(Sess
ionState.java:578)
        at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.jav
a:508)
        ... 25 more
java.sql.SQLException: Could not establish connection to jdbc:hive2://10.48.178.
206:10000/default: null
        at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:5
94)
        at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:192)
        at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)
        at java.sql.DriverManager.getConnection(DriverManager.java:571)
        at java.sql.DriverManager.getConnection(DriverManager.java:215)
        at huge.JdbcUtils.getConnection(JdbcUtils.java:52)
        at com.nsn.hadoop.thread.mysql.call(mysql.java:46)
        at com.nsn.hadoop.thread.mysql.call(mysql.java:1)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.thrift.transport.TTransportException
        at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTranspor
t.java:132)
        at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
        at org.apache.thrift.transport.TSaslTransport.readLength(TSaslTransport.
java:376)
        at org.apache.thrift.transport.TSaslTransport.readFrame(TSaslTransport.j
ava:453)
        at org.apache.thrift.transport.TSaslTransport.read(TSaslTransport.java:4
35)
        at org.apache.thrift.transport.TSaslClientTransport.read(TSaslClientTran
sport.java:37)
        at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
        at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.ja
va:429)
        at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.ja
va:318)
        at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryPr
otocol.java:219)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
        at org.apache.hive.service.cli.thrift.TCLIService$Client.recv_OpenSessio
n(TCLIService.java:156)
        at org.apache.hive.service.cli.thrift.TCLIService$Client.OpenSession(TCL
IService.java:143)
        at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:5
83)
        ... 11 more


已有(4)人评论

跳转到指定楼层
langke93 发表于 2016-5-28 14:13:25




在 hdfs 配置文件里加入下面配置
docview.gif

回复

使用道具 举报

nextuser 发表于 2016-5-28 14:17:52
可能认证的问题
在Hadoop的core-site.xml中增加配置:
如果用户为hive则下面
[mw_shl_code=bash,true]<property>
<name>hadoop.proxyuser.hive.groups</name>
<value>*</value>
</property>

<property>
<name>hadoop.proxyuser.hive.hosts</name>
<value>*</value>
</property>[/mw_shl_code]

使用超级用户(hadoop)刷新配置:

yarn rmadmin -refreshSuperUserGroupsConfiguration

hdfs dfsadmin -refreshSuperUserGroupsConfiguration

回复

使用道具 举报

starrycheng 发表于 2016-5-28 14:21:47
jdbc:hive2://10.48.178.206:10000/default: null
这是配置的什么,这里可能有问题

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条