GNU/Linux >> Linux の 問題 >  >> Linux

システムで Hadoop hdfs ディレクトリを見つける方法は?

実行した場合:

hdfs dfs -copyFromLocal foo.txt bar.txt

次に、ローカル ファイル foo.txt が独自の hdfs ディレクトリ /user/popeye/bar.txt にコピーされます (ここで popeye はユーザー名です。) 結果として、以下は同じことを達成します:

hdfs dfs -copyFromLocal foo.txt /user/popeye/bar.txt

ファイルを hdfs にコピーする前に、まず親ディレクトリを作成してください。この「ホーム」ディレクトリにファイルを配置する必要はありませんが、(1) あらゆる種類のファイルで「/」を乱雑にしない方がよいでしょう。(2) この規則に従うと、他のユーザーとの競合を防ぐことができます。


あなたのアプローチが間違っているか、理解が間違っている可能性があります

dfs.datanode.data.dir 、データ ブロックを保存する場所

hdfs dfs -ls / と入力すると hdfs のディレクトリのリストを取得します。 -copyFromLocal を使用してローカルから hdfs にファイルを転送できます。 または -put 特定のディレクトリまたは -mkdir を使用して 新しいディレクトリを作成できます

詳細については、以下のリンクを参照してください

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html


最初の回答の通り、Hadoop 1.x について詳しく説明しています。 -

このスクリプトを疑似配布モデルで実行していると仮定すると、おそらく 1 つまたは 2 つのユーザー (NameNodes) のリストが示されます -

私たちの完全分散モデルでは、最初にこれらのことを実行するための管理者権限があり、N 個の NameNodes(users) のリストがあります。

それでは、本題に移りましょう -

最初に Hadoop ホーム ディレクトリにアクセスし、そこからこのスクリプトを実行します -

bin/hadoop fs -ls /

結果はこのようになります -

drwxr-xr-x   - xuiob78126arif supergroup          0 2017-11-30 11:20 /user

ここで xuiob78126arif は私の名前ノード (マスター/ユーザー) で、NameNode (ユーザー) ディレクトリは -

/user/xuiob78126arif/

これで、ブラウザにアクセスしてアドレスを検索できます -

http://xuiob78126arif:50070

そこから Cluster Summary, NameNode Storage を取得できます など

注 :スクリプトは、少なくともファイルまたはディレクトリが DataNode に存在する場合、1 つの条件でのみ結果を提供します。それ以外の場合は -

を取得します。
ls: Cannot access .: No such file or directory.

したがって、その場合、最初に bin/hadoop fs -put <source file full path> で任意のファイルを置きます

その後、 bin/hadoop fs -ls / を実行します

これで、問題について少し理解していただけたと思います。ありがとうございます。


Linux
  1. CentOS/RHEL システムの CPU ソケット数を調べる方法

  2. LinuxまたはUNIXでユーザーのホームディレクトリを見つける方法は?

  3. ディレクトリの md5 チェックサムを計算するにはどうすればよいですか?

  1. find でディレクトリを除外する方法。指図

  2. Linux ファイル システムで dos 形式のファイルを見つける方法

  3. ディレクトリ内のすべてのゼロバイトファイルを見つける方法

  1. ディレクトリとサブディレクトリ内のファイル数を見つける方法

  2. Linuxのディレクトリツリーで最も古いファイルを見つける方法

  3. 部分的なディレクトリ パスを見つける方法は?