메뉴 건너뛰기

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


번호 제목 날짜 조회 수
324 S2RDF를 이용한 다른 버젼의 github링크 2016.12.02 529
» Mountable HDFS on CentOS 6.x(hadoop 2.7.2의 nfs기능을 이용) 2016.11.24 886
322 원격의 origin/master를 기준으로 dev branch를 만들어 작업후 원격의 origin/dev에 push하는 방법 file 2016.11.22 924
321 .gitignore파일에 지정되지 않은 파일이 ignore되는 경우 확인방법 2016.11.22 950
320 github에 있는 프로젝트와 로컬에서 작업한 프로젝트 합치기 2016.11.22 901
319 특정 커밋 시점(commit id를 기준으로)으로 돌리기(reset) 2016.11.21 610
318 Github를 이용하는 전체 흐름 이해하기 2016.11.18 373
317 특정 단계의 commit상태로 만들기(이렇게 하면 중간에 반영된 모든 commit를 history가 삭제된다) 2016.11.17 928
316 git 초기화(Windows에서 Git Bash사용) 2016.11.17 1182
315 spark notebook 0.7.0설치및 설정 2016.11.14 848
314 참고할만한 spark예제를 설명하는 사이트 2016.11.11 606
313 Kafka Offset Monitor로 kafka 상태 모니터링 하기 file 2016.11.08 1540
312 Eclipse실행시 Java was started but returned exit code=1이라는 오류가 발생할때 조치방법 2016.11.07 934
311 [SparkR]SparkR 설치 사용기 1 - Installation Guide On Yarn Cluster & Mesos Cluster & Stand Alone Cluster file 2016.11.04 555
310 데이타 분석및 머신러닝에 도움이 도움이 되는 사이트 2016.11.04 815
309 java스레드 덤프 분석하기 file 2016.11.03 250
308 centos 6에서 mariadb 5.1 to 10.0 으로 upgrade 2016.11.01 385
307 Spark Streaming 코드레벨단에서의 성능개선 2016.10.31 869
306 Flume과 Kafka를 사용한 초당 100만개 로그 수집 테스트 file 2016.10.31 1421
305 Flume을 이용한 데이타 수집시 HBase write 성능 튜닝 file 2016.10.31 811
위로