Hive(二):获取HiveConnection,及重现获取过程中的某些问题。

一:未创建Maven工程,所需jar包都是自己一一找的,结果碰到许多缺包问题,最后我的lib下包为:

 

二:尝试获取HiveConnection,先附上成功获取HiveConnection的代码:

public class Test01Hive {

	private static String driverName = "org.apache.hive.jdbc.HiveDriver";  
	private static String url = "jdbc:hive2://master:10000/default";  
	private static String user = "hive";  
	private static String password = "xujun";  

	public static void main(String[] args) throws Exception {  
		Class.forName(driverName);  
		Connection conn = DriverManager.getConnection(url, user, password);  
		// org.apache.hive.jdbc.HiveConnection@ebe538
		System.out.println(   conn );
	}  
}

 

问题重现1:

开始定义的 url = "jdbc:hive://master:10000/default";  结果报如下错误:

java.sql.SQLException: No suitable driver found for jdbc:hive://master:10000/default
    at java.sql.DriverManager.getConnection(DriverManager.java:596)
    at java.sql.DriverManager.getConnection(DriverManager.java:215)
    at com.berg.hive.test1.api.Test01Hive.getConn(Test01Hive.java:50)
    at com.berg.hive.test1.api.Test01Hive.main(Test01Hive.java:37)

问题1解决:

将url更改为: url = "jdbc:hive2://master:10000/default";  

问题1解决思路来源:

http://stackoverflow.com/questions/33722139/java-sql-sqlexception-no-suitable-driver-found-for-jdbchive-localhost10000  

 

问题重现2:

org.apache.hive.service.cli.HiveSQLException: Failed to open new session:
java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException
(org.apache.hadoop.security.authorize.AuthorizationException): User: hadoop is not allowed to  impersonate hive
    at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:258)
    at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:249)
    at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:579)
    at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:167)
    at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
    at java.sql.DriverManager.getConnection(DriverManager.java:571)
    at java.sql.DriverManager.getConnection(DriverManager.java:215)
    at com.berg.hive.test1.api.Test01Hive.getConn(Test01Hive.java:50)
    at com.berg.hive.test1.api.Test01Hive.main(Test01Hive.java:38)
Caused by: org.apache.hive.service.cli.HiveSQLException: Failed to open new session:
java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException
(org.apache.hadoop.security.authorize.AuthorizationException): User: hadoop is not allowed to
impersonate hive

问题2解决:进入hadoop安装目录下,然后切换至etc/hadoop即hadoop-2.6.4/etc/hadoop,修改core-site.xml中文件内容,在原文件内容中添加:

    <property>
        <name>hadoop.proxyuser.hadoop.hosts</name>                                               
        <value>*</value>
    </property>

    <property>
            <name>hadoop.proxyuser.hadoop.groups</name>
            <value>*</value>
    </property>

我的修改后是:

<configuration>
	<property> 
        	<name>fs.defaultFS</name> 
        	<value>hdfs://master:9000</value> 
    	</property> 
    	<property> 
        	<name>hadoop.tmp.dir</name> 
        	<value>file:/mysoftware/hadoop-2.6.4/tmp</value>
    	</property>
    	<property>
        	<name>hadoop.native.lib</name>
        	<value>false</value>
    	</property>

	<property>
		<name>hadoop.proxyuser.hadoop.hosts</name>                                               
        	<value>*</value>
	</property>

	<property>
        	<name>hadoop.proxyuser.hadoop.groups</name>
        	<value>*</value>
	</property>

</configuration>

问题2思路解决来源:
http://stackoverflow.com/questions/16582126/getting-e0902-exception-occured-user-oozie-is-not-allowed-to-impersonate-ooz

 

另外几个链接:

1. 重启mysql服务:

http://wwwlouxuemingcom.blog.163.com/blog/static/209747822013411103950266/

2. Could not open connection to jdbc

http://stackoverflow.com/questions/31150678/java-sql-sqlexception-could-not-open-connection-to-jdbchive2-localhost10000

3.Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

http://stackoverflow.com/questions/35449274/java-lang-runtimeexception-unable-to-instantiate-org-apache-hadoop-hive-ql-meta

 

....................

转载于:https://my.oschina.net/gently/blog/683604

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值