인프런 커뮤니티 질문&답변

이수진님의 프로필 이미지

작성한 질문수

15일간의 빅데이터 파일럿 프로젝트

6.실시간 적재 파일럿 실행 4단계 - 실시간 적재 기능 테스트

Toplogy 생성 관련 문의

21.09.15 15:18 작성

·

185

0

이번 강의 중에는 Toplogy 생성에 대해 깊에 들어가는 부분이 아니라고 하셔서 핵심 코드를 설명을 해 주셨는데요.
 
배포하라고 첨부해주신 bigdata.smartcar.storm-1.0.jar 를
구조가 궁금해서 열어봤는데요
다양한 의존성 lib부터 많은 패키지 및
파일들로 구성되어 있었습니다.
 
이부분에서 말씀하신 핵심 로직은 어디에 위치하는것일까요?
 
그리고 토플로지를 생성하려면 어떤 도구나 방법 (JAVA 언어자체 외적으로 기본 의존성 라이브러리를 어떻게 세팅되는지)이 있는지 궁금합니다.
 
기본 핵심 로직만 설정하고 빌드 과정을 통해서
저런 의존성 java library는 같이 빌드 되는것인지
아니면 소스안에 저 모든 패키지가 토플로지 구성 시작할때 모두 다 준비되어야 하는건지 궁금합니다.
 
 
아 그리고 친철한 강의 덕분에 실시작 적재도 실습해 보았습니다.
궁금한게 지난번에 HBase에 Store 는 결국 HDFS랑 연결되어 있다고 하셨는데 실시간 적재를 계속 진행해도 하둡 유틸리티에
hdfs 사이즈 부분은 딱히 증가하지는 않던데.
일정 용량 이상 더 들어가야 hbase에서 hdfs로 데이타를 내리는 구조인가요? 궁금한게 많아서 죄송합니다.. ㅠ

답변 1

1

Big.D님의 프로필 이미지
Big.D
지식공유자

2021. 09. 15. 22:59

안녕하세요! 빅디 입니다.

아주 긴~~~ 질문을 주셨네요..ㅎㅎ

아래 답변을 드립니다.  -빅디 드림

 

Q. 이부분에서 말씀하신 핵심 로직은 어디에 위치하는것일까요?

A. 다운로드 예제소스의 아래 경로에 보면 스톰 소스들이 있습니다.
     이클립스의 메이븐 프로젝트 워크스페이스 디렉토리 입니다.

     /workspace/bigdata.smartcar.storm/src/main/java

 

Q. 토플로지를 생성하려면 어떤 도구나 방법 (JAVA 언어자체 외적으로 기본 의존성 라이브러리를 어떻게 세팅되는지)이 있는지 궁금합니다.

A. 해당 폴더에 보시면 pom.xml 메이븐 파일이 있습니다. 여기서 라이브러리 의존성 및 빌드등을 정의 합니다.  
    (참고로 메이븐 or 그래들 등에 대해 정확히 이해 하려면, 자바 개발환경에 대한 학습이 좀 필요합니다. )

 

Q. 기본 핵심 로직만 설정하고 빌드 과정을 통해서 저런 의존성 java library는 같이 빌드 되는것인지
아니면 소스안에 저 모든 패키지가 토플로지 구성 시작할때 모두 다 준비되어야 하는건지 궁금합니다.

A. 빌드는 작성한 소스 프로그램만 되는데, 해당 프로그램이 라이브러에 의존성을 갖게 되면 그 라이브러리 파일도 묶여서 패키징(.jar)이 됩니다. 추가로 의존 라이브러리를 빼고 패키징 할 수도 있는데요, 이런 경우는 배포 환경에 의존성을 갖는 라이브러들이  있다면 제외 합니다.

 

Q. 일정 용량 이상 더 들어가야 hbase에서 hdfs로 데이타를 내리는 구조인가요?

A. 네~ 맞습니다. 이를 HBase의 Major Compaction 이라고 합니다. 유틸리티 명령으로 조회가 안되는건 실시간성 작은 메세지 데이터들이 아직 HRegion 서버에만 있고, Major Compaction 발생하지 않아 HDFS로 내로오지 않아서 입니다.