본문 바로가기
데이터분석

[DACOS] CH2 실습. 빅데이터 파일럿 프로젝트

by sum_mit45 2023. 1. 10.
728x90
반응형

출처: 실무로 배우는 빅데이터 기술(김강원)

 

1. 빅데이터 파일럿 프로젝트용 PC 환경 구성
2. 빅데이터 파일럿 서버 구성
3. 빅데이터 클러스터 구성
4. 스마트카 로그 시뮬레이터

 

1. 빅데이터 파일럿 프로젝트용 PC 환경 구성

자바 설치

이클립스 설치

버추얼 박스 설치

가상 머신에 centOS 설치

기타 도구 설치: PuTTY, 파일 질라, 크롬 예제코드

 

!!! 파일 질라 sponsered 버전으로 다운받으니 설치 안됨 !!! 

참고: https://gnuwpstudy.com/파일질라-설치-안될때-해결-방법-및-설치-안됨-해결/

 

2. 빅데이터 파일럿 서버 구성

참고: https://github.com/wikibook/bigdata2nd/blob/master/%5B페이지%2049%7E76%5D_가성서버%20및%20Cloudera%20Manager%20설치.pdf

 

3. 빅데이터 클러스터 구성

클라우데라 매니저 설치

빅데이터 기본 소프트웨어(하둡, 주키퍼 등) 설치

 

DataNode 추가 및 하둡 설치 관련 환경 설정

[역할]: 각 서버에 설치돼 있는 소프트웨어 목록

DataNode: 하둡에서 실제 데이터가 저장되고 분석 작업을 담당하는 서버. 하둡은 이 데이터노드의 개수를 증가시켜 성능에 대한 선형적 확장을 보장한다.

 

(1) HDFS 복제 계수 설정

하둡에서 원본 파일 저장하면 안정성을 위해 2개의 복제본이 추가로 생성되어 총 3개의 파일이 만들어진다.

→ 파일럿 프로젝트에서 복제 계수 1로 설정하여 리소스 절약.

 

(2) HDFS 접근 권한 해제

권한 검사 해제: 테스트 환경을 고려한 설정. 실제 프로젝트에서는 계정별로 접근 권한을 명확히 분리해서 사용할 것

 

(3) HDFS 블록 크기 변경

하둡은 기본 블록 크기보다 작은 파일 처리 시 효율성이 떨어진다. 파일럿 환경에 맞춰 기본 블록크기를 64MB로 설정해 HDFS의 블록 수를 늘리고 분산율을 높인다.

 

(4) YARN 스케줄러와 리소스 매니저의 메모리 설정

YARN 스케줄러 메모리 크기 증가
리소스 매니저 메모리 크기 증가

(5) YARN 스케줄러 변경

하둡에서 job이 실행될 때는 YARN의 스케줄러가 분산 데이터 노드의 리소스를 고려해 job을 스케줄링한다. 이 때 스케줄링 알고리즘을 하둡 클러스터 환경에 따라 선택 및 변경 가능.

  • FairScheduler: FIFOScheduler를 보완해 만들어진 개선된 스케줄러. 하지만 컴퓨팅 파워가 부족한 파일럿 환경에서는 FairScheduler를 사용할 경우 작업 간에 리소스 경합이 발생해 병목 현상이 자주 발생한다. (개인PC인 경우 FIFO사용을 추천!)

 

클러스터 재시작

  • CM 홈 → [Cluster] → 우측 상단의 [작업] → [재시작] → [확인]

재시작 후, CM 홈 메뉴의 [HDFS] 우측의 클라이언트 구성 배포 아이콘이 활성화돼 있는데, 이를 클릭하면 구성 배포 화면으로 이동. [클라이언트 구성 배포] 클릭 → 변경된 설정값이 관련 클라이언트들에 적용
배포 아이콘이 사라진다.

 

주키퍼 클라이언트 명령을 이용한 설치 확인

putty 프로그램 실행 → Server02에 root 계정으로 접속

📌 IP 주소

192.168.56.101 server01.hadoop.com

192.168.56.102 server02.hadoop.com

 

(1) zookeeper-client 실행

(2) 주키퍼 Z노드 등록/조회/삭제

  • create
  • ls
  • get
  • delete

 

4. 스마트카 로그 시뮬레이터

실제 스마트카로부터 로그를 수집할 수 있는 환경이 없으므로, 스마트카 로그 시뮬레이터를 사용

 

로그 시뮬레이터 설치

(1) Server02에 파일럿 프로젝트를 위한 작업 폴더 생성

 

(2) 자바 컴파일과 실행 환경을 1.7에서 1.8로 변경. /usr/bin의 심볼릭 링크 재설정

 

(3) 파일질라 FTP 클라이언트 → Server02에 SFTP 접속 → 파일 업로드

 

(4) 업로드한 스마트카 로그 시뮬레이터 실행

  • DriverLogMain.java: 스마트카 운전자의 운행 정보를 실시간으로 발생

DriverLogMain.java 실행 → 시뮬레이터가 정상적으로 작동하는지 확인

  • CarLoginMain.java: 스마트카의 상태 정보를 주기적으로 발생

CarLogMain.java 실행 → 시뮬레이터가 정상적으로 작동하는지 확인

java -cp bigdata.smartcar.loggen-1.0.jar com.wikibook.bigdata.smartcar.loggen.DriverLogMain 20160101 10 : DriverLogMain.java 실행(첫 번째 매개변수는 실행날짜이고, 두 번째 매개 변수는 스마트카 대수)

tail -f SmartCarDriverInfo.log : 정의했던 형식의 스마트카 운전자에 대한 로그 데이터가 실시간으로 생성되는 것 확인 가능

 

파일럿 환경 관리

(1) 파일럿 환경 시작 순서

  1. 버추얼 박스를 실행하면 가상 머신 관리자 창이 실행된다.
  2. 왼쪽의 가상 머신 목록에서 Server 01, 02, 03을 순서대로 시작한다.
  3. 3개의 가상 머신 창이 활성화되고, CentOs가 구동된다.
  4. PuTTY로 Server01에 SSH 접속해서 CM이 구동 완료 됐는지 확인한다. service cloudera-scm-server status ”cloudera-scm-server is running … “ 라는 ㅁ시지가 출력되면 다음 단계 진행한다.
  5. 크롬 브라우저를 실행하고 CM 관리자 화면에 접속한다. http://server01.hadoop.com:7180
  6. CM의 홈 화면 왼쪽 [Cluster1] → [재시작] (Cluser1 전체를 재시작하면 CM이 알아서 의존성에 따라 모든 소프트웨어들을 재기동)
  7. CM의 홈 화면 왼쪽 [Cloudera Management Service] → [재시작]
  8. Cluster1과 Cloudera Management Service의 모든 메뉴들이 활성화 아이콘이 되면 완료된 것. 빨간색으로 불량 상태가 표시됐어도 서비스 중지 상태가 아니라면 무시하고 넘어간다.

(2) 파일럿 환경 종료 순서

  1. CM의 홈에서 Cluster1 중지, Cloudera Management Service 중지
  2. Server 01, 02, 03 서버에 각각 PuTTY로 접속해서 시스템 종료 명령 실행 halt : 셧다운이 안되는 경우 곧바로 3번 절차로
  3. 버추얼 박스의 가상 머신 목록에서 Server 01, 02, 03 모두 전원 끄기로 종료
  4. 버추얼 박스 관리자 닫으면 개발 환경 종료
반응형

 

728x90
반응형

'데이터분석' 카테고리의 다른 글

[DACOS] CH3 실습. 수집 파일럿 실행  (0) 2023.01.11