博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
eclipse远程连接hive
阅读量:5095 次
发布时间:2019-06-13

本文共 2642 字,大约阅读时间需要 8 分钟。

创建项目,添加jar包,hive的s上,所以也需要hadoop的一些jar

 

这个图片是从网上找的,我直接使用的以前hadoop的项目
 
创建测试类,写测试代码
//获取jdbc链接private static Connection getConnection(){Connection conn=null;try {//注册驱动Class.forName("org.apache.hive.jdbc.HiveDriver");conn=DriverManager.getConnection("jdbc:hive2://node4:10000/default");// jdbc:hive://localhost:10000/default} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}
conn=getConnection();//获取链接sbSql.append("select * from ");if(null!=conn){try {statement=conn.createStatement();String tableName="student_1";sbSql.append(tableName);//执行sqlrSet=statement.executeQuery(sbSql.toString());if(null!=rSet){while(rSet.next()){System.out.println(rSet.getString(3));}}

 

 
遇到的问题
1.
在使用eclipse链接hive时,总是报:不能够打开一个连接,time out connection,这个是因为我服务器的防火墙没关闭
 
2.报一下错误,需要配置hadoop-core.xml文件
Caused by: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): Unauthorized connection for super-user: root from IP 192.168.177.124
添加如下配置
hadoop.proxyuser.root.groups
*
hadoop.proxyuser.root.hosts
*
3:
No suitable driver found for jdbc:hive://node4:10000/default
这个异常是因为连接的uri导致的:
在1.2以上的版本使用
//注册驱动Class.forName("org.apache.hive.jdbc.HiveDriver");conn=DriverManager.getConnection("jdbc:hive2://node4:10000/default");
在1.2以下的版本使用
//注册驱动Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");conn=DriverManager.getConnection("jdbc:hive://node4:10000/default");
4:有点需要注意的是这个链接的是hive,并不是mysql,所以在链接的uri里链接的是
default
 
5:这个异常是因为,在不安全的模式中启动hive,   hive.metastore.execute.setugi这个属性设置为true将导致metastore执行DFS操作使用据客户的用户和组权限
java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: org.apache.hadoop.security.AccessControlException Permission denied: user=anonymous, access=WRITE, inode="/opt/hive/warehouse":root:supergroup:drwxr-xr-x
所以
    一种 是修改hive-site.xml配置文件
hive.metastore.execute.setugi
false
在不安全的模式中,将这个属性设置为true将导致metastore执行DFS操作使用据客户的用户和组权限。请注意,这个属性必须设置客户端和服务器端。进一步指出,最好的努力。如果客户端将其设置为真,服务器将它设置为false,客户端设置将被忽略。
    
 是,使用安全模式启动hive 
 
 
6:在创建表的时候,如果有定义分区,要先定义分区,否则就会抛出异常
FAILED: ParseException line 1:164 cannot recognize input near 'partitioned' '(' 'sexual' in serde properties specification
 

转载于:https://www.cnblogs.com/zhangXingSheng/p/6223444.html

你可能感兴趣的文章
打印插件
查看>>
vue、rollup、sass、requirejs组成的vueManager
查看>>
MySQL授权用户登录访问指定数据库
查看>>
【转】Linux下的多线程编程
查看>>
一个优秀的研发团队应该具备什么特征
查看>>
Jenkins问题汇总
查看>>
QT 项目文件介绍
查看>>
tr69c 调试报错检查
查看>>
dl,dt,dd标签的使用
查看>>
Linux 查看文件 cat与 more 用法
查看>>
ZOJ 1244
查看>>
一次笔试题目附答案(sql答卷)
查看>>
【转】CSS Nuggest
查看>>
SQL2008"阻止保存要求重新创建表的更改"问题的解决
查看>>
52、[源码]-Spring源码总结
查看>>
Android开发中整合测试注意事项
查看>>
DevExpress ASP.NET v18.2新功能详解(三)
查看>>
查看linux系统版本命令
查看>>
20155302 课堂实践二
查看>>
JavaScript数值类型保留显示小数方法
查看>>