本来运行好好的Hive,突然就出现了如下错误:
FAILED: Hive Internal Error: java.lang.RuntimeException(java.net.ConnectException: Call to liaozhongmin/114.215.83.182:9000 failed on connection exception: java.net.ConnectException: Connection refused) java.lang.RuntimeException: java.net.ConnectException: Call to liaozhongmin/114.215.83.182:9000 failed on connection exception: java.net.ConnectException: Connection refused at org.apache.hadoop.hive.ql.Context.getScratchDir(Context.java:170) at org.apache.hadoop.hive.ql.Context.getMRScratchDir(Context.java:210) at org.apache.hadoop.hive.ql.Context.getMRTmpFileURI(Context.java:267) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:1112) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:7524) at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:243) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:431) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:336) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:909) at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:258) at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:215) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:406) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:689) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:557) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.util.RunJar.main(RunJar.java:156) Caused by: java.net.ConnectException: Call to liaozhongmin/114.215.83.182:9000 failed on connection exception: java.net.ConnectException: Connection refused at org.apache.hadoop.ipc.Client.wrapException(Client.java:1136) at org.apache.hadoop.ipc.Client.call(Client.java:1112) at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:229) at $Proxy6.getProtocolVersion(Unknown Source) at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:411) at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:135) at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:276) at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:241) at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:100) at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1411) at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66) at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1429) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:254) at org.apache.hadoop.fs.Path.getFileSystem(Path.java:187) at org.apache.hadoop.hive.ql.Context.getScratchDir(Context.java:163) ... 18 more Caused by: java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:511) at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:481) at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:453) at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:579) at org.apache.hadoop.ipc.Client$Connection.access$2100(Client.java:202) at org.apache.hadoop.ipc.Client.getConnection(Client.java:1243) at org.apache.hadoop.ipc.Client.call(Client.java:1087) ... 31 more
找了半天才发现是Hadoop的NameNode挂掉了,使用jps查看一下当前进程发现:
[root@liaozhongmin bin]# jps 16930 RunJar 19317 DataNode 17754 RunJar 21417 HQuorumPeer 19670 Jps 19689 TaskTracker 19553 JobTracker [root@liaozhongmin bin]#
果断就是Hadoop的问题。
解决方案就是重启Hadoop!
重启后我们再次进入Hive直行命令,另外一个问题又来了,如下:
java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /tmp/hive-root/hive_2015-01-25_22-21-12_428_8270030063345870509. Name node is in safe mode.
呵呵,这个问题我就不多说了!