2015-10-10 11 views
6

Chciałbym poruszać się HDFSJak poruszać katalogów w Hadoop HDFS

pierwszy spojrzał na katalogach „root” HDFS

[[email protected] ~]$ sudo -u hdfs hadoop fs -ls hdfs:/ 
Found 5 items 
drwxr-xr-x - hbase hbase    0 2015-10-10 07:03 hdfs:///hbase 
drwxr-xr-x - solr solr    0 2014-06-01 16:16 hdfs:///solr 
drwxrwxrwx - hdfs supergroup   0 2015-10-08 11:45 hdfs:///tmp 
drwxr-xr-x - hdfs supergroup   0 2015-04-13 08:26 hdfs:///user 
drwxr-xr-x - hdfs supergroup   0 2014-06-01 16:15 hdfs:///var 

Potem próbowałem wejściem do jednego z nich

[[email protected] ~]$ sudo -u hdfs hadoop -cd hdfs:///hbase 
Error: No command named `-cd' was found. Perhaps you meant `hadoop cd' 

próbuje także 'cd Hadoop' nie działają

[[email protected] ~]$ sudo -u hdfs hadoop cd hdfs:///hbase 
Exception in thread "main" java.lang.NoClassDefFoundError: cd 
Caused by: java.lang.ClassNotFoundException: cd 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
Could not find the main class: cd. Program will exit. 

Proszę nie oferować używania -ls -R (rekurencyjne), aby pokazać wszystkie pliki.

Chcę móc nawigować za pomocą poleceń takich jak CD

Odpowiedz

13

Nie ma cd (change directory) komenda w systemie plików HDFS. Możesz tylko wyświetlać katalogi i używać ich do osiągnięcia następnego katalogu.

Musisz poruszać się ręcznie, podając pełną ścieżkę, używając polecenia ls.

hdfs dfs -ls /user/username/app1/subdir/ 
+0

ugh. to sux. ale tak właśnie jest. Dzięki. –

1
hadoop fs –ls /user/scott/ 

Aby zobaczyć listę wartości w ścieżce, musimy podać pełną ścieżkę. Poza tym nawigacja nie jest możliwa.

+1

więc na pytanie trzeba zrobić sudo -u hdfs hadoop fs -ls hdfs: /// hbase? – user7294900