공부/데이터 엔지니어

[빅데이터 파일럿 프로젝트] - 2. 파일럿 프로젝트 환경 구성 - 1

chulphan 2022. 6. 30. 23:03

강의를 보며 끄적끄적하는 글

https://www.inflearn.com/course/%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%ED%8C%8C%EC%9D%BC%EB%9F%BF-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8

 

15일간의 빅데이터 파일럿 프로젝트 - 인프런 | 강의

"빅데이터+AI 풀스택 개발" - AI에 생명력을 불어 넣는 빅데이터 구축 과정을 파일럿 프로젝트 형식으로 진행합니다. 요구사항을 파악해 단계별로 플랫폼을 구성하고, 스마트카 데이터 탐색과 분

www.inflearn.com

 

1. 파일럿 프로젝트 도메인의 이해

구축할 시스템에 대한 도메인의 이해와 use case 를 이해하는 것이 중요하다

이 프로젝트에서 다루는 프로젝트 도메인은 스마트카 서비스이다

 

요구사항 파악

- 요구사항 1

차량의 다양한 장치로 부터 발생하는 로그 파일을 수집해서 기능별 상태를 점검한다

 

- 요구사항 2

운전자의 운행 정보가 담긴 로그를 실시간으로 수집해서 주행 패턴을 분석한다

 

데이터셋

1. 스마트카 상태 정보 데이터셋

배치 데이터

2. 스마트카 운전자 운행 데이터셋

실시간 데이터

3. 스마트카 마스터 데이터셋

운전자 프로파일 정보

요구사항 1,2 와 관련된 분석 데이터셋 만들때 활용

(운전 성향을 파악하는데 사용할 수 있겠다)

4. 스마트카 물품구매 이력 데이터셋

스마트 스크린을 통해 쇼핑몰에서 구입한 차량 물품 구매 데이터셋. 요구사항 1,2와 관련된 분석 데이터 만들때 사용

(상품/매출/어떤 물품을 선호하는지 파악하려고 쓰는걸까??)

 

2. 파일럿 아키텍처 이해 - 소프트웨어

개인용 PC를 활용할 수 있는, 소규모 빅데이터 시스템 사용

가상머신 2~3대 활용, 분산 환경 구축, 빅데이터 컴포넌트를 올릴거임

 

1. 수집 레이어

수집 영역은 플럼, 카프카, 스톰/에스퍼를 사용

원천 데이터의 형태에 따라서 플럼이 카프카로 데이터를 전송할지, 적재영역으로 전송할지 달라짐

배치 데이터는 적재영역의 하둡으로 전송, 실시간 데이터는 카프카 -> 스톰/에스퍼 를 통해서 적재영역의 HBase 와 레디스로 전송됨

 

2. 적재 레이어

하둡, HBase, Redis 로 이루어져 있음

하둡은 배치 데이터, HBase,Redis 는 실시간 데이터

이 데이터들은 처리/탐색 영역으로 보낸다

 

3. 처리/탐색 레이어

적재 레이어를 통한 데이터를 통해 데이터 레이크 -> 데이터 마트를 만든다

데이터 레이크 -> 데이터 마트를 만들때는 자동화가 필요한데 이 때 우지, 휴, 하이브/스파크를 사용한다

데이터를 이해하기 위해서 다양한 탐색을 해볼 것

 

4. 분석/응용 레이어

임팔라/제플린, 머하웃/스파크ML, R/텐서플로 기술.

탐색 -> AI 영역까지 확장하는 영역

 

TIP: 기술 접근법

플랫폼 전문가: 하둡 에코시스템 설치/구성

수집/적재 전문가: 대규모 데이터 연동 & 통합

처리/탐색 전문가: 데이터 모델 설계 및 처리

분석/응용 전문가: 도메인 분석 및 인사이트 도출

 

경우에 따라 (플랫폼 전문가, 수집/적재 전문가), (처리/탐색 전문가, 분석/응용 전문가) 로 분류

 

위 4가지 중 1가지 집중해야 하는 분야를 정해서 깊이 있게 공부해야 함

 

3. 파일럿 아키텍처 이해 - 하드웨어

3V (Volume, Velocity, Variety) 관점에서 면밀히 검토하고 설계해서 적절한 규모를 찾아야 함

얼마나 많이/자주/다양한 데이터가 발생하는지 고려해야 한다

(파일럿 프로젝트에서는 벤치마킹은 고려하지 않는다.)

 

3대의 가상서버를 이용해서 프로젝트를 진행한다.

 

4. 파일럿 PC 환경 구성 - 개발환경

자바는 설치 되어 있으므로 패스

이클립스 설치는 인텔리제이로 커버할 수 있을 것 같으니 패스

버추얼박스도 설치되어 있으니 패스 (난 6.1이 깔려있고 강좌에서는 5.0 버전을 설치하는데...나중에 문제가 되면 설치하는 걸로..)

putty 설치...는 ssh 클라이언트 툴이니까 terminal 에서 명령어로 해결할 수 있을 거 같아서 패스

FileZilla 도 설치 되어 있으니 패스....

 

아직까지 아무것도 설치할 게 없다;; 야호!!

 

5. VM 통합 환경 구성

** 참고사항들을 한 강의로 묶어놨다.

** 하지만 꼭 강의를 꼭 시청하고 어떠한 방식으로 구성되는지 인지하고 있어야한다

 

해당 강좌의 환경설정은 windows 기준을 하고 있어서.. 맥기준으로 쓸 거 있으면 쓰려고 함

 

*** /etc/hosts 설정파일 작성법

sudo vi /etc/hosts 에 들어가서 맨 아래에 작성하면 된다

sudo 없이 작성하고 저장하려고 하면 readonly 파일이라면서 저장이 안되니 참고

 

*** 나는 고사양 기준으로 프로젝트를 셋팅하고 있다. (i5, 16GB 이상의 메모리, 충분한 여유공간)

선생님께서 고사양 기준의 3VM 을 만들어주셨다. 

강의의 맨 아래 자료실에 '고사양 PC용 - 3VM(Server01/02/03) 이 있다. 이걸 다운로드 해야한다. 이거 모르고 저사양 기준으로 고사양 셋팅하려다가 시간낭비 엄청나게 했다.

 

*** 버추얼 머신 가동하고 나서 아래 사진의 오류가 나는데 걱정할 필요없다.

느긋하게 기다리다 보면 자동으로 로그인 화면이 나온다.(안나오는 경우는 느긋하게 5분정도 지나서 새로고침!)

 

*** 로그인 하고 들어가면 휑한 화면을 만나게 될 것이다.

당황하지 말고 아래 그림대로 서비스 추가 버튼을 진행하게 되면 강의에서 봤던 익숙한 화면을 볼 수 있을 것이다

(HDFS, Zookeeper 등 설치하는 화면)

 

*** Cloudera Management Service를 설치해야 하는데 어디있는지 한참해맸다.

기억으로는 아래 그림의 '추가' 버튼을 누르면 보였던걸로 기억한다..

*** Server01 가상 머신을 실행시키고 나서 cloudera manager 가 정상 실행되면 웹상에서 실행되는 동영상(인프런 강좌, 유튜브)이 정상 재생 되지 않는 문제가 생긴다.... 이 부분은 아직 원인을 파악하지 못했다.

임시방편으로 강의를 들어야할 때에는 Server01 가상머신을 실행시키지 않으려고 한다.

Server02 에서 명령어는 정상적으로 실행되지만 기능 (파일을 hdfs 로 옮긴다던지 하는)은 정상적으로 동작하지 않는다....

도대체 뭐가 문제인거지...ㅠㅠ

(+ 2022.07.17 취소선 친 부분은 도저히 어떻게 해결해야 될 지 모르겠어서 임시방편을 사용하기로.

강의는 아이패드로 듣고 실습은 맥을 사용한다!)

 

개념 정리 + 환경설정 중 마주한 문제들을 해결하는 것으로 이 포스트를 마무리하고

나머지 남은 부분은 2편으로 쓸 예정이다.