我跑的时候
主/从上./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep /user/hadoop/input /user/hadoop/output 'dfs[a-z.]+'
。
出错了,Input path does not exist: hdfs://master:9000/user/root/grep-temp-1940166004
但我的输入路径是/user/hadoop/input
,而./bin/hdfs dfs -ls /user/hadoop/input
运行显示Found 9 items
,没关系。
enter image description here
答案 0 :(得分:0)
您需要在HDFS上创建 /user/root/
。
除非您实际以/user/hadoop/
用户帐户(非root用户)帐户运行该命令,否则hadoop
是否存在无关紧要
答案 1 :(得分:0)
当运行任何hadoop
命令时,它会将hdfs
用户作为Linux上的当前登录用户。
您似乎以root
用户身份运行此命令,该用户在hdfs中不存在(没有hdfs用户为root
)。
要么提到完全限定路径作为输入,要么以hadoop
用户或输入文件所在的用户(Linux以及hdfs)运行hdfs
命令。