Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
Hadoop NFS gateway 서비스를 기동하여 외부에서 NFS에 mount하여 일반 파일 시스템에 데이터를 저장하고 읽을 수 있도록 할 수 있다.
이때 NFS gateway서비스의 설정에서 export point만 HDFS의 원하는 폴더의 full 경로로 설정해주고 HDFS폴더의 권한은 1777을 준다.
그리고 NFS gateway서비스는 rpcbind서비스를 이용하므로 systemctl status rpcbind로 서비스 중인지 확인해야 한다.
(rpcbind서비스는 /etc/hosts.deny, /etc/hosts.allow를 이용하므로 다음과 같은 설정(특히 rpcbind: localhost)이 필요하며 파일 권한은 rw- r-- r--로 설정되어 있어야 한다.
rpcbind: localhost가 /etc/hosts.allow파일에 설정되어 있지 않으면 NFS 서비스가 기동시 Cannot connect to port 2049오류가 발생한다.)
rpc에 등록된 서비스 확인은 sudo rpcinfo -p로 확인할 수 있다.
또한 NFS gateway서비스를 기동할때 내부적으로 nfs및 mountd서비스를 기동하므로 NFS gateway기동후에는 mountd, nfs서비스가 추가로 떠 있는것이 rpcinfo -p에서 확인된다.
* /etc/hosts.allow 예시
sshd: localhost \
space로 분리된 ip들
vsftpd: localhost \
space로 분리된 ip들
rpcbind: space로 분리된 ip들
rpcbind: localhost
sshd: space로 분리된 ip들
* /etc/hosts.deny 예시
ALL:ALL
* 참고 1 : RHEL/CentOS 8 에서 부터는 /etc/hosts.allow,deny 를 사용할 수 없음으로 firewalld 를 사용해야 하지만 따로 설정할 필요는 없음
* 참고 2 : 정상적으로 기동시 rpcinfo -p로 확인 했을때 다음과 같이 보여야 한다.
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 44448 status
100024 1 tcp 54617 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 (자동으로 뜸)