Exception in thread "main" java.lang.RuntimeException: java.net.ConnectException: Call From admin1/1

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Victory_Lei/article/details/81839403

1:安装好hive,准备启动的时候出现下面的错误(由于hive是基于Hadoop的,所以必须先将你的集群启动起来,我就是没有启动集群,直接启动hive导致的错误):

Logging initialized using configuration in jar:file:/home/hadoop/apps/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties Exception in thread "main" java.lang.RuntimeException: java.net.ConnectException: Call From admin1/192.168.1.21 to admin1:9000 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)
 at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:677) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) 
at org.apache.hadoop.util.RunJar.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: java.net.ConnectException: Call From admin1/192.168.1.21 to admin1:9000 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:791) 
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:731) 
at org.apache.hadoop.ipc.Client.call(Client.java:1473) 
at org.apache.hadoop.ipc.Client.call(Client.java:1400) 
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232) 
at com.sun.proxy.$Proxy17.getFileInfo(Unknown Source) 
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:752)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187) 
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102) 
at com.sun.proxy.$Proxy18.getFileInfo(Unknown Source) 
at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:1977) 
at org.apache.hadoop.hdfs.DistributedFileSystem$18.doCall(DistributedFileSystem.java:1118) 
at org.apache.hadoop.hdfs.DistributedFileSystem$18.doCall(DistributedFileSystem.java:1114)
at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) 
at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1114) 
at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1400) 
at org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir(SessionState.java:596) 
at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:554) 
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:508)

2:启动你的集群,然后再启动你的hive再次尝试:

[hadoop@admin1 apache-hive-1.2.1-bin]$ start-dfs.sh 
Starting namenodes on [admin1]
admin1: starting namenode, logging to /home/hadoop/apps/hadoop-2.6.4/logs/hadoop-hadoop-namenode-admin1.out
admin2: starting datanode, logging to /home/hadoop/apps/hadoop-2.6.4/logs/hadoop-hadoop-datanode-admin2.out
admin4: starting datanode, logging to /home/hadoop/apps/hadoop-2.6.4/logs/hadoop-hadoop-datanode-admin4.out
admin3: starting datanode, logging to /home/hadoop/apps/hadoop-2.6.4/logs/hadoop-hadoop-datanode-admin3.out
Starting secondary namenodes [admin1]
admin1: starting secondarynamenode, logging to /home/hadoop/apps/hadoop-2.6.4/logs/hadoop-hadoop-secondarynamenode-admin1.out
[hadoop@admin1 apache-hive-1.2.1-bin]$ start-yarn.sh 
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/apps/hadoop-2.6.4/logs/yarn-hadoop-resourcemanager-admin1.out
admin4: nodemanager running as process 1462. Stop it first.
admin2: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.6.4/logs/yarn-hadoop-nodemanager-admin2.out
admin3: nodemanager running as process 1430. Stop it first.

3:启动完集群以后再次启动hive的时候依旧还报错,不过是新的错误,如下所示,解决方法见下篇

[hadoop@admin1 ~]$ rm apps/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 
[hadoop@admin1 ~]$ cd apps/apache-hive-1.2.1-bin/lib/
[hadoop@admin1 lib]$ cp jline-2.12.jar ~/apps/hadoop-2.6.4/share/hadoop/yarn/lib/

这是因为hadoop中的jline-0.9.94.jar包与hive中的jar包的版本不一致导致而成的,这就是为什么启动集群还不能打开hive的原因。

还要一种可能或许是因为没有打开mysql服务引起的吧!

猜你喜欢

转载自blog.csdn.net/Victory_Lei/article/details/81839403