# 분산 모조형

  • 하나의 노드(리눅스 머신)만을 이용하여 분산 시스템처럼 구축하는 방법
- 분산 모조형 구축은 한 대의 리눅스 머신을 이용하여 마치 분산된 환경처럼 동작하도록 구축하는 방법으로, 하둡 관련 모든 프로세스가 하나의 리눅스 머신에서 동작하도록 구축.
- 이 방법을
이용하여 구축하면 네임노드와 세컨더리 네임노드, 데이터노드, 태스크 트래커, 잡 트래커가 모두 하나의 리눅스 머신에서 동작
- 이 환경은 하둡 및 맵리듀스 관련 소스코드 분석 및 테스트, 그리고 버그 수정을 위한 방법으로 사용할 수 있다.

# 분산형 구축

  • 여러 노드에 분산시켜 실제 사용 용도로 구축하는 방법

# conf/master 파일 설정 확인

[hadoop@sunshiny conf]$ cat masters
localhost
[hadoop@sunshiny conf]$ cat slaves
localhost
[hadoop@sunshiny conf]$ 


# hadoop 환경 설정파일에 사용할 java 홈 지정

- JDK 1.6 이상의 버전을 제안(1.5 버전에서 컴파일 버전 오류 발생)
[hadoop@sunshiny conf]$ cat hadoop-env.sh 
# Set Hadoop-specific environment variables here.

# The only required environment variable is JAVA_HOME.  All others are
# optional.  When running a distributed configuration it is best to
# set JAVA_HOME in this file, so that it is correctly defined on
# remote nodes.

# The java implementation to use.  Required. // jdk 1.6 버전 이상
export JAVA_HOME=/usr/local/jdk1.7.0_10/jre

# Extra Java CLASSPATH elements.  Optional.
# export HADOOP_CLASSPATH=

# The maximum amount of heap to use, in MB. Default is 1000.
# export HADOOP_HEAPSIZE=2000

# Extra Java runtime options.  Empty by default.
# export HADOOP_OPTS=-server


# core-site.xml 파일 설정

[hadoop@sunshiny conf]$ cat core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
 <property>
  <name>fs.default.name</name>
  <value>hdfs://localhost:9000</value>
  <description>Set dfs URI. Set dfs ip or domain name and port.</description>
</property>

/*
  # hadoop tmp 디렉토리 미 지정시에 dfs, mapred 네임노드 관련 파일을 
     /tmp/ 디렉토리 하위에 생성
  # 클러스터 구축시 데이터노드(리모트) 서버 에도 데이터를 저장할 위치를 
     아래와 같은 방식으로 각 서버별로 지정
*/
 <property>
  <name>hadoop.tmp.dir</name>
  <value>/usr/local/hadoop-1.0.0/hadoop_data</value>
  <description>hadoop(dfs, mapred) DataFile Dir</description>
 </property>
</configuration>
[hadoop@sunshiny conf]$ 


# hdfs-site.xml 파일 설정

[hadoop@sunshiny conf]$ cat hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
 <property>
   <name>dfs.replication</name>
   <value>1</value>
   <description>Set replication number of dfs</description>
 </property>
</configuration>
[hadoop@sunshiny conf]$ 


# mapred-site.xml 파일 설정

[hadoop@sunshiny conf]$ cat mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
 <property>
   <name>mapred.job.tracker</name>
   <value>localhost:9001</value>
   <description>jobtracker</description>
 </property>
</configuration>
[hadoop@sunshiny conf]$ 



# 하둡 명령어 정보 확인

[hadoop@sunshiny bin]$ ./hadoop
Usage: hadoop [--config confdir] COMMAND
where COMMAND is one of:
  namenode -format     format the DFS filesystem
  secondarynamenode    run the DFS secondary namenode
  namenode             run the DFS namenode
  datanode             run a DFS datanode
  dfsadmin             run a DFS admin client
  mradmin              run a Map-Reduce admin client
  fsck                 run a DFS filesystem checking utility
  fs                   run a generic filesystem user client
  balancer             run a cluster balancing utility
  fetchdt              fetch a delegation token from the NameNode
  jobtracker           run the MapReduce job Tracker node
  pipes                run a Pipes job
  tasktracker          run a MapReduce task Tracker node
  historyserver        run job history servers as a standalone daemon
  job                  manipulate MapReduce jobs
  queue                get information regarding JobQueues
  version              print the version
  jar <jar>            run a jar file
  distcp <srcurl> <desturl> copy file or directories recursively
  archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive
  classpath            prints the class path needed to get the
                       Hadoop jar and the required libraries
  daemonlog            get/set the log level for each daemon
 or
  CLASSNAME            run the class named CLASSNAME
Most commands print help when invoked w/o parameters.


# 하둡 분산 파일 시스템 초기화

[hadoop@sunshiny bin]$ ./hadoop namenode -format
13/03/25 05:35:11 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = sunshiny.co.kr/127.0.0.1
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 1.0.0
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 
1214675; compiled by 'hortonfo' on Thu Dec 15 16:36:35 UTC 2011
************************************************************/
13/03/25 05:35:11 INFO util.GSet: VM type       = 32-bit
13/03/25 05:35:11 INFO util.GSet: 2% max memory = 19.33375 MB
13/03/25 05:35:11 INFO util.GSet: capacity      = 2^22 = 4194304 entries
13/03/25 05:35:11 INFO util.GSet: recommended=4194304, actual=4194304
13/03/25 05:35:12 INFO namenode.FSNamesystem: fsOwner=hadoop
13/03/25 05:35:12 INFO namenode.FSNamesystem: supergroup=supergroup
13/03/25 05:35:12 INFO namenode.FSNamesystem: isPermissionEnabled=true
13/03/25 05:35:12 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
13/03/25 05:35:12 INFO namenode.FSNamesystem: isAccessTokenEnabled=false 
accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
13/03/25 05:35:12 INFO namenode.NameNode: Caching file names occuring more than 10 times 
13/03/25 05:35:12 INFO common.Storage: Image file of size 112 saved in 0 seconds.
13/03/25 05:35:12 INFO common.Storage: 
Storage directory /usr/local/hadoop-1.0.0/hadoop_data/dfs/name has been successfully formatted.
13/03/25 05:35:12 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at sunshiny.co.kr/127.0.0.1
************************************************************/

// namenode 포멧후, dfs(분산 파일 시스템) 디렉토리 구조 확인
[hadoop@sunshiny hadoop_data]$ ls -R
.:
dfs

./dfs:
name

./dfs/name:
current  image

./dfs/name/current:
VERSION  edits  fsimage  fstime

./dfs/name/image:
fsimage

// 하둡 분산 시스템, 맵리듀스 실행후 디렉토리 구조 확인
// mapred 디렉토리 추가 생성됨
[hadoop@sunshiny hadoop_data]$ ls -R 
.:
dfs  mapred

./dfs:
data  name  namesecondary

./dfs/data:
blocksBeingWritten  current  detach  in_use.lock  storage  tmp

./dfs/data/blocksBeingWritten:

./dfs/data/current:
VERSION

./dfs/data/detach:

./dfs/data/tmp:

./dfs/name:
current  image  in_use.lock  previous.checkpoint

./dfs/name/current:
VERSION  edits  fsimage  fstime

./dfs/name/image:
fsimage

./dfs/name/previous.checkpoint:
VERSION  edits  fsimage  fstime

./dfs/namesecondary:
in_use.lock

./mapred:
local

./mapred/local:
taskTracker  tt_log_tmp  ttprivate  userlogs

./mapred/local/taskTracker:

./mapred/local/tt_log_tmp:

./mapred/local/ttprivate:

./mapred/local/userlogs:
[hadoop@sunshiny hadoop_data]$ 



# fsck : 파일 시스템의 무결성(Integrity)을 테스트

[hadoop@sunshiny bin]$ ./hadoop fsck /
FSCK started by hadoop from /127.0.0.1 for path / at Mon Mar 25 05:21:05 KST 2013
.
/tmp/hadoop-hadoop/mapred/system/jobtracker.info: CORRUPT block blk_-5169385163492313095

/tmp/hadoop-hadoop/mapred/system/jobtracker.info: MISSING 1 blocks of total size 4 B..
/user/hadoop: CORRUPT block blk_-4804980630229131934

/user/hadoop: MISSING 1 blocks of total size 112612 B.Status: CORRUPT
 Total size:    112616 B
 Total dirs:    6
 Total files:   2
 Total blocks (validated):      2 (avg. block size 56308 B)
  ********************************
  CORRUPT FILES:        2
  MISSING BLOCKS:       2
  MISSING SIZE:         112616 B
  CORRUPT BLOCKS:       2
  ********************************
 Minimally replicated blocks:   0 (0.0 %)
 Over-replicated blocks:        0 (0.0 %)
 Under-replicated blocks:       0 (0.0 %)
 Mis-replicated blocks:         0 (0.0 %)
 Default replication factor:    1
 Average block replication:     0.0
 Corrupt blocks:                2
 Missing replicas:              0
 Number of data-nodes:          0
 Number of racks:               0
FSCK ended at Mon Mar 25 05:21:05 KST 2013 in 124 milliseconds

The filesystem under path '/' is CORRUPT

※ 위 내용은, 여러 자료를 참고하거나 제가 주관적으로 정리한 것입니다.
   잘못된 정보나 보완이 필요한 부분을, 댓글 또는 메일로 보내주시면 많은 도움이 되겠습니다.
03 24, 2013 12:01 03 24, 2013 12:01


Trackback URL : http://develop.sunshiny.co.kr/trackback/865

Leave a comment


Recent Posts

  1. HDFS - Python Encoding 오류 처리
  2. HP - Vertica ROS Container 관련 오류...
  3. HDFS - Hive 실행시 System Time 오류
  4. HP - Vertica 사용자 쿼리 이력 테이블...
  5. Client에서 HDFS 환경의 데이터 처리시...

Recent Comments

  1. Generally I do not read post on bl... 레기읏룸 셔츠룸 차이. 레깅스룸 부엉이 01 24,
  2. Wonderful site. A lot of useful in... /427 01 23,
  3. 안녕하세요^^ 배그핵
  4. 안녕하세요^^ 도움이 되셨다니, 저... sunshiny
  5. 정말 큰 도움이 되었습니다.. 감사합... 사랑은

Recent Trackbacks

  1. cabo packages cabo packages %M
  2. airbnb host insurance airbnb host insurance %M
  3. beaches in cabo beaches in cabo %M
  4. joe’s dj service joe’s dj service %M
  5. short term rental property insurance short term rental property insurance %M

Calendar

«   01 2020   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. 오라클 클럽
  4. API - Java
  5. Apache Hadoop API
  6. Apache Software Foundation
  7. HDFS 생태계 솔루션
  8. DNSBL - Spam Database Lookup
  9. Ready System
  10. Solaris Freeware
  11. Linux-Site
  12. 윈디하나의 솔라나라

Site Stats

TOTAL 2824952 HIT
TODAY 571 HIT
YESTERDAY 443 HIT