J'essaie de monter HDFS sur ma machine locale (Ubuntu) à l'aide de NFS en suivant le lien ci-dessous: -
https://www.cloudera.com/documentation/enterprise/5-2-x/topics/cdh_ig_nfsv3_gateway_configure.html#xd_583c10bfdbd326ba--6eed2fb8-14349d04bee--7ef4
Donc, à ma machine, j'ai installé NFS-courant en utilisant: -
Sudo apt-get install nfs-common
Ensuite, avant de monter, j'ai couru ces commandes: -
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:
/ *
après cela, j'ai essayé de monter les HDFS en utilisant: -
Sudo mount -t nfs -o vers=3,proto=tcp,nolock 192.168.170.52:/ /mnt/hdfs_mount/
Mais j'avais cette erreur: ---
mount.nfs: mount system call failed
Ensuite, j'ai googlé pour le problème et installé NFS-Kernel-Server, Portmap en utilisant
Sudo apt-get install nfs-kernel-server portmap
Après avoir exécuté la commande ci-dessus, la sortie pour :--
rpcinfo -p 192.168.170.52
est:--
192.168.170.52: RPC: Port mapper failure - Unable to receive: errno 113 (No route to Host)
et pour
showmount -e 192.168.170.52
est:---
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to Host)
Aussi la sortie pour: -
Sudo service nfs start
vient être: -
Failed to start nfs.service: Unit nfs.service not found.
S'il vous plait, j'ai besoin de votre aide avec ceci.
Je testais ce problème sur Centos 7. Lorsque vous rencontrez un tel problème, vous devez creuser profondément.
Le problème:
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to Host)
est liée au pare-feu. La commande showmount -e IP_server
Affiche toutes les supports disponibles sur le serveur. Cette commande fonctionne bien, mais vous devez faire attention au port à ouvrir. Il ne traverse pas le pare-feu si seulement le port 2049
a été ouvert. Si le pare-feu sur le serveur NFS a été configuré pour laisser entrer le trafic NFS, il bloquera toujours la commande showmount
. Pour tester si vous désactivez le pare-feu sur le serveur, vous devez vous débarrasser de ce problème.
Donc, ces ports doivent être ouverts sur le serveur:
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
Test supplémentaire 2049/Port NFS pour la disponibilité.
semanage port -l | grep 2049
- renvoie le contexte SELINUX et le nom de servicenetstat -tulpen | grep 2049
au lieu d'activer le port 2049, puis définissez semanage
, vous pouvez simplement ajouter nfs
service
firewall-cmd --add-service=nfs --permanent &&
firewall-cmd --reload