配置单元访问问题-无法在没有写访问权限的情况下访问配置单元cli

qlckcl4x  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(253)

我是hadoop和hive的新手,所以这个问题可能太简单了
我使用hadoop作为非管理员用户,也就是说,我不知道hdfs、root或超级用户密码。我的目标是只查询配置单元表,并可能做一些简单的分析,但不写入hdfs或创建任何新表。

Logging initialized using configuration in file:/etc/hive/2.3.2.0-2950/0/hive-log4j.properties
Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.security.AccessControlException: Permission denied: user=b001195, access=WRITE, inode="/user/b001195":hdfs:hdfs:drwxr-xr-x
    at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:319)

我可以看到这个错误说明这个用户没有对hdfs的写访问权。但我不想写任何东西。有谁能建议我可以通过我的访问级别进行哪些更改来删除此问题吗?
事先谢谢你的帮助。

r3i60tvu

r3i60tvu1#

使用以下命令查找具有777权限的hdfs目录(/tmp):

hdfs dfs -ls /

找到该目录后,将以下内容添加到连接到配置单元的命令中:

--hiveconf hive.exec.scratchdir=<DIRECTORY FOUND IN PREVIOUS STEP>
fsi0uk1n

fsi0uk1n2#

如果你在kerberized环境中,你必须用你的用户名在kerberize数据库中创建主体,并且你必须打开一个票证,
笔记
你需要kerberos管理员权限。
参考文献:
https://web.mit.edu/kerberos/krb5-1.12/doc/admin/admin_commands__/kadmin_local.html
那么,您可以很好地进入hadoop环境,但要读取/写入/执行hadoop目录,您必须:
是目录的所有者
在该目录的组中
目录必须授予其他组权限
加入hadoop超级用户组(你没有提到)
根据我使用hadoop、linux甚至windows服务器的经验,大多数问题都与权限问题有关。
我想补充一下我的话:)
当我们生活在一个我们不需要任何钥匙、锁、门、保险箱、密码、用户权限或任何与安全相关的浪费时间/金钱的障碍的世界时,我们可以说我们生活在一个完美的社会

相关问题