我刚刚开始使用ApacheHive,我正在使用本地的UbuntuBox 12.04,以及Hive0.10.0和Hadoop1.1.2。
遵循apache网站上的官方“入门”指南,我现在只能使用hadoop命令来创建配置单元元存储,使用指南中的命令:
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
错误是 mkdir: failed to create /user/hive/warehouse
hive是否需要特定模式下的hadoop?我知道我不需要对我的hadoop安装做太多的工作,只需要更新javahome,使其处于独立模式。我确信hadoop本身正在运行,因为我运行的是hadoop安装附带的pi示例。
另外,要创建的另一个命令 /tmp
显示 /tmp
目录已存在,因此无法重新创建,并且 /bin/hadoop fs -ls
正在列出当前目录。
那么,我该怎么处理呢?
10条答案
按热度按时间xbp102n01#
如果您正在运行linux check(在hadoop core-site.xml中)data directory&permission,那么看起来您保留了默认值,即/data/tmp和im大多数情况下将获得root权限。。更改xml配置文件,删除/data/tmp并运行fs format(在修改核心xml配置后运行oc)
5ssjco0h2#
在spark配置中设置hadoop属性时,在它们前面加上前缀
spark.hadoop
.因此设置
这适用于旧版本的spark。spark 2.0.0中的属性已更改
0g0grzrc3#
这似乎是一个权限问题。您有权访问根文件夹/?请尝试以下选项-
如果有帮助,请告诉我们。祝你好运!
huus2vyu4#
运行此命令并尝试创建一个目录,它将在hdfs/user目录中为用户授予完全权限。hadoop fs-chmod-r 755/用户
vwoqyblh5#
我使用macos和自制软件作为包管理器。我必须将hive-site.xml中的属性设置为
cuxqih216#
在本地系统上运行配置单元时,只需添加到~/.hiverc:
可以指定要用作仓库的任何文件夹。显然,任何其他配置单元配置方法都可以(例如hive-site.xml或hive-hiveconf)。
这可能是ambarish hazarnis在说“或在您的主目录中创建仓库”时牢记的。
ecfdbz9o7#
几乎所有的文档示例都有错误的命令。与unix一样,您也需要“-p”标志来创建父目录,除非您已经创建了它们。这个命令行得通。
0qx6xfy68#
为看到同样问题的cloudera cdh用户添加ref的答案。
如果您使用的是cloudera cdh发行版,请确保遵循以下步骤:
单击桌面图标启动cloudera manager(express/enterprise)。
在浏览器中打开cloudera管理器页
启动所有服务
默认情况下,cloudera创建了/user/hive/warehouse文件夹。只是yarn和hdfs可能无法启动并运行以访问此路径。
2mbi3lxu9#
我建议使用hive的更高版本,即1.1.0版本,0.10.0版本非常有缺陷。
ocebsuys10#
虽然这是一个简单的权限问题,我在上面的评论中用sudo解决了,但有几个注意事项:
在home目录中创建也可以,但是您可能需要更新metastore路径的配置单元设置,我认为默认为/user/hive/warehouse
我在使用hive shell时遇到另一个create table语句错误,错误如下:
配置单元>创建表戳(foo int,bar string);失败:元数据出错:metaexception(message:got exception:java.io.filenotfoundexception file:/user/hive/warehouse/pokes不存在。)失败:执行错误,从org.apache.hadoop.hive.ql.exec.ddltask返回代码1
这是另一个权限问题,您必须创建一个名为“hive”的组,然后将当前用户添加到该组,并将/user/hive/warehouse的所有权更改到该组。在那之后,它就起作用了。有关详细信息,请访问以下链接:
http://mail-archives.apache.org/mod_mbox/hive-user/201104.mbox/%3cbanlktinq4xwjeawu6zgeyzpfdurqf+j8bw@mail.gmail.com%3e