본문 바로가기

미분류/Hadoop

Hadoop은 앞으로 어떻게 될까? 빅데이터가 날이 갈수록 이슈인 지금 (이직하고 보니 데이터 분석을 안한 연구원들이 없더라) 하둡의 행방이 궁금해졌다. IT는 자고 일어나면 흥망성쇠가 달라져 있을정도로 흐름이 빠르기 떄문이다. 내가 졸업작품을 할 때만 해도 3D 프린터가 유행할거라며 많은 사람들이 직접 프린터도 만들고 코오딩도 하고 그랬는데 요즘 3D 프린터를 하는 곳을 찾기 힘들어진 것처럼 말이다. 하둡은 무슨 장점을 가지고 있을까? 직접 구축도 해보고 많은 에코시스템도 경험해보았지만 가장 큰 장점은 분산 컴퓨팅일 것이다. 자체적으로 백업이 되고 동시 작업성이 빠르다. 오픈 소스이기 때문에 가격도 저렴하고 효율적이다. 단점은 명확하다. 안전하지 않고 작은 데이터셋에 관해서는 성능이 크게 차이가 없다. 오히려 더 떨어질 때도 있다. 게다..
ERROR ) NiFi due to java.net.ConnectException: Connection refused Error NiFi를 실행했을 때 제대로 실행되지 않고 중간에 죽는 일이 발생한다. 로그를 살펴보면 다음과 같은 에러가 있다. ERROR [main] org.apache.nifi.NiFi Failure to launch NiFi due to java.net.ConnectException: Connection refused (Connection refused) 누가봐도 환경설정이 잘못되어서 생기는 오류같다. vi /opt/hadoop/nifi-1.9.2/./conf/nifi.properties 로 가서 설정을 살펴본다. (NiFi는 원래 추가로 설정을 하지 않아도 자동으로 실행된다) 이럴 때 크게 의심해야 할 친구들은 1. 방화벽 2. HOST 이다. 구원의 여지없이 방화벽을 꺼주고 hosts에 들어가 localho..
NiFi 활용기 ) Oracle과 Hive 연결 (실패기) [중요] Oracle 연결을 해봤으니 이제 HIVE를 연동하여 원하는 정보를 담은 테이블을 옮겨본다. 1. Hive? Hadoop은 System이 많아서 참 헷갈리는데, Kafka나 Zookeeper Sqoop과 같은 대부분의 친구들은 목적이 명확하고 사용법이 잘 명시되어 있어서 이해하기가 쉽다. 하지만 유독 Hadoop DB라는 Hive, Impala나 Spark, Presto 친구들은 무슨 말 하는지도 잘 모르겠고(내가 빡대가리라서?ㅎ) 정확한 사용법도 잘 모르겠다. 그래서 찾아봄. 일단 HDFS에 대해 이해가 필요하다. 분산 환경에 데이터를 저장하는 기능인데 직접 구성해봤다면 이해하기 편하다. Master + Slave 구조에서 하나의 파일을 특정 사이즈로 분리한 뒤 N개로 복제하여 분산 환경에 저..
NiFi 활용기 ) NiFi와 Oracle 연동하기 사이드 시나리오 Python을 이용하여 네이버 실시간 검색어를 크롤링하게 한다. Cron 혹은 다른 스케줄을 이용하여 분 당 데이터를 ORACLE에 쌓도록 한다. 이렇게 하면 하루에 대략 28,800개의 Keyword 데이터가 쌓인다. 적재한 데이터를 필요에 따라 HIVE나 SPARK에 옮겨준다. HDFS는 덤 선택 기간에 따라 가장 많이 언급된 키워드, 언급된 키워드들이 어떠한 공통점을 가지고 있는지 분석하도록 한다. 그중 한 키워드를 선택하면 기간에 따라 네이버 블로그를 일정 량 크롤링하여 단어 분석을 한다. 2단계까진 파이썬 내에서 구축하고 쉘로 돌려주면 된다. 하지만 3단계에서 데이터를 어떻게 가져올지 선택해야 했다.. 사실 SQOOP을 사용하면 쉽고 간편하지만 데이터의 흐름을 보고 싶으니 NiF..
Hadoop - Kafka 설치하기 ♥ Apache Kafka - pub-sub 모델의 Message Queue, 분산환경에 특화되어 있다. - 시스템 확장이 용이하다 - 메시지를 메모리에 저장하지 않고 파일 시스템에 저장한다. 1. 환경 - Kafka 2.2 - Hadoop 2.9.2 - Zookeeper 3.4 Kafka는 Zookeeper를 이용해 메시지를 보내므로 설치되어있지 않다면 꼭 설치하도록 한다. Kafka 자체에서 싱글노드 Zookeeper를 제공하긴하지만 난 클러스터링을 이미 해줬으므로 진행하지 않았다. 근데 궁금한건 Zookeeper는 홀수로 구성되어 있어서 설치하지 않은 애도 있는데 얘네는 어떻게 해야되나. 2. 설치 (1) Kafka 미러 사이트에 가서 2.2를 다운받는다. 고마우신 네이버님에게 받았다. (링크) (..
Hadoop - Oozie 설치하기 ♥ Apche Oozie - 프로젝트 규모가 커지면서 여러개의 MapReduce job을 연결하기 위해 만들어졌다. - Job을 손쉽게 제어할 수 있어서 특정 Job을 시작하거나 종료, 일시정지 할 수 있다. - 맵리듀스 작업 이외에도 사용할 수 있다. - Control + Action 노드로 구성된다. 구성 - Master 1대 + Slave 3대 인 Hadoop - Master Node에 설치 - Hadoop 2.9.2 / Oozie 4.3.1 설치 (1) 설치는 Build 이후 Server / Client 구축으로 나뉜다. - 설치는 이 곳 에서 wget 으로 받아준다. - 다운받은 파일을 적절한 위치로 옮긴다. (2) 빌드를 위해 Maven을 설치한다. (3) oozie/bin/mkdistro.s..
Hadoop - Zookeeper 설치하기 ♥ Apache Zookeeper - 분산 작업을 제어하기 위한 트리 형태의 데이터 저장소 - 데이터의 변경을 감시하여 콜백을 실행한다. - 의존성이 높기 때문에 고가용성을 꼭 지원해주어야 한다. - Reader/Follower 투표를 통해 결정되는 방식이므로 홀수개를 설치하여야 한다. 1. 설치 (1) wget으로 Zookeeper Stable 버전을 다운로드 한다. (2) 구성파일을 작성한다. 파일은 zookeeper/conf 에 위치해있다. sample을 바꾸어서 사용하도록하자. (3) zoo.cfg tickTime=2000 dataDir=/data/zookeeper/data clientPort=2181 initLimit=5 syncLimit=2 server.1=master:2888:3888 ser..