web-dev-qa-db-ja.com

RPC:ポートマッパーエラー-受信できません:errno 113(ホストへのルートがありません)

次のリンクをたどって、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.

これで私を助けてください。

5
Bhavya Jain

私はこの問題を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
15
Dragos Alexe

ポート2049を有効にしてsemanageを設定する代わりに、nfsサービスを追加するだけです

firewall-cmd --add-service=nfs --permanent && 
firewall-cmd --reload
0
Laszlo Szabo