메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


*참조1 : https://www.facebook.com/notes/yongbok-kim/apache-hadoop-nfs-exports-point-%EC%A7%80%EC%A0%95%ED%95%98%EA%B8%B0/817707064964961/


*참조2: https://developer.ibm.com/hadoop/2015/09/30/mounting-hdfs-onto-local-file-system-in-iop-4-1/


0. 필요한 패키지를 설치한다

yum install nfs-utils nfs-utils-lib


0-1. 로컬 디렉토리에 마운트할 HDFS상의 경로를 생성한다

hadoop fs -mkdir /user/gooper/jena
hadoop fs -chown gooper:superuser /user/gooper/jena


0-2. HDFS상의 경로와 연결할 로컬 디렉토리를 생성한다.(필요시, 이미 존재하는 경우 생성할 필요없음 )

 mkdir /svc/apps/sda/bin/fuseki/mydb
* 기존 디렉토리를 사용하는 경우 디렉토리에 존재하는 내용이 모두 삭제되므로 주의 할것

1. hadoop설정값을 수정/추가한다.(hdfs-site.xml 혹은 core-site.xml)


<!-- NFS v3 -->
    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
    </property>
 
    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
    </property>
   <property>
     <name>hadoop.proxyuser.nfsserver.hosts</name>
     <value>*</value>
   </property>

   <property>
     <name>hadoop.proxyuser.nfsserver.groups</name>
     <value>*</value>
   </property>

    <property>
        <name>nfs.exports.allowed.hosts</name>
        <value>* rw</value>
    </property>
 
    <property>
        <name>nfs.export.point</name>
        <value>/user/gooper/jena</value>
    </property>
    <property>
        <name>nfs.dump.dir</name>
        <value>/tmp/.hdfs-nfs</value>
    </property>

위의 옵션을 간략하게 정리하면 아래와 같다.
- hadoop.proxyuser.[userid].groups
NFS를 마운트를 허용할 사용자
 
- hadoop.proxyuser.[userid].hosts
이 옵션에 값을 *로 설정하면 모든 호스트들에게 NFS Gateway 허용
 
- nfs.exports.allowed.hosts
NFS Client가 Mount시 허용할 Host와 권한을 지정할때 사용한다.
이 옵션 값에 IP 대역을 지정 하고자 할때에는 <value>172.17.0.0/24 rw;192.168.0.0/24 rw</value> 와 같이 설정하면 된다.
(구분은 ,가 아닌 ; 로 하면 된다.)
 
- nfs.export.point
NFS의 exports point를 직접 지정할 수 있는 부분이다. 이 값은 HDFS안에 실제로 존재 하는 디렉토리로 설정해야 한다. 

2. 1번의 변경사항을 반영한다.

sbin/stop-dfs.sh 
sbin/start-dfs.sh


3. 기존에 동작하고 있는 Postmap, NFS서비스를 중지한다.

service nfs stop 
service rpcbind stop


4. hdfs의 portmap과 nfs3을 실행시킨다 (실행종료시킬때는 데몬을 찾아 kill로 죽인다)

bin/hdfs portmap &
bin/hdfs nfs3 &


5. 확인1 (콘솔에서 rpcinfo -p sda1을 실행시킨다)

   program vers proto   port  service
    100005    3   udp   4242  mountd
    100005    1   tcp   4242  mountd
    100000    2   udp    111  portmapper
    100000    2   tcp    111  portmapper
    100005    3   tcp   4242  mountd
    100005    2   tcp   4242  mountd
    100003    3   tcp   2049  nfs
    100005    2   udp   4242  mountd
    100005    1   udp   4242  mountd


6. 확인2 (콘솔에서 
showmount -e sda1를 실행시킨다)

Export list for sda1:
/user/gooper/jena *


7. 로컬 디렉토리와 HDFS상의 경로를 마운트 시킨다.

mount -t nfs -o vers=3,proto=tcp,nolock,noacl,sync localhost:/user/gooper/jena /svc/apps/sda/bin/fuseki/mydb


8. mount결과 확인(콘솔에서 mount를 실행한다)

/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
localhost:/user/gooper/jena on /home/gooper/svc/apps/sda/bin/apache-jena-fuseki-2.3.0/mydb type nfs (rw,vers=3,proto=tcp,nolock,addr=127.0.0.1)


* 마운트 해재 : umount  
/home/gooper/svc/apps/sda/bin/apache-jena-fuseki-2.3.0/mydb


번호 제목 날짜 조회 수
401 Eclipse 에서 bitbucket.org 연동 하기 file 2017.06.08 447
400 kerberos설정된 상태의 spooldir->memory->hdfs로 저장하는 과정의 flume agent configuration구성 예시 2019.05.30 448
399 kudu hms check 사용법(예시) 2021.10.22 448
398 lagom을 이용한 샘플 경매 프로그램 실행방법 2017.06.20 450
397 AIX 7.1에 Hadoop설치(정리중) 2016.09.12 452
» Mountable HDFS on CentOS 6.x(hadoop 2.7.2의 nfs기능을 이용) 2016.11.24 453
395 Hadoop 완벽 가이드 정리된 링크 2016.04.19 454
394 cassandra cluster 문제가 있는 node제거 하기(DN상태의 노드가 있으면 cassandra cluster 전체에 문제가 발생하므로 반드시 제거할것) 2017.06.21 454
393 데이타 분석및 머신러닝에 도움이 도움이 되는 사이트 2016.11.04 455
392 tablet별 disk사용량 확인하는 방법 2021.08.27 455
391 Ubuntu 16.04 LTS에서 사이트에 무료인증서를 이용하여 SSL적용 file 2017.05.23 456
390 특정문자열이나 URI를 임의로 select 절에 지정하여 사용할때 사용하는 sparql 문장 2016.08.25 457
389 linux에서 특정 포트를 사용하는 프로세스 확인하기 2017.04.26 457
388 mybais #과 $의 차이점 2015.11.10 460
387 Hbase API를 이용하여 scan시 페이징을 고려하여 목록을 가져올때 사용할 수 있는 로직의 예시를 보여줌 2017.04.26 460
386 producer / consumer구현시 설정 옵션 설명 2016.10.19 461
385 Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.http.HttpConfig.getSchemePrefix()Ljava/lang/String; 해결->실패 2015.06.14 462
384 spark notebook 0.7.0설치및 설정 2016.11.14 464
383 .gitignore파일에 지정되지 않은 파일이 ignore되는 경우 확인방법 2016.11.22 465
382 impala테이블 쿼리시 max_row_size 관련 오류가 발생할때 조치사항 2020.02.12 465
위로