1. Apache Hadoop
- What is BigData?
: 서버 한대로 정의할 수 없는 규모의 데이터
: 기존 소프트웨어로는 처리할 수 없는 규모의 데이터(PB, EB)
: 3V(Volume, Velocity, Variety)
- 어떻게 개발했지?
: Cite , Citation
: SCI impact factor
: The Google File System(2003), MapReduce,
Simplified Data Processing on Large Cluster(2004) 에서 아이디어를 얻어서 만듬
>> HaDoopFileSystem MapReduce(저장과 병렬처리)
: Hadoop Standard : Apache Hadoop
※ 참조 : http://hadoop.apache.org/
※ Hadoop Company : Cloudera, HortonWorks, MapR
2. HDFS & MapReduce
# 전제 : Multi Server System: 자동으로 Replication을 수행(HighAvailability)
- HDFS
: Name Node, Data Node, JobTracker, Task Tracker: file을 여러 개의 block(64MB)으로 나누어 저장한다
: Write Once Read Many : File Overwrite 구조(Redundancy 개념)
1) HDFS Architecture
2) Datanode 개념
: 접근할 때는 numRepicas를 통해 Datanodes에 접근한다.
: Page.20
: Namenode - Datanode 간의 Heartbeat으로 통신
3) MapReduce Framework 개념
예시) WordCount : 구조를 살펴보자.
생각 확장하기
0. 파일을 받아서 처음부터 끝까지 하나씩 세면서 count값을 1씩 증가시킨다.
> 병렬구조로 짜려면 어떻게 해야할까?
- 1/n(프로세스의 숫자)로 잘라서 처리한다.(Splitting)
- 각각의 값들을 (object value, int count)형식으로 행동한다.(Mapping)
- A~Z순으로 정렬한다.(Shuffling)
- 중복되는 값들은 각각의 count값을 더하면서 value값을 표시한다.(Reducing)
- 결과값을 (object value, int count)를 출력해준다.(Final result)
유사성(Parallelism) : 반복작업이 많고 데이터가 커지면 커질수록 활용하기 좋다.
3. Hadoop 시작하기
Shell : dash(ubuntu default shell)
Hadoop Version : 1.0.3
==============================================================
- 설치하기
1) hadoop을 다운받는다(2014.9 최신 버전 : 2.5.1)
>> sudo wget http://archive.apache.org/dist/hadoop/core/hadoop-1.0.3/hadoop-1.0.3.tar.gz
2) 다운받은 파일 압축을 해제한다.
>> tar xvfz hadoop-1.0.3.tar.gz
3) 환경 변수를 설정한다.
>> export HADOOP_HOME=[hadoop_path]/hadoop-1.0.3
>> echo $HADOOP_HOME
4) PATH를 설정한다.
>> export PATH=$PATH:$HADOOP_HOME/bin
>> echo $PATH
==============================================================
설정하기
1) [hadoop_path]/conf/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
2) [hadoop_path]/conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3) [hadoop_path]/conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
4) localhost로 설정되었는지 확인한다.
> cat masters
= localhost
> cat slaves
= localhost
5) Namenode를 포맷한다.
> hadoop namenode -format
6) demon을 실행해본다.
> start-all.sh
= [실행되는 과정 출력]
> jps
= [JobTracker, Secondary NameNode, NameNode, DateNode 출력]
댓글 없음:
댓글 쓰기