hive编程-JDBC方式连接hive

本文介绍了如何使用JDBC方式连接Hive2.2.0,包括启动Hiveserver2的两种方法以及解决权限问题的配置步骤。在遇到'User: mwq is not allowed to impersonate root'错误时,需要修改core-site.xml,增加proxyuser配置以允许指定用户进行代理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

博主使用JDBC方式进行hive编程,hive环境为hive2.2.0,需要开启hiveserver模式,自带的server模式是hiveserver2,启动命令如下:

(1)hive --service hiveserver2  (这种方式会使得hiveserver一直占用命令行,需要用Ctrl+C强制中断命令)

(2)hive --service hiveserver2 &  (这个命令会使得hiveserver以后台进程的方式运行(敲个回车就可以回到linux命令行),通过kill -9 进程号实现关闭,例如hiveserver2的进程号为30314,则关闭命令为 kill -9 30314)

JDBC编程:

maven管理项目,需要导入的jar包如下:


JDBC代码:


其中,user和password为hive中hive-site.xml中数据库的用户民和密码

此时运行可能会出现如下问题:Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: mwq is not allowed to impersonate root (state=08S01,code=0)

此时因为当前hadoop用户的权限不足,需要对hadoop的core-site.xml进行配置

解决方式:在hadoop的配置文件core-site.xml增加如下配置,重启hdfs,其中“xxx”是连接hadoop的用户,将“xxx”替换成自己的用户名即可,在各节点上都需要进行此配置

<property>  

     <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值