問題タブ [webhdfs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hadoop - 安全な Hadoop クラスターで WebHDFS が機能しない
Kerberos を使用して HDP2 Hadoop クラスターを保護しようとしています。
これまでのところ、Hdfs、Hive、Hbase、Hue Beeswax、および Hue ジョブ/タスク ブラウザは正常に動作しています。ただし、Hue のファイル ブラウザは機能していません。次のように応答します。
私のhue.ini
ファイルは、すべてsecurity_enabled=true
のパラメータとその他の関連するパラメータが設定された状態で構成されています。
問題は WebHDFS にあると思います。
http://hadoop.apache.org/docs/r1.0.4/webhdfs.html#Authenticationにあるcurlコマンドを試しました
答え:
また、次の curl リクエストでユーザーを追加することで、Hue のエラー メッセージを再現できました。
それは答えます:
WebHDFS と curl の間で Kerberos ネゴシエーションが行われていないようです。
私は次のようなものを期待していました:
何がうまくいかなかったのでしょうか?
私はhdfs-site.xml
すべてのノードに持っています:
hadoop - Hadoop: マルチノード クラスタが 3 つのデータ ノードのうち 2 つのライブ ノードしか認識しない
Ubuntuでvirtualboxを使用して、3つのデータノードと1つのネームノードでマルチノードhadoopをセットアップしました。私のホスト システムは NameNode (データ ノードでもあります) として機能し、2 つの VM は DataNode として機能します。私のシステムは次のとおりです。
- 192.168.1.5: NameNode (データノードも)
- 192.168.1.10: データノード 2
- 192.168.1.11: データノード 3
各システムからすべてのシステムを SSH 接続できます。私のすべてのシステムの hadoop/etc/hadoop/slaves には、次のエントリがあります。
hadoop/etc/hadoop/master
すべてのシステムで、次のエントリがあります。192.168.1.5
core-site.xml
、yarn-site.xml
、hdfs-site.xml
、 、 、 、 mapred-site.xml
、は、両方の DataNode で inのhadoop-env.sh
エントリがないことを除いて、マシン上で同じです。NameNode から実行すると、すべて正常に動作し、JPS を介して、すべてのマシンで必要なすべてのサービスを確認できます。dfs.namenode.name.dir
hdfs-site.xml
start-yarn.sh
start-dfs.sh
namenode/dfshealth.html#tab-datanode
ただし、と から確認したい場合 namenode:50070/dfshealth.html#tab-overview
、両方とも 2 つのデータノードのみを示します。
tab-datanode は、NameNode と DataNode2 をアクティブなデータノードとして表示します。DataNode3 はまったく表示されません。
すべての構成ファイル (xml、sh、および slves/master に言及) を複数回チェックして、両方のデータノードに違いがないことを確認しました。
また、etc/hosts
ファイルには、すべてのシステムのすべてのノードのエントリも含まれています。
言及したいことの 1 つは、最初に 1 つの VM を構成してから、そのクローンを作成したことです。したがって、両方の VM の構成は同じです。そのため、1 つのデータノードが表示され、他のデータノードが表示されない理由がさらにわかりにくくなります。
hadoop - Hadoop で webhdfs を介してディレクトリ全体をプルする方法はありますか?
2 つのクラスターがあり、1 つのクラスターから別のクラスターにデータをプルする必要があります。
私たちが利用できる唯一のオプションは、webhdfs を介してデータをプルすることです!!
しかし残念なことに、webhdfs を介して一度に取得できるファイルは 1 つだけであり、ファイルごとに 2 つのコマンドを実行する必要があります。
私の率直な質問は、webhdfs を介して、ディレクトリ データ全体をプルできる方法はありますか??
誰かがこれで私を助けてくれませんか...
注: DISTCP は、セキュリティ上の問題により、私たちにとって有効なオプションではありません!!
hadoop - Hadoop: namenode/dfshealth.html#tab-datanode および namenode:50070/dfshealth.html#tab-overview ページに、3 つのうちアクティブなノードが 2 つしか表示されない
を使用して完全分散hadoop
システムをセットアップしましたubuntu
。ホストシステムがあり、そこに 2 つの VirtualBox がインストールされています。マスター ノードから実行するstart-dfs.sh
と、 3 つのシステムすべてで開始されます。を使用してそれを見ることができます。しかし、Web UI を使用して確認しようとすると、アクティブなノードが 2 つしか表示されません。1つの VM にインストールされている 1 つがまったく表示されません。UI のバグやその他の問題はありますか?start-yarn.sh
datanode
jps
datanode
webhdfs - pywebhdfs.web hdfs という名前のモジュールはありません
5つのノードにpywebhdfsをインストールし、それぞれを検証しました
Python ヘルプ ('pywebhdfs')
パッケージ pywebhdfs に関するヘルプ:
名前 pywebhdfs
ファイル/../pywebhdfs/init.py _
「pywebhdfs.web hdfsという名前のモジュールがありません」を取得する
感謝して助けてください ありがとう
hadoop - webhdfsに移動に相当するものはありますか
webhdfs を使用して、1 つまたは複数のファイルをあるパスから別のパスに移動したいと考えています。Hadoop 1.3 を使用しています。そのような REST 呼び出しは存在しますか
hadoop - HTTP/1.1 401 HttpFS サーバーへのアクセスが制限されています
bivm:/home/biadmin/Desktop # curl -i " http://bivm.ibm.com:14000/webhdfs/v1/tmp/newfile?op=OPEN " HTTP/1.1 401 HttpFS サーバーへのアクセスが制限されています。まず、BigInsights コンソールから適切な資格情報を取得してください。コンテンツ タイプ: テキスト/html; charset=iso-8859-1 Cache-Control: must-revalidate,no-cache,no-store Content-Length: 1589 サーバー: Jetty(6.1.x)
WebHDFS REST API
HttpFS サーバー (デフォルトではポート 14000 で実行) を介した呼び出しを使用してクラスター内のファイルにアクセスしようとすると、上記のエラーが発生します。ご意見をお聞かせください。
apache-spark - Webhdfs/httpfs で Spark
httpfs または Webhdfs を介して HDFS から Spark にファイルを読み込みたいと考えています。の線に沿った何か
sc.textFile("webhdfs://myhost:14000/webhdfs/v1/path/to/file.txt")
または、理想的には、
sc.textFile("httpfs://myhost:14000/webhdfs/v1/path/to/file.txt")
Spark に Webhdfs/httpfs 経由でファイルを読み取らせる方法はありますか?
webhdfs - WebHDFS からディレクトリ サイズを取得しますか?
webhdfs はディレクトリ サイズをサポートしていないようです。HDFSでは、使用できます
これを webHDFS から派生させる方法はありますか? ページを表示するのではなく、プログラムでこれを行う必要があります。