메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, 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


번호 제목 글쓴이 날짜 조회 수
340 mongodb 2.6.6 설치(64bit) 총관리자 2015.09.30 185
339 Soft memory limit exceeded (at 100.05% of capacity) 오류 조치 총관리자 2022.01.17 181
338 cloudera에서 spark-shell를 실행했을때 default master는 spark.master=yarn-client임 총관리자 2018.06.20 181
337 lagom을 이용한 샘플 경매 프로그램 실행방법 총관리자 2017.06.20 181
336 drools를 이용한 로그,rule matching등의 테스트 java프로그램 file 총관리자 2016.07.21 181
335 java quartz 시간 설정 참고사항 총관리자 2015.12.16 179
334 cloudera서비스 중지및 기동순서 총관리자 2020.02.14 178
333 build할때 unmappable character for encoding MS949 에러 발생시 조치사항 총관리자 2016.08.03 178
332 mybais #과 $의 차이점 총관리자 2015.11.10 178
331 문자열을 숫자(integer)로 casting하기 총관리자 2016.01.13 175
330 scala-eclipse 다운로드 총관리자 2019.06.09 174
329 shard3가 있는 서버에 문제가 있는 상태에서 solr query를 요청하는 경우 "no servers hosting shard: shard3" 오류가 발생하는 경우 조치사항 총관리자 2018.01.04 174
» Mountable HDFS on CentOS 6.x(hadoop 2.7.2의 nfs기능을 이용) 총관리자 2016.11.24 174
327 kerberos설정된 상태의 spooldir->memory->hdfs로 저장하는 과정의 flume agent configuration구성 예시 총관리자 2019.05.30 171
326 HDFS Balancer설정및 수행 총관리자 2018.03.21 171
325 jena/fuseki 3.4.0 설치 총관리자 2017.07.25 170
324 javax.net.ssl.SSLHanshakeException: SSLHandshakeException invoking https://mainCluster.gooper.com:7183/api/v1/users: sun.security.validator.ValidatorException: No trusted certificate found gooper 2022.06.29 169
323 Embedded PostgreSql설정을 외부의 MariaDB로변경하기 [1] 총관리자 2018.05.22 169
322 Oracle 12c DB의 LOB타입 컬럼이 있는 테이블을 import할 때 주의 할 사항 gooper 2022.09.14 168
321 oozie WF에서 참고할만한 내용 총관리자 2019.07.18 168

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로