Hadoop 配置单元没有与路径文件和文件匹配的文件存在

Hadoop 配置单元没有与路径文件和文件匹配的文件存在,hadoop,hive,Hadoop,Hive,我很难让蜂巢工作。我正在使用Thread运行CDH4.5,所有这些都是从Cloudera的yum-repo安装的。我按照他们的指示设置了配置单元,但由于某些原因,它无法识别本地文件系统上的合法文件 [msknapp@localhost data]$ pwd /home/msknapp/data [msknapp@localhost data]$ ll | grep county_insurance_pp.txt -rw-rw-rw- 1 msknapp msknapp 162537 Jan

我很难让蜂巢工作。我正在使用Thread运行CDH4.5,所有这些都是从Cloudera的yum-repo安装的。我按照他们的指示设置了配置单元,但由于某些原因,它无法识别本地文件系统上的合法文件

[msknapp@localhost data]$ pwd
/home/msknapp/data
[msknapp@localhost data]$ ll | grep county_insurance_pp.txt 
-rw-rw-rw- 1 msknapp msknapp  162537 Jan  5 14:58 county_insurance_pp.txt
[msknapp@localhost data]$ sudo -u hive hive
Logging initialized using configuration in file:/etc/hive/conf.dist/hive-log4j.properties
Hive history file=/tmp/hive/hive_job_log_9e8bf55b-7ec8-4b79-be9b-cc2200a33f91_1795256456.txt
hive> describe count_insurance;                                                             
2014-01-08 02:42:59.000 GMT Thread[main,5,main] java.io.FileNotFoundException: derby.log (Permission denied)
----------------------------------------------------------------
2014-01-08 02:42:59.443 GMT:
 Booting Derby version The Apache Software Foundation - Apache Derby - 10.4.2.0 - (689064): instance a816c00e-0143-6fbb-3f3a-000007a1d270
on database directory /var/lib/hive/metastore/metastore_db  

Database Class Loader started - derby.database.classpath=''
OK
fips    int 
st  string  
stfips  int 
name    string  
a   int 
b   int 
c   int 
d   int 
e   int 
f   int 
total   int 
Time taken: 5.195 seconds
hive> LOAD DATA LOCAL INPATH 'county_insurance_pp.txt' OVERWRITE INTO TABLE count_insurance;
FAILED: SemanticException Line 1:23 Invalid path ''county_insurance_pp.txt'': No files matching path file:/home/msknapp/data/county_insurance_pp.txt
我试图加载的文件确实存在。当我在load语句中使用绝对路径时,也会出现同样的异常

另一方面,我仍然不知道为什么它总是给我一个带有权限警告的derby日志FileNotFoundException。很久以前,我访问了/var/lib/hive并执行了“sudo chmod-R 777./*”,所以权限应该不是问题

顺便说一句,我在伪分布式模式下运行hadoop,并且所有三个配置单元守护进程都在本地运行。我使用的是hive-server2而不是1


有人请告诉我我做错了什么,或者如何调试它。

这是Koji。我最近也有同样的问题

配置单元脚本运行Hadoop服务器。如果Hadoop服务器上不存在文件
country\u insurance\u pp.txt
,则无法找到该文件

在运行脚本之前,必须将目标文件发送到Hadoop服务器。有两种方法可以处理此问题:

  • 使用scp
  • 使用webhdfs()