CDH中的Hive文件系统权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CDH中的Hive文件系统权限相关的知识,希望对你有一定的参考价值。

参考技术A 翻译: https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_filesystem_perm.html
版本: 5.14.2

Hive数据存储在HDFS中,通常位于/user/hive/warehouse下 。如果/user/hive and /user/hive/warehouse 目录尚不存在,则需要创建目录。确保这个位置(或者你指定的任何路径 hive.metastore.warehouse.dir )存在并且可以由您希望创建表的用户写入。

重要:

Cloudera建议将Hive仓库目录的权限设置为 1777 ,让所有用户都可以访问 。这允许用户创建和访问他们的表,但是阻止不了他们删除其他用户的表。

另外,每个提交查询的用户都必须有一个HDFS主目录。 / tmp目录 (在本地文件系统上)必须是可写的,因为Hive广泛使用它。

HiveServer2 Impersonation 允许用户以连接用户的身份执行查询并访问HDFS文件。

如果您未启用impersonation,HiveServer2默认执行所有Hive任务作为启动Hive服务器的用户; 对于使用Kerberos身份验证的群集,这是映射到与HiveServer2一起使用的 Kerberos主体 的ID 。设置权限 1777 如上所述,允许此用户访问Hive仓库目录。

您可以 在服务器和客户端上 设置更改此默认行为hive.metastore.execute.setugi 为true。此设置会使Metastore服务器使用客户端的用户和组权限。

Error+opening+hive+file+system.hive啥意思?

参考技术A

这个错误通常表示 Hive 文件系统无法打开,可能是由于以下原因之一:

    文件系统没有正确配置。请检查文件系统的配置是否正确,并确保 Hive 可以正确访问文件系统。

    文件系统权限问题。请确保 Hive 能够访问文件系统,并且具有足够的权限读取和写入数据。

    文件系统中的文件出现了问题。请检查文件系统中的文件是否存在或已损坏,并尝试修复或重新创建文件。
    为了解决这个问题,可以尝试以下方法:

    检查文件系统的配置。请确保文件系统已正确配置,并确保 Hive 可以正确访问文件系统。可以通过检查 Hive 的日志文件来查看是否有任何文件系统访问错误。

    检查文件系统的权限。请确保 Hive 可以访问文件系统,并且具有足够的权限读取和写入数据。可以通过检查文件系统的权限来查看是否为当前用户提供了足够的访问权限。

    检查文件系统中的文件。请确保文件系统中的文件存在并且没有损坏。可以尝试重新创建文件或从备份中恢复文件。



参考技术B

这个错误通常表示Hive无法打开文件系统的元数据数据库,即Hive Metastore。可能的原因是:

    元数据数据库的连接配置不正确。

    元数据数据库正在进行维护或已经关闭。

    元数据数据库所在的文件系统没有足够的权限访问。

    元数据数据库已经损坏或丢失。
    要解决这个问题,可以尝试以下步骤:

    检查Hive配置文件中的元数据数据库连接配置是否正确。特别是,检查数据库的URL、用户名和密码是否正确。

    确保元数据数据库正在运行,并且没有被关闭或维护。

    检查元数据数据库所在的文件系统的权限,并确保Hive用户有足够的权限访问它。

    如果元数据数据库已经损坏或丢失,可以尝试使用Hive提供的命令重新创建它。例如,可以使用" schematool -initSchema "命令来初始化一个新的元数据数据库。

以上是关于CDH中的Hive文件系统权限的主要内容,如果未能解决你的问题,请参考以下文章

CDH大数据平台 17Cloudera Manager Console之Sentry权限hive测试(markdown新版)

spark+hive在CDH5.13.1环境下基本使用

hive-1.1.0-cdh5.6.0手册(一)

hive启用sentry

cdh权限测试示例

CDH Sentry 管理Hive鉴权