본문 바로가기

data engineering

(12)
Kafka broker 연결 안됨 상황 웹에서 유저의 데이터를 kafka로 옮기는 상황 procedure에서는 값을 받는데, broker 서버 연결이 안되서 consumer에서 값을 받아오지 않았다ㅠ 문제는 gcp 프로젝트를 옮겨서 새로운 서버에서 진행하니 발생ㅠㅠ 방화벽 문제도 아니고 토픽도 새로 생성이 되는 것을 보면 서버간의 통신 문제가 아님 브로커 접속이 안되는 이유를 찾아봤음 kafka 로그를 봤을 때 내부 아이피를 사용하는 것을 확인함... 나는 gcp에서 고정 ip를 할당했고 이걸로 연결함... 해결 다음의 글에서 해결을 했다 https://oboki.net/workspace/data-engineering/kafka/external-listener-설정/ [Kafka] External Listener 설정 – oboki ob..
Hbase 개요 Hbase는 구글 Bigtable을 모델로 하여 초기 모델 개발(2007년)한, Hadoop 기반의 NoSQL 이다 Bigtable : 매우 큰 규모로 확장이 가능하게 설계된 분산 저장 시스템 Hbase는 물리적인 저장소로 HDFS를 사용해 데이터를 영속적으로 보관하기 때문에 Hadoop이 꼭 설치 및 작동이 되고 있어야 한다. 링크 클릭시 각 hbase 버전에 맞는 hadoop 버전을 확인 할 수 있다. Hbase의 특징 Hbase는 key/value 형식으로 단순한 구조를 갖고 있으며 분산 데이터 저장소이기 때문에 선형적인 확장이 가능해 빅데이터 처리가 가능하다. Hadoop 기반으로, HDFS에 데이터를 영속적으로 보관할 수 있으며, MapReduce를 이용해 데이터를 처리할 수 있다. 데이터를 다..
Apache Hive 개요 및 간단한 실습 ■ 하이브(Apache Hive) 1) 하둡 이전의 (빅)데이터 분석업무를 맡은 사람들은 SQL등을 활용하여 업무를 수행했음 2) 하지만 하둡의 맵리듀스는 애플리케이션을 구현해야 처리 / 분석을 할 수 있었음 3) 그래서 기존의 데이터분석가를 위해 ‘페이스북’이 하이브를 개발 4) 현재는 하둡플랫폼으로 빅데이터를 처리하는 회사에서 다양하게 사용하였음 - 페이스북, 넷플릭스 등 ■ 하이브(Apache Hive)의 개념 1) 하둡 데이터(파일)를 SQL과 비슷한 쿼리를 이용해서 다룰 수 있게 해줌 - 하이브QL 지원 2) DW(Data Warehouse) 어플리케이션에 적합 - 하둡의 기반으로 대량의 데이터를 배치 연산 가능 - 레코드 단위 갱신/삭제 - 트랜잭션 제한적인 지원(0.13 버전 이전에는 아예 ..
Flume 설치 및 간단한 예제 Flume 설치 - 원하는 계정(필자는 CentOs7 환경에 bigdata계정을 만들어 설치했음)에 Flume 파일 다운 $ wget http://mirror.navercorp.com/apache/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz - 다운 받은 ‘apache-flume-1.8.0-bin.tar.gz’ 파일 압축 풀기 $ tar xvfz apache-flume-1.8.0-bin.tar.gz - root로 로그인 후 /etc/profile 열기 # vi /etc/profile - /etc/profile에 아래와 같이 플룸 바이너리 경로를 입력후 저장 export FLUME_HOME=/home/bigdata/apache-flume-1.8.0-bin export PATH..
Flume 개요 출처: https://flume.apache.org/index.html HDFS에 데이터를 입력할 때 아래와 같은 명령으로 간단히 처리 가능하다. -> $ hdfs dfs –put [디렉토리] 하지만, 이런 경우는 미리 잘 준비된 데이터를 업로드할 때 유용하고 현실에서는 서비스의 로그가 계속 유입이 되고, 즉시/대량으로 HDFS같은 DataStore에 저장되어 분석해야 한다. 데이터를 유실 없이 안정적으로 전송하기 위해 다양한 옵션이 필요한데, Hadoop으로 데이터를 입력하기 위해 간단하고 유연하며 확장이 가능한 솔루션으로서 Apache Flume이 적합하다. 플럼은 데이터 스트림을 수집 / 전송하고 HDFS에 저장할 수 있는 도구 Apache Flume은 2011년에 Cloudera CDH3에 처음으..
하둡 운영 데이터는 SK데이터허브( https://www.bigdatahub.co.kr/index.do)에서 받았음 데이터의 크기: 2.95MB 하둡 구성 호스트 명 하둡2 설치 내용 server01 주키퍼, 액티브 네임노드, 저널노드, 데이터노드, 리소스매니저 server02 주키퍼, 스탠바이 네임노드, 저널노드, 데이터노드, 노드매니저 server03 주키퍼, 저널노드, 데이터노드, 노드매니저 server04 데이터노드, 노드매니저 ■ HDFS 운영 - 네임노드에게 클라이언트는 권한을 받으면 데이터노드에 접근해 데이터 저장 - 데이터는 블록 단위 (기본 64MB 또는 128MB)로 나눠져 저장 - HDFS의 블록 복제수는 기본적으로 3개 - 네임노드는 데이터 노드에 장애가 나면 그 데이터노드의 블록들을 다른 서..
빅데이터 수집 - 빅데이터의 수집 기술은 조직의 내외부에 있는 다양한 시스템으로부터 이다. - 빅데이터 수집에는 기존의 수집 시스템보다 더 크고 다양한 형식의 데이터를 빠르게 처리해야 하는 기능이 필요한데, 그래서 확장이 가능하고 분산 처리가 가능한 형태로 구성해야 한다. - 빅데이터 수집기는 로우(raw) 시스템의 다양한 인터페이스 유형(DB, 파일, API, 메시지 등) 과 연결되어 정형, 반정형, 비정형 데이터를 대용량으로 수집한다. - 특히 외부 데이터(SNS, 블로그, 포털 등)를 수집할 때는 크롤링 등 비정형 처리를 위한 기술이 선택적으로 적용된다. * crawling이란? 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위 - 수집 처리에는 대용량 파일 수집과 실시간 스트림 수집으로 나뉜다. -..
Hadoop의 개요 #4 - MapReduce와 YARN 하둡 개념을 잡을 때, 맵리듀스와 얀의 관계에 대해 이해하는게 참 힘들었다. YARN의 또다른 이름이 MapReduce2이다. 아니 왜...? 당시 공부 할때, 맵리듀스와 얀 둘이 아예 다른 개념인것 같았다. 우선 개념만! 공부할 때는 뜬구름 속 이야기 같아서 머리에 텍스트만 늘었을 뿐, 개념들이 형상화 되어 내 것이 되지 못했기 때문이다. 그러다보니 이해도 안되고 왜 얀이 맵리듀스의 진화형인지 도통 모르겠더라. ㅠㅠ가만히 있을 수는 없으니까...그냥 삽질 몇번 하다보니 개념이 잡히게 되었다. 역시 나는 손을 움직여야한다 대략적으로 개념을 잡고 가자면, 하둡 1.0에서는 오로지 맵리듀스 방식으로 HDFS에 저장된 데이터를 처리했었다. 맵리듀스는 대량의 데이터를 처리할 때 괜찮은 성능을 제공하는 알고리즘이..