다음 링크를 통해 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