블로그 이미지

Tag

Recent Comment

Recent Trackback

Archive

calendar

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
  • 75,311total
  • 11today
  • 34yesterday
2017.04.19 17:27 hadoop ecosystem

Hive의 파티션 테이블에, HDFS에 수작업으로 파티션 디렉토리를 생성하는 경우, 

일일이 'ALTER TABLE table_name ADD PARTITION'을 하지 않고, 

다음 명령을 사용해 파티션을 자동으로 일괄 생성할 수 있다.

MSCK REPAIR TABLE table_name;


하지만, hive 버전에 따라 파티션 네임을 체크를 하는 경우(파티션 이름 규칙과 틀린 디렉토리명이 있는 경우) 

아래 설정변수를 세팅하여야 한다.

set hive.msck.path.validation=ignore


참고

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-RecoverPartitions%28MSCKREPAIRTABLE%29


posted by 한연수
2015.10.14 00:17 hadoop ecosystem
Kafka란? 
publish-subscribe 모델 기반의 메시징 시스템
Kafka의 구성
Server
broker > Topic > Partition > message   (개념상 크기 순)
            Client
Producer(api), Consumer(api)

         
• Broker는 서버 데몬으로써, partition들을 담고있다. 여러개의 Broker로 클러스터 구성
  이 가능하다.
• Topic은 논리적인 개념으로 여러개의 partition들의 묶음이다.
• Partition은 순차적으로 증가하는 offset을 갖는 메시지 리스트다.
                 Partition은 여러 Broker에 걸처 복제본을 생성할 수 있다. 여러 복제본 중 하나의 
Partition이 리더가 되며, 읽기/쓰기는 리더에서만 일어난다.
• 위 모든 정보는 Zookeeper로 관리된다.

Kafka 특징
파일기반의 메시지 관리

                     - OS 커널 페이지 캐시 사용

                     - 제로카피를 사용하여 I/O 증대

Replication 지원(고가용성)

                     - Partition 레벨에서 Replica.


posted by 한연수
2015.10.13 23:47 hadoop ecosystem

암바리와 클라우데라 매니저

빅데이터가 화두로 떠오른 것도 오래전 이라면 오래전 일이다. 그 기간 동안 오픈소스 중심으로 빅데이터 기술은 Apache hadoop 프로젝트와 그를 따르는 여러 ECO-System 프로젝트들로 발전해왔다. 이런 다양한 솔류션들은 태생이 오픈소스인지라 배포, 설치, 운영 등에 비교적 많은 어려움이 따른다. 이에 여러 빅데이터 메이저 회사들은 Hadoop ECO-System들을 자신의 패키지로 만들어 배포하고 이를 쉽게 설치하고 관리하는 Manage Tool을 제공하기 시작했다. 대표적인 것이 호튼웍스의 HDP와 암바리 그리고 클라우데라의 CDH와 클라우데라 매니저다. 이 두 패키지 및 Manage Tool은 많은 회사와 기관에서 손쉽고 안정적인 배포, 관리를 위해 사용되고 있다.

그리고 타조

Apache Tajo는 SQL 기반의 빅데이터 분석을 위한 hadoop ECO-System으로써, 어떤 hadoop 배포판 에서도 사용할 수 있다. 다만 암바리나 클라우데라 매니저로 설치한 hadoop의 경우 설치되는 경로와 디렉토리 구조가 일반적인 Apache hadoop 배포판과 다르기 때문에 그에 맞게 tajo에서 환경 설정을 해주어야 한다. 이 글에서는 기본적인 tajo 설정을 통해 암바리 하둡과 클라우데라 매니저 하둡에서 tajo를 설치하고 실행해 볼 것이다.


암바리의 하둡배포판으로 타조 시작하기

  • HDP 2.1이상(HDP 2.2 에서 테스트 완료)

  • Java 1.6이상

  1. 타조 소스 받기

    • 최근 릴리즈된 타조 소스

아파치 다운로드 미러에서 최근 릴리즈된 타조 소스를 다운로드할 수 있다.

http://apache.mirror.cdnetworks.com/tajo/tajo-0.10.0/tajo-0.10.0-src.tar.gz

    • Git으로 소스 Check out 하기

다음 Git명령으로 아파치 git 저장소에서 소스를 다운로드할 수 있다.

$ git clone https://git-wip-us.apache.org/repos/asf/tajo.git

  1. 타조 소스 빌드하기

타조 소스를 다운로드한 후 다음 명령으로 소스를 빌드할 수 있다.

$ cd tajo-x.y.z

$ mvn clean install -DskipTests -Pdist -Dtar

빌드가 완료되면 다음과 같은 경로에 tajo 바이너리 배포판이 생성된다.

$ ls tajo-dist/target/tajo-x.y.z.tar.gz

  1. 타조 세팅하기

빌드된 타조 배포판을 타조 설치 경로에 설치하고, 암바리 하둡 상에서 실행될 수 있는 기본적인 설정을 세팅한다.

$ cd TAJO_HOME

$ tar xzvf TAJO_SRC/tajo-dist/target/tajo-x.y.z.tar.gz

먼저, conf/tajo-env.sh에 환경변수를 세팅한다.

# Hadoop home. Required

export HADOOP_HOME=/usr/hdp/current/hadoop-client


# Hadoop lib. Required

export TAJO_CLASSPATH=$HADOOP_HOME/client/*

둘째로, conf/tajo-site.xml에 hdfs 클러스터 정보를 입력한다.

<property>

  <name>tajo.rootdir</name>

  <value>hdfs://clustername:port/tajo</value>

</property>

  1. 타조 실행하기

타조 세팅이 완료되었으면 다음 명령으로 타조를 실행한다.

$ TAJO_HOME/bin/start-tajo.sh


클라우데라 매니저의 하둡배포판으로 타조 시작하기

  • Cloudera Manager5이상

  • CDH 5이상(CDH 5.4.0 에서 테스트 완료)

  • Java 1.6이상

  1. 타조 소스 받기

    • 최근 릴리즈된 타조 소스

아파치 다운로드 미러에서 최근 릴리즈된 타조 소스를 다운로드할 수 있다.

http://apache.mirror.cdnetworks.com/tajo/tajo-0.10.0/tajo-0.10.0-src.tar.gz

    • Git으로 소스 Check out 하기

다음 Git명령으로 아파치 git 저장소에서 소스를 다운로드할 수 있다.

$ git clone https://git-wip-us.apache.org/repos/asf/tajo.git

  1. 타조 소스 빌드하기

타조 소스를 다운로드한 후 다음 명령으로 소스를 빌드할 수 있다.

$ cd tajo-x.y.z

$ mvn clean install -DskipTests -Pdist -Dtar

빌드가 완료되면 다음과 같은 경로에 tajo 바이너리 배포판이 생성된다.

$ ls tajo-dist/target/tajo-x.y.z.tar.gz

  1. 타조 세팅하기

빌드된 타조 배포판을 타조 설치 경로에 설치하고, 클라우데라 매니저 하둡 상에서 실행될 수 있는 기본적인 설정을 세팅한다.

$ cd TAJO_HOME

$ tar TAJO_SRC/tajo-dist/target/tajo-x.y.z.tar.gz

먼저, conf/tajo-env.sh에 환경변수를 세팅한다.

# Hadoop home. Required

export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop


# Hadoop lib. Required

export TAJO_CLASSPATH=$HADOOP_HOME/client/*:$HADOOP_HOME/lib/*

둘째로, conf/tajo-site.xml에 hdfs 클러스터 정보를 입력한다.

<property>

  <name>tajo.rootdir</name>

  <value>hdfs://clustername:port/tajo</value>

</property>

  1. 타조 실행하기

타조 세팅이 완료되었으면 다음 명령으로 타조를 실행한다.

$ TAJO_HOME/bin/start-tajo.sh

posted by 한연수