哪个用户正在连接到直线?
Which user is connecting to beeline?
当我连接到直线数据库时,我不需要输入用户名和密码,只需按回车键就可以访问数据库。
但是当我想写入数据库时,我得到了一个权限被拒绝的错误:
Error: java.io.IOException: org.apache.hadoop.security.AccessControlException: Permission denied: user=hive, access=READ, inode="/apps/hive/warehouse
我会知道我应该使用哪个 default user
连接到我的数据库以便向其添加策略。
我以为是蜂巢,看来不是。
尝试以下两种方法之一。
- 使用 hadoop 用户
登录
- 授予 /apps/hive/warehouse 文件夹的完全权限
当您连接时,beeline 需要一个用户帐户
beeline -u 'url' -n username
使用 hdfs dfs -ls
查找表权限(假设您没有使用 Sentry 或 Ranger 来管理权限)
无论如何,您都不要使用beeline来添加权限。默认情况下,假设您启用了 ACL,它只是使用 chmod
/ chown
的 HDFS user/group 权限。
当我连接到直线数据库时,我不需要输入用户名和密码,只需按回车键就可以访问数据库。
但是当我想写入数据库时,我得到了一个权限被拒绝的错误:
Error: java.io.IOException: org.apache.hadoop.security.AccessControlException: Permission denied: user=hive, access=READ, inode="/apps/hive/warehouse
我会知道我应该使用哪个 default user
连接到我的数据库以便向其添加策略。
我以为是蜂巢,看来不是。
尝试以下两种方法之一。
- 使用 hadoop 用户 登录
- 授予 /apps/hive/warehouse 文件夹的完全权限
当您连接时,beeline 需要一个用户帐户
beeline -u 'url' -n username
使用 hdfs dfs -ls
查找表权限(假设您没有使用 Sentry 或 Ranger 来管理权限)
无论如何,您都不要使用beeline来添加权限。默认情况下,假设您启用了 ACL,它只是使用 chmod
/ chown
的 HDFS user/group 权限。