Created 04-05-2017 01:59 AM
I install a hdp cluster with ambari 2.4.2 and hdp 2.5.3
After I install.I found that I can access hive using hive command on one node, but could not it goes wrong:
$ hive Logging initialized using configuration in file:/etc/hive/2.5.3.0-37/0/hive-log4j.properties Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:543) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:625) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.util.RunJar.run(RunJar.java:233) at org.apache.hadoop.util.RunJar.main(RunJar.java:148) Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1551) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:89) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:135) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:107) at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:3252) at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3271) at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:524) ... 8 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1549) ... 14 more Caused by: MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused) at org.apache.thrift.transport.TSocket.open(TSocket.java:226) at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.open(HiveMetaStoreClient.java:446) at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:244) at org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.<init>(SessionHiveMetaStoreClient.java:74) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1549) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:89) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:135) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:107) at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:3252) at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3271) at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:524) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:625) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.util.RunJar.run(RunJar.java:233) at org.apache.hadoop.util.RunJar.main(RunJar.java:148) Caused by: java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.thrift.transport.TSocket.open(TSocket.java:221) ... 22 more ) at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.open(HiveMetaStoreClient.java:492) at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:244) at org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.<init>(SessionHiveMetaStoreClient.java:74) ... 19 more
I don't know what to do...
I try to add hdfs proxy privilegs to every node of the cluster,but have no effect.
Created 04-05-2017 02:10 AM
Please check the "templeton.hive.properties" values from your "Advanced webhcat-site" in ambari UI.
Then verify if you are able to connect to the host/port defined there using telnet?
Example:templeton.hive.properties = hive.metastore.local=false,hive.metastore.uris=thrift://erie1.example.com:9083,hive.metastore.sasl.enabled=false,hive.metastore.execute.setugi=true,hive.metastore.warehouse.dir=/apps/hive/warehouse
So try checking the port is actually opened and reachable from remote host? Example:
telnet erie1.example.com 9083
.
If you are not able to access the mentioned host /port from remote client then please check your firewall (iptables) rules and make the port accessible from remote host.
Created 04-06-2017 12:28 AM
I am sure that telent the megastore address and port , shows me is OK
Created 04-06-2017 03:32 AM
In addition to other answers. you may want to run hive shell in DEBUG mode to understand what's going on
hive --hiveconf hive.root.logger=DEBUG,console
Hope this helps.
Created 04-07-2017 05:54 AM
This is the logs 。
Created 04-07-2017 06:28 PM
Logs shows connection refused while connecting to metastore port 9083
thrift://hadoop2.test.yunwei.puppet.dh:9083 17/04/07 13:46:47 [main]: WARN hive.metastore: Failed to connect to the MetaStore Server... org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused)
Please verify if port 9083 is in LISTEN status on host hadoop2.test.yunwei.puppet.dh. Connection refused usually mean that metastore service is not running on that host(may be service is not up on the host).
Created 04-08-2017 06:26 AM
Metastore of my cluster is running on node fo hadoop1.xxx ,I can only access hive client from hadoop3.xxx,but could not access from other nodes.
I can
telnet hadoop1.txxx 9083
but could not start hive client .I am sure the process is live and the network is ok.
Created 04-08-2017 06:35 AM
Oh, I see the problem. I had move metastore from hadoop2.xxx to hadoop1.xxx,but why the configure not changed?
Created 04-08-2017 06:36 AM
Please refresh the clients from ambari on the host where you are not able to do hivecli. Or copy hive-site.xml from the working host to the problem host.
Created 04-09-2017 12:27 AM
yes ,I can copy or change the configure file manually,But I think the ambari should do this for me? I had change the configure in ambari and restart hive service many times