
次のリンクから、nfsを使用してローカルコンピュータ(ubuntu)にhdfsをマウントしようとしています。 -
https://www.cloudera.com/documentation/enterprise/5-2-x/topics/cdh_ig_nfsv3_gateway_configure.html#xd_583c10bfdbd326ba--6eed2fb8-14349d04bee--7ef4
だから私のコンピュータに次のコマンドを使用してnfs-commonをインストールしました。
sudo apt-get install nfs-common
その後、インストールする前に次のコマンドを実行しました。
rpcinfo -p 192.168.170.52
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 48435 status
100024 1 tcp 54261 status
100005 1 udp 4242 mountd
100005 2 udp 4242 mountd
100005 3 udp 4242 mountd
100005 1 tcp 4242 mountd
100005 2 tcp 4242 mountd
100005 3 tcp 4242 mountd
100003 3 tcp 2049 nfs
showmount -e 192.168.170.52
Export list for 192.168.170.52:
/ *
その後、次のようにhdfsをインストールしようとしました。--
sudo mount -t nfs -o vers=3,proto=tcp,nolock 192.168.170.52:/ /mnt/hdfs_mount/
しかし、次のエラーが発生しました。 ---
mount.nfs: mount system call failed
次に、問題を検索し、次のようにnfs-kernel-server、portmapをインストールしました。
sudo apt-get install nfs-kernel-server portmap
上記のコマンドを実行した後、出力は次のようになります。 ---
rpcinfo -p 192.168.170.52
例: -
192.168.170.52: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
そして
showmount -e 192.168.170.52
例: - -
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
また、次の結果が出力されます。 -
sudo service nfs start
結果:--
Failed to start nfs.service: Unit nfs.service not found.
この問題について助けてください。
答え1
CentOS 7でこの問題をテストしました。このような問題に直面したら、さらに深く掘り下げてみる必要があります。
質問:
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
ファイアウォール関連。このコマンドは、showmount -e IP_server
サーバーで使用可能なすべてのインストールを表示します。このコマンドは正常に機能しますが、どのポートを開くかに注意する必要があります。ポートだけを開くと、2049
ファイアウォールを通過できません。 NFS サーバーのファイアウォールが NFS トラフィックを許可するように構成されていても、コマンドはブロックされますshowmount
。サーバーでファイアウォールを無効にするかどうかをテストするには、この問題を削除する必要があります。
したがって、次のポートはサーバーで開いている必要があります。
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-port=2049/tcp
firewall-cmd --permanent --add-port=2049/udp
firewall-cmd --reload
2049/NFS ポートの可用性の追加テストです。
semanage port -l | grep 2049
– SELinux コンテキストとサービス名を返します。netstat -tulpen | grep 2049
答え2
semanage
nfs
ポート2049を有効にする代わりに、単にサービスを追加して設定できます。
firewall-cmd --add-service=nfs --permanent &&
firewall-cmd --reload
答え3
私も同じエラーに直面しました。後でサーバーのファイアウォールがnfsをブロックしたというエラーであることがわかった後、次の方法でファイアウォールを停止しました。systemcltファイアウォールの停止(推奨されません。ファイアウォールポリシーを変更するのが最善です。)
答え4
ファイアウォールのロギングをオンにして、次のポートが見つからないことを発見しました。
firewall-cmd --zone=public --permanent --add-port=59805/udp
firewall-cmd --zone=public --permanent --add-port=59805/tcp
firewall-cmd --reload