我下载并安装了VM Cloudera 4.4以与Hadoop一起玩。我已经在我的工作平台上有一个集群,所以我知道如何工作hadoop。所以我认为我的问题来自于我对linux及其用户和群组的误解。
使用Hive:
我尝试用shell创建一个hive表,它可以工作。我在/ user / hive / warehouse / test中有一个表属于组cloudera的用户cloudera。
我在hdfs:/ user / cloudera(用户:cloudera和group:hive)中有一些数据文件(.txt),我在hive表中加载:
LOAD DATA INPATH '/user/cloudera/*.txt' INTO TABLE test;
这是我获得的:
hive> LOAD DATA INPATH '/user/cloudera/jeuDeTest/*.txt' INTO TABLE test;
Loading data to table default.test
chgrp: changing ownership of '/user/hive/warehouse/test/_log24310.txt': User does not belong to hive
chgrp: changing ownership of '/user/hive/warehouse/test/_log24311.txt': User does not belong to hive
Table default.test stats: [num_partitions: 0, num_files: 2, num_rows: 0, total_size: 10161843, raw_data_size: 0]
OK
Time taken: 2.472 seconds
我从来没有遇到过这种错误信息,但文件被移动了。如果我尝试SELECT *
,则没有结果。
使用HBase:
我对HBase也有一些困难。我可以创建一个表但是当我使用importTSV时:
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv
-Dimporttsv.columns=HBASE_ROW_KEY,cf:nl,ch:nt,cf:ti,cf:ip,cf:cr,cf:am,cf:op,cf:mr,cf:ct
'-Dimporttsv.separator=|' testhbase -Dimporttsv.skip.bad.lines=false
/user/cloudera/jeuDeTest/*.txt
我有这个错误:
ERROR security.UserGroupInformation: PriviledgedActionException as:hdfs (auth:SIMPLE)
cause:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist:
hdfs://localhost.localdomain:8020/user/cloudera/jeuDeTest/_logGeneral_C_24310_SO.txt
Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist:
hdfs://localhost.localdomain:8020/user/cloudera/jeuDeTest/_logGeneral_C_24310_SO.txt
我认为这个问题是由权限引起的,但我不知道如何做有权执行请求,有什么更好的方法。 (在我工作的平台上,我是根,我没有这些困难,但我不明白它是如何工作的)
感谢您阅读我。
Angelik
我尝试将我的cloudera用户添加到组配置单元。我在加载过程中没有错误但是我总是没有选择结果。
hive> LOAD DATA INPATH '/user/cloudera/jeuDeTest/*.txt' INTO TABLE test;
Loading data to table default.test
Table default.test stats: [num_partitions: 0, num_files: 10, num_rows: 0, total_size: 10161843, raw_data_size: 0]
OK
Time taken: 0.486 seconds
hive> select * from test limit 20;
OK
Time taken: 0.303 seconds
答案 0 :(得分:3)
我在权限方面遇到了同样的问题 - > chgrp:更改'/user/hive/warehouse/test/_log24310.txt'的所有权:用户不属于配置单元。
table_name