Ubuntu

RPC:埠映射器故障 - 無法接收:errno 113(沒有到主機的路由)

  • March 29, 2022

我正在嘗試通過以下連結使用 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

然後我用Google搜尋了這個問題並安裝了 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.

請幫我解決一下這個。

我在 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

引用自:https://unix.stackexchange.com/questions/373880