hive2 java连接_Hiveserver2 java远程连接hive

关于Hive的安装和基本配置,在之前已经写过

这次写怎么把hive应用到实际代码开发中

首先要启动hiveserver2服务

启动元数据服务

hive --service metastore &

启动hiveserver2

hive --service hiveserver2 &

启动后,端口分别是9083和10000,

端口10002是HiveServer2 的webui端口

我这里第一次启动的时候,hiveserver2 没有启动起来,

查看日志hive.log

报错信息:

ERROR [main] session.SessionState: Error setting up authorization:

Can not understand the config privilege definition ALL

发现是hive-site.xml配置文件有问题

1、我打开了权限控制

hive.security.authorization.enabled=true

所以需要设置权限的

2、所以需要通过hive-site.xml配置默认权限

hive.security.authorization.createtable.user.grants=user1,user2:select;user3:create

配置完后重新启动hiveserve2, 启动成功啦

然后测试远程连接

bin/beeline -u jdbc:hive2://localhost:10000 admin

0: jdbc:hive2://localhost:10000/db_hive>

说明连接成功

因为admin是超级用户不需要设置密码,如果用普通用户,我们需要设置权限的

问题来了,username和password是什么

这里涉及到hive的用户权限相关

2. hive权限设置:

创建角色:

CREATE ROLE test_role;

GRANT ROLE test_role TO USER mllib;

分配权限给角色:

GRANT CREATE ON DATABASE default TO group test_role;

GRANT SELECT on table authorization_test to group test_role;

GRANT DROP on table authorization_test to group test_role;

GRANT ALL on table authorization_test to group test_role;

分配权限给用户

GRANT CREATE ON DATABASE default TO user admin;

GRANT SELECT on table authorization_test to user admin;

GRANT DROP on table authorization_test to user admin;

GRANT ALL on table authorization_test to user admin;

分配创建数据库的权限

grant create to user admin;

查看权限分配

SHOW GRANT user admin ON DATABASE default;

SHOW GRANT group test_role ON DATABASE default;

删除权限

revoke all on database spark from user mllib;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值