RPC: Portmapper 실패 - 수신할 수 없음: errno 113(호스트에 대한 경로 없음)

RPC: Portmapper 실패 - 수신할 수 없음: 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.

이 문제에 대해 도와주세요.

답변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

semanagenfs포트 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

관련 정보