【hive & Hadoop】踩坑 记录
平台部署知识
本文记录的配置 hive Hadoop 时可能会出现的问题以及解决方案。
目录
文章目录
- [【hive & Hadoop】踩坑 记录](#【hive & Hadoop】踩坑 记录)
Hive记录
在这类您将可以查询到 hive 相关的异常信息!
hive 启动报错 Permission denied Unable to determine Hadoop version information.
本次发生的异常信息,如果出现了类似下面的错误信息,则可能可以在本章找到解决方案!
/opt/apache-hive-2.3.9/bin/hive: line 247: /tmp/gunan/stderr: Permission denied
Unable to determine Hadoop version information.
'hadoop version' returned:
Hadoop 2.7.7 Subversion Unknown -r c1aad84bd27cd79c3d1a7dd58202a8c3ee1ed3ac Compiled by stevel on 2018-07-18T22:47Z Compiled with protoc 2.5.0 From source with checksum 792e15d20b12c74bd6f19a1fb886490 This command was run using /opt/hadoop-2.7.7/share/hadoop/common/hadoop-common-2.7.7.jar
原因解释
Hive在尝试访问/tmp/gunan/stderr
时遇到了Permission denied
错误。这个错误通常意味着运行Hive的用户没有足够的权限来写入/tmp/gunan/stderr
文件或目录。同时,错误消息还提到无法确定Hadoop的版本信息,但这可能是由于Hive无法正确执行hadoop version
命令造成的。
本次的解决方案
检查目录权限:
首先,您需要确保/tmp/gunan/目录存在,并且运行Hive的用户有足够的权限来在其中创建和写入文件。您可以使用以下命令来检查和更改权限:
# 检查目录是否存在
ls -ld /tmp/gunan/
# 如果目录不存在,创建它
mkdir -p /tmp/gunan/
# 更改目录的权限,使Hive用户有读写权限
chown -R hive:hive /tmp/gunan/
chmod -R 755 /tmp/gunan/
请将hive:hive替换为实际运行Hive的用户和组。
检查Hadoop安装:
由于Hive依赖于Hadoop,您需要确保Hadoop已经正确安装并且hadoop命令可以在Hive的上下文中执行。您可以尝试手动运行hadoop version来检查是否能正确获取版本信息。
/opt/hadoop-2.7.7/bin/hadoop version
如果这个命令成功执行并返回了Hadoop的版本信息,那么说明Hadoop的安装和配置是正确的。如果命令执行失败,您可能需要检查Hadoop的配置和环境变量。
检查Hive配置:
检查Hive的配置文件(如hive-site.xml),确保其中关于Hadoop的路径和配置是正确的。特别是检查hadoop.home.dir
属性,它应该指向Hadoop的安装目录。
最终发现是缺少此配置项目!!!
本文章中的数据不全,随着时间的推移,可能会有更多的踩坑被记录下来,您可以前往:
https://www.lingyuzhao.top/?/linkController=/articleController&link=-77262618
查阅最新的更新!