2023. 3. 26. 21:50ㆍit
0. 서론
[하둡(hadoop) 이란?]
오늘은 오래된.. 빅데이터의 코끼리 친구인, 하둡에 대해 설명해 보겠다. 하둡은 빅데이터 분야에서 가장 혁신적인 기술이라고 생각한다. 솔직히, 하둡 자체로는 엄청나게 불편한 시스템으로 그의 친구들인 하둡 에코시스템들이 없었다면, 하둡은 역사 속에 사라졌을 것이다.
하지만, 하둡은 역사속으로 사라지지 않았고, 빅데이터 시대를 열어, 대용량의 데이터를 기반으로 학습하는 현재의 AI기술까지 영향을 주었다. 하지만, 하둡의 기술은 이론적으로 그리 복잡한 기술은 아니다. 대용량의 데이터를 한 곳에 저장해 관리하니, 데이터의 조회성능의 한계가 오자, 여러 스토리지에 나눠어서 저장, 조회하자는 이론이다. 즉, 혼자 다 일하지 말고, 여러명이 함께 일을 나눠어서 하자는 사상이다.
[역사]
하둡은 2004년에 미국의 소프트웨어 엔지니어인 더그 커팅(Doug Cutting)과 마이크 카프로프트(Mike Cafarella)에 의해 시작되었습니다. 그 당시 더그 커팅은 자신이 만든 웹 크롤러를 구동하기 위해 대용량 데이터를 처리할 수 있는 분산 시스템을 찾고 있었고, 구글의 분산 시스템인 GFS(Google File System)와 맵리듀스(MapReduce)를 참고하여 하둡을 개발하게 되었습니다.
이후 2006년에는 야후가 하둡 프로젝트에 관심을 보이고, 하둡을 자사의 검색 엔진에 적용하였습니다. 이를 계기로 하둡은 대규모 데이터 처리 분야에서 주목받게 되었고, 2008년에는 아파치 소프트웨어 재단에 의해 공식적으로 오픈소스 프로젝트로 등록되었습니다. 이후 하둡은 점차 발전하면서, 하둡 에코시스템(Hadoop Ecosystem)이라는 다양한 하둡 기반 기술들이 생겨나고 있습니다.
1. 하둡 설치 방법
1-1. 자바 설치
- 하둡은 자바로 만들어졌다. 그래서 먼저 자바를 설치해야 한다.
sudo apt-get update
sudo apt-get install default-jdk
1-2. 하둡 다운로드
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
1-3. 하둡 압축 해지
tar -xzvf hadoop-3.3.1.tar.gz
1-4. /usr/local/hadoop 경로로 이동
sudo mv hadoop-3.3.1 /usr/local/hadoop
2. 하둡 구성
2-1. hadoop-env.sh 수정
- hadoop-env.sh 파일은 Hadoop 클러스터에 대한 환경 변수를 설정하는 데 사용된다. 주로 Java 실행 환경과 같은 변수를 지정해 준다.
sudo vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh
2-2 자바 홈 설정
export JAVA_HOME=/usr/lib/jvm/default-java
2-3. core-site.xml 수정
- Hadoop 클러스터 전반에 걸쳐 사용되는 일반적인 구성에 대한 정보를 포함한다. Hadoop 클러스터에서 사용할 파일 시스템을 지정하며, Hadoop 클러스터에서 사용하는 서비스와 관련된 구성을 정의하고 배포한다.
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
2-4. hdfs-site.xml 수정
- Hadoop 구성 요소 인, 블록 크기, 복제 요소 및 데이터 노드의 디렉토리 구성 위치 와 같은 정보를 포함한다.
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///usr/local/hadoop/hadoop_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///usr/local/hadoop/hadoop_data/hdfs/datanode</value>
</property>
</configuration>
3. 하둡 실행
/usr/local/hadoop/bin/hdfs namenode -format
/usr/local/hadoop/sbin/start-all.sh
솔직히, 요즘은 클라우드 사용하면서, 해당 작업을 크게 진행하지 않는다. 그리고 대부분의 사이트에서는 하둡은 이미 설치가 되어 있다. ( 이제 서야 설치한다면, 엄청 보수적인 회사일 듯...?? ) . 이 자료는 아마 대학생이나, 대학원생들이 실습하면서 한번 쯤 찾아볼 겉은 자료이다. 그래도 기초가 중요한 것이니 ㅎㅎ 한번 이해하고 공부해보는 것도 좋은 방법이다.
참고로 회사에 취직하면, 하둡보다는 하둡 에코시스템이랑 친구를 먹는게 좋다.
"내가 하둡이 되기 보다, 하둡의 친구가 되자" 라는 말을 남기며, 이글을 마무리 하겠다. ㅎㅎ
'it' 카테고리의 다른 글
mysql 모니터링( slow 쿼리 찾기 ) (0) | 2023.03.30 |
---|---|
우분투(ubuntu)에서 Apache Ignite 설치 및 인메모리(inmemory) 설정, 그리고 캐시(cache) 데이터 샘플 (0) | 2023.03.27 |
PYTHON 정규식 문법 및 예제 ( 전화번호, 이메일, 숫자 출력, 공백 제거, URL 출력, 주민 번호 패턴 찾기 ) (0) | 2023.03.25 |
Python 웹(frontend) 만들기 ( with pynecone ) (0) | 2023.03.23 |
Redis 데이터 백업, 디스크 저장 방법 ( AOF, RDB, 스냅샷 ) (0) | 2023.03.21 |