본문 바로가기

Big Data

BigData_Ubuntu_Hadoop 연결 하기

20230112

 


오늘 배운 우분투 하둡 연결하기

정리 블로깅이다.

 

현재 목표는

Virtual Box를 사용해서

 

name (Master Node)

data1 (Second  Master Node)

data2 (Node)

data3 (Node)

 

총 4개의 가상 환경(Linux)를 설치한다.

 

 

그리고 각 Node의 네트워크를 설정했다.

 

  • 각 Address 192.xxx.xx.101,102,103,104
  • Netmask : 24로 통일
  • Gateway : 192.xxx.xx.x로 통일
  • DNS: xxx.xxx.xx.x로 통일

Address만 끝에 숫자를 구별하여 나눠줬다.

 


그리고 외부파일(window)과 리눅스 내부 경로와

연결 해줄 공유 폴더를 하나 만들었다.

 


Java ppa Apt

 

우분투는 JAVA 기반으로 만들어 졌기에

Java ppa APT 추가를 해줘야 한다.

 

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get install openjdk-8-jdk

그리고  gedit ~/.bashrc를 통해

우분투의 자바 패스를 정해준다.

 


 SSH 패키지 설치

 

SSHSecure Shell의 약자로

공개키 기반의 암호 방식을 사용해 원격지

시스템에 접근하여 암호화된

메세지를 전송할 수 있는 기능이다.

 

즉, namenode가 datanode에 접근 시키기 위해

설정해준다.

 

🔥 SSH 키를 생성

- ssh-keygen -t rsa -f ~/.ssh/id_rsa

 

🔥 생성한 키 등록

- cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

네임노드와 데이터노드 접근을 용이하기 위해 hosts 파일을 수정

 

name

data1

data2

data3

 


https://archive.apache.org/dist/hadoop/core/hado

 

위의 사이트를 통해 하둡 파일 압축 해제

아래 파일을 연다는 코드를 써준다.

 

op-3.2.2/hadoop-3.2.2.tar.gz

tar.gz ▶ 리눅스 압축 파일 형태

 

열린 압축 파일을 ls로 조회하고

하둡 시스템이 실행할때의 설정

아래의 파일에 추가해 준다.

 


hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-8-openjdkamd64

 

위의 파라미터는

하둡 실행시

자바 패스를 설정해주는 과정이다.

 

core-site.xml

 

위의 파라미터로 지정된 호스트의 포트보내주는 설정이다.

 

mapred-site.xml

 

mapreduce에 관련된 파라미터를 정해준다.

 

yarn-site.xml

 

리소스 매니저 Web-ui 주소

중간단계 파일 및 로그를 저장할 경로를 정의해준다.

 

workers

 

data1,2,3의 노드로 보내준다는 지목?같다.

 

더 자세한 정보는 아직 학습이 부족해

아쉽지만 나중에 또 추가적인 내용을

알게된다면 블로깅 하겠다.

 


위와 같은 하둡 실행시 셋팅할 설정을 정하면

이제 우리가 정한 Master Node에서 

Data Node디렉토리를 배포한다.

 

sudo rsync -avxP /경로/가상환경-이름/경로

 

경로를 설정해 주고

 

.bashrc를 gedit으로 열어

 

아래와 같은 파라미터를 정해준다.

 

 

위의 사진은 각각의 .xml, .sh, workers의 파일을 열어

정의한것들export한다는 의미를 가진다.

 

source ~/.bashrc

source 는 .bashrc로 정의하고

 

hadoop 마스터노드 이름 -format

하둡을 마스터노드에서 포멧해준다.

 

start-all.sh

위의 코드를 통해 드디어 hadoop을 실행한다.

 


 

jsp를 통해서 하둡이 각각의 가상환경에서 잘 돌아가고 있는지확인할 수 있다.

 

<MasterNode>

 

MasterNodeResource Manager

 

<DataNode1>DataNodeNodeManager

SecondaryNameNode

# MasterNode가 문제가 생겼을 때 대안으로 둔다는 의미

 

<DataNode2, 3>

DataNode

NodeManager

 


stocks.csv라는 파일을 하둡에 넣어보자!

 

1. 리눅스 명령어 ls로 현재 파일 목록을 본다.

 

2. /lshare 명령어로

만들어 놓은 wshare 파일에 stocks.csv를 확인한다.

# wshare는 lshare과 연결되어있다.

 

3. cd / lshare

4. hadoop fs -D dfs.block.size=1048576 -put ./stocks.csv /

하둡 파일시스템

데이터를 1048576개로 쪼개서 설정한 갯수로 블록화 해서

stocks.csv를 저장하겠다.

 

5. hadoop fs -ls /

하둡 dir을 보고

stocks.csv가 잘 들어왔는지

확인한다.