私はhdfs(namenode、secodnarynamenode、datanode)に1台のマシンを稼働させています。私は同じマシンからそれらを実行するときに 'put'のようなhdfs操作を実行することができますが、 'ls'のような他の操作は正常に動作しますが、リモートでは機能しません。リモートでhdfsにアクセスできない
私のリモートhdfsクライアントはnamenodeに接続できますが、datanodeには接続できないと思います。 Namenode Webコンソールには、localhost上で1つのデータノードが実行されていることが示されています。おそらく問題です.htfsクライアントが到達できるように、ipアドレスにバインドする必要があります。 私はデータノード関連のプロパティを変更しようとしました:
<property>
<name>dfs.datanode.address</name>
<value>192.168.1.128:50010</value>
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>192.168.1.128:50075</value>
</property>
<property>
<name>dfs.datanode.ipc.address</name>
<value>192.168.1.128:50020</value>
</property>
が、それは助けにはなりませんでした。興味深いことに、私は192.168.1.128:50075を使用してdatanodeのUIにアクセスすることができ、192.168.1.128:50075のデータアノードが実行されていることを示すアイデアはありますか?
UPD:提供されている設定をもう一度読んでください。 50010は間違いなく耳を傾けます。アクセシビリティのみをチェックする必要があります。 – patrungel
デバッグ中にhdfsからファイルを読み込む小さなアプリケーションを作成しましたが、データノードのアドレスとしてnamenodeから返された「localhost」が表示されます –
興味深いことに、また、192.168.1.128はノード自体でどのように解決されますか? – patrungel