博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
eclipse远程连接hive
阅读量:5144 次
发布时间: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

你可能感兴趣的文章
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
tmux的简单快捷键
查看>>
Vue_(组件通讯)子组件向父组件传值
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Android 官方新手指导教程
查看>>
安装 Express
查看>>
Weka中数据挖掘与机器学习系列之基本概念(三)
查看>>
leetcode-Sort List
查看>>
中文词频统计
查看>>
Postman-----如何导入和导出
查看>>
【Linux】ping命令详解
查看>>
8、RDD持久化
查看>>
第二次团队冲刺--2
查看>>
pair的例子
查看>>
uva 387 A Puzzling Problem (回溯)
查看>>
Oracle中包的创建
查看>>
关于PHP会话:session和cookie
查看>>
利用IP地址查询接口来查询IP归属地
查看>>
Hbuild在线云ios打包失败,提示BuildConfigure Failed 31013 App Store 图标 未找到 解决方法...
查看>>