哪个用户正在连接到直线?

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 连接到我的数据库以便向其添加策略。

我以为是蜂巢,看来不是。

尝试以下两种方法之一。

  1. 使用 hadoop 用户
  2. 登录
  3. 授予 /apps/hive/warehouse 文件夹的完全权限

当您连接时,beeline 需要一个用户帐户

beeline -u 'url' -n username

使用 hdfs dfs -ls 查找表权限(假设您没有使用 Sentry 或 Ranger 来管理权限)

无论如何,您都不要使用beeline来添加权限。默认情况下,假设您启用了 ACL,它只是使用 chmod / chown 的 HDFS user/group 权限。