'클라우데라'에 해당되는 글 6건

  1. 2016.01.08 HBase 예제 살펴보기~
  2. 2016.01.04 [QuickStartVM] 하둡 word counting 테스트
  3. 2015.12.31 HDFS 간단히 살펴보기~
  4. 2015.12.30 클라우데라 QuickStart VM 설치하기
  5. 2015.12.28 구글, 페이스북, 링크드인, 야후, 클라우데라, 아파치의 빅데이터 스택 비교
  6. 2014.08.12 Cloudera Impala - 하둡 기반의 SQL 쿼리 엔진으로 실시간 분석을

HBase 예제 살펴보기~

|



이번에는 클라우데라에 포함된 HBase에 대해서 살펴보도록 하자. 

HBase에 대해서는 하둡(Hadoop) 관련 기술 - 피그, 주키퍼, HBase에 대한 간략한 정리! 를 참고하기 바란다. 


HBase 서버 확인

먼저 HBase 서버가 동작 중인지 확인해 봐야 한다. 

HBase는 Master와 RegionServer가 모두 동작해야 하므로 다음 명령어로 상태를 확인하고 

동작 중이 아닌 경우, start 명령어로 시작하면 된다. 

> sudo service hbase-master status
> sudo service hbase-regionserver status

> sudo service hbase-master start
> sudo service hbase-regionserver start


HBase 실행 

1. HBase Shell을 실행한다.  

> hbase shell


2. HBase에 userinfotable 을 만들고 데이터를 넣어보자. 

hbase(main):001:0> create 'userinfotable',{NAME=>'username'},{NAME=>'fullname'},{NAME=>'homedir'}
hbase(main):001:0> put 'userinfotable','r1','username','vcsa'
hbase(main):001:0> put 'userinfotable','r2','username','sasuser'
hbase(main):001:0> put 'userinfotable','r3','username','postfix'
hbase(main):001:0> put 'userinfotable','r1','fullname','VirtualMachine Admin'
hbase(main):001:0> put 'userinfotable','r2','fullname','SAS Admin'
hbase(main):001:0> put 'userinfotable','r3','fullname','Postfix User'
hbase(main):001:0> put 'userinfotable','r1','homedir','/home/vcsa'
hbase(main):001:0> put 'userinfotable','r2','homedir','/var/sasuser'
hbase(main):001:0> put 'userinfotable','r3','homedir','/user/postfix'


3. scan을 활용해서 userinfotable의 내용을 확인해 본다. 

hbase(main):001:0> scan 'userinfotable'
hbase(main):001:0> scan 'userinfotable',{COLUMNS=>'fullname'}


Hbase Shell을 빠져나올때는 exit 명령어를 사용한다. 


Hue에서의 HBase

Hue 인터페이스에서도 HBase의 내용을 확인하고 스캔할 수 있다. 

Data Browser > HBase를 선택하면 HBase 화면으로 들어갈 수 있다. 

위에서 생성한 userinfotable이 존재하는 것을 확인할 수 있다. 

테이블 이름을 클릭해서 해당 내용을 조회하고 처리할 수 있다. 


'Cloud&BigData > 하둡(Hadoop)' 카테고리의 다른 글

HDFS 명령어 테스트~  (0) 2016.01.13
Pig 두번째 예제 살펴보기~  (0) 2016.01.11
HBase 예제 살펴보기~  (0) 2016.01.08
Hive 예제 살펴보기~  (0) 2016.01.07
Pig 첫번째 예제 VM에서 실행하기~  (0) 2016.01.06
Hadoop 2.0 - HDFS2와 YARN  (0) 2016.01.05



Trackback 0 And Comment 0

[QuickStartVM] 하둡 word counting 테스트

|



클라우데라의 QuickStart VM을 활용해서 하둡 맵리듀스를 처리하는 예제를 살펴보기로 하자. 

만약 VM이 설치되어 있지 않다면, QuickStart VM 설치하기 글을 참고하기 바란다. 


테스트할 예제는 가장 기본적인 WordCount 예제이다. 

해당 소스에 대한 설명은 WordCount 맵리듀스 테스트 글을 살펴보기 바란다. 


Word Count 테스트 

이제 QuickStart VM을 통해서 Word Count를 해보기로 하자. 

1. VM에서 터미널을 열고 다음 명령어로 hadoop-mapreduce-examples.jar 파일이 있는 곳으로 이동하고 해당 파일을 확인한다. 

> cd /usr/lib/hadoop-mapreduce/
> ls *examples.jar


2. hadoop jar 명령어로 wordcount 예제를 실행해 보자. 

> hadoop jar hadoop-mapreduce-examples.jar wordcount


Word Count를 실행하기 위해 입력 파일(<in>), 출력 파일(<out>)을 포함시켜야한다고 나온다. 

그래서 다음 단계로 입력 파일을 만들어 보도록 하자. 


3. testfile1과 testfile2를 다음과 같이 생성한다. 

> echo "Hello world in HDFS" > /home/cloudera/testfile1
> echo "Hadoop word count example in HDFS" > /home/cloudera/testfile2
> ls /home/cloudera/testfile*


4. 하둡 파일 시스템에 /user/cloudera/input 폴더를 생성하고 위에서 만든 testfile1, testfile2를 하둡 파일시스템에 올린다. 

> hdfs dfs -mkdir /user/cloudera/input
> hdfs dfs -put /home/cloudera/testfile1 /user/cloudera/input
> hdfs dfs -put /home/cloudera/testfile2 /user/cloudera/input


5. 이제 word count 예제에 입력, 출력을 지정해서 맵리듀스 잡을 실행시켜 보자. 

> hadoop jar hadoop-mapreduce-examples.jar wordcount /user/cloudera/input /user/cloudera/output


6. 하둡 파일 시스템의 결과값을 다음 명령어로 확인해 본다. 

> hdfs dfs -ls /user/cloudera/output


7. 단어 갯수와 순서가 저장되어 있는 파일 part-r-00000의 내용을 확인해 보면 다음과 같다. 

> hdfs dfs -cat /user/cloudera/output/part-r-00000


8. 마지막으로 결과 파일을 get 명령어로 로컬 파일(/home/cloudera/wordcount.txt)로 가져온다. 

> hdfs dfs -get /user/cloudera/output/part-r-00000 /home/cloudera/wordcount.txt


이상으로 VM에서 하둡 맵리듀스 잡을 실행해보았다. 

본 강의 내용은 University of California, San Diego의 나타샤 발락(Natasha Balac) 교수의 자료를 참고했다. 





Trackback 0 And Comment 0

HDFS 간단히 살펴보기~

|



"클라우데라 QuickStart VM 설치 후 먼저 HDFS 명령어를 통해 

하둡 파일시스템에 파일을 올리는 간단한 예제를 살펴보고, Hue 인터페이스로도 확인해 보기로 하자.


1. VM에서 상단의 터미널 아이콘을 클릭한다. 


2. 터미널에서 testfile.txt를 생성하고 하둡 파일시스템에 업로드한다. 

HDFS의 ls 명령어로 실제 파일이 업로드 된 것을 확인할 수 있다. 

 


3. 이제 웹 브라우저 기반의 HUE 인터페이스를 통해서 해당 파일을 살펴보자. 

웹브라우저의 북마크에서 Hue를 클릭하고 우측 상단의 "File Browser"를 선택한다. 

여기에서도 testfile.txt 파일이 올라가 있는 것을 확인할 수 있다. 


4. testfile.txt 파일을 클릭하면 해당 파일의 상세 내역을 볼 수 있다. 

또한 왼쪽의 "Edit file"을 선택하여 해당 파일의 내용을 수정할 수도 있다. 


5. 실제로 Hue를 통해 testfile.txt 파일의 내용을 수정하는 화면이다. 


이상으로 간단하게 텍스트 파일을 생성하고, 하둡 파일 시스템에 올린 다음, HUE 인터페이스를 통해 수정하는 부분까지 살펴봤다. 

다음에는 하둡 word counting 맵리듀스 예제를 QuickStart VM에서 돌려보는 예제를 살펴보기로 하자. 

QuickStart VM을 활용한 예제는 University of California, San Diego 대학의 나타샤 발락(Natasha Balac) 교수의 자료를 참고했다. 





Trackback 0 And Comment 0

클라우데라 QuickStart VM 설치하기

|



클라우데라에서 하둡 에코 시스템의 테스트를 위한 QuickStart VM을 제공하고 있다. 

Hadoop 2.0, Spark, Hive, Pig, HBase, Sqoop, Flume 등 하둡 관련 시스템을 일일이 설치하지 않고 

가상환경에서 마음껏 테스트 할 수 있는 환경을 제공한다. 

또한 사전에 포함된 데이터를 통해서 각종 기능을 테스트할 수 있는 "Getting Started"도 있으므로 하둡에 관심이 있으면 한번쯤 설치해서 사용해보기 바란다. 


QuickStart VM 다운로드 및 설치

QuickStartVM은 VMWare, KVM, VirtualBox의 VM으로 각각 제공되는데 VirtualBox를 통해서 설치해보기로 한다.  

1. https://www.virtualbox.org/wiki/Downloads로 이동해서 OS에 적합한 VirtualBox를 다운로드하고 설치한다. 

2. 클라우데라의 QuickStart VM을 https://downloads.cloudera.com/demo_vm/virtualbox/cloudera-quickstart-vm-5.4.2-0-virtualbox.zip 에서 다운로드 한다. (4G 정도의 용량으로 다운로드하는데 시간이 좀 걸린다.)

3. 다운로드한 QuickStartVM의 압축을 푼다. 

4. VirtualBox를 실행한다. 

5. File > Import Appliance 를 클릭하여 VM을 임포트한다. 


6. 폴더 아이콘을 클릭한다. 


7. QuickStart VM의 압축을 해제한 폴더에서 cloudera-quickstart-vm-5.4.2-0-virtualbox.ovf 파일을 선택한다. 


8. "import" 버튼을 클릭하고 QuickStart VM이 임포트 될 때까지 기다린다. 


9. 왼쪽 창에서 cloudera-quickstart-vm을 선택하고 "Start" 버튼을 클릭해 실행한다. 


앞으로 위에서 설치한 QuickStart VM을 기반으로 각종 예제들을 설명할 것이므로 한번쯤 설치해보기 바란다. 

그리고 위 설치 과정과 이미지는 University of California, San Diego의 나타샤 발락(Natasha Balac) 교수의 자료를 참고했다. 





Trackback 0 And Comment 0

구글, 페이스북, 링크드인, 야후, 클라우데라, 아파치의 빅데이터 스택 비교

|



아파치 진영을 중심으로 하둡 기반의 다양한 어플리케이션을 통해서 실시간 처리, 기계학습, 그래프 분석 등을 수행하고 있다. 

하둡의 기본 개념이 구글 시스템에서 시작된 만큼 먼저 구글의 분산 처리 구성을 살펴본다. 

그리고 아파치에서 제공하는 하둡 에코시스템의 구성을 알아본 후, 

클라우데라, 페이스북, 야후, 링크드인 등에서 이를 활용하는 구조를 정리해 본다. 


결국 회사의 용도에 맞춰서 기술들을 잘 조합해서 사용하는 것이 관건인 듯하다. 

물론 필요에 따라 클라우데라의 임팔라나 링크드인의 카프카와 같이 직접 만들수도 있지만 말이다. 


구글 빅데이터 스택

구글은 Chubby라는 'Coordination'을 사용하고, 데이터스토어로는 Big Table을 쓰고 있다. 

그리고 맵리듀스의 상위 언어로 Sawzall을 사용한다. 데이터 통합에는 MySQL Gateway를 이용한다. 


아파치 하둡 에코시스템

아파치에서 제공하는 하둡 에코시스템을 살펴보면 'Coordination'으로 주키퍼를 사용하고, 

데이터 스토어로 HBase를 추천하고 있다. 

맵리듀스의 상위 언어로 Pig와 Hive 같은 것을 추천하고 있고, 데이터 통합은 Sqoop, Flume을 이야기 한다. 


클라우데라, 페이스북, 링크드인, 야후의 하둡 시스템 구성 

마지막으로 각 회사별로 하둡 시스템을 어떻게 구성해서 사용하는지 살펴보도록 하자. 

먼저 하둡 배포판을 제공하는 클라우데라의 구성은 다음과 같다. 

아파치의 하둡 에코시스템과 유사하지만 웹 기반의 UI Framework인 Hue를 제공하고 있는 특징이 있다. 


페이스북은 데이터 통합에 있어 Sqoop이나 Flume 대신 Scibe를 사용하는 점이 다르다. 

대부분의 회사들이 데이터 특성이 있어서인지 데이터 통합 부분은 별도로 구축해서 사용하는 경우가 많은 듯 하다. 

그리고 상위 언어로 HiveQL을 활용하는 Hive를 주로 사용한다. 

 

링크드인은 데이터 통합에 Sqoop과 Kafka를 함께 사용한다. 

Kafka는 실시간 분산 메시징 시스템으로 링크드인에서 개발한 것이다. 

그리고 데이터 스토어로 Voldemort를 사용하고 Pig와 Hive를 모두 사용하고 있다. 


야후는 데이터 통합에 있어 Data Highway를 사용하고 있다. 


이상으로 구글부터 시작해서 각 회사별 하둡 에코시스템의 구성을 살펴봤다. 

Spark의 등장과 함께 하둡 시스템의 기본적인 구성은 이제 정리가 되어 가는 듯 하다. 

어떻게 잘 조합해서 자신의 플랫폼에 적합한 최적의 시스템으로 구성하느냐에 따라 활용도가 결정될 듯 하다. 


이제 빅데이터는 개념과 시스템 구성을 넘어서 진정한 분석을 통한 가치 창출로 넘어가는 단계인 듯 하다. 





Trackback 0 And Comment 0

Cloudera Impala - 하둡 기반의 SQL 쿼리 엔진으로 실시간 분석을

|




Cloudera Impala 소개

Cloudera Impala는 SQL 형태로 Hadoop의 데이터를 이용해 실시간으로 분석할 수 있는 시스템이다. 



이것은 MapReduce 프레임워크를 사용할 때, 배치 처리로 인한 지연이 발생하는 것을 최적화 한 것이다. 

구글에서도 2006년부터 기존의 GFS와 MapReduce에 실시간 처리가 가능한 Dremel을 본격적으로 활용하고 있다. 


Apache Hadoop의 HDFS와 MapReduce가 구글의 GFS, MapReduce 논문을 기반으로 만들어진 것처럼, 

Cloudera Impala도 2010년 발표된 구글의 Dremel 논문을 기반으로 하고 있다. 

다만, SQL과 유사한 형태를 하둡에서 활용하기 위해 Hive의 쿼리 방식의 인터페이스를 가져왔다. 


하둡을 Cloudera의 CDH 배포판을 사용할 경우, 쉽게 impala를 설치해서 테스트해 볼 수 있다는 장점도 있다. 

물론 직접 impala를 개별적으로 설치할 수도 있다. 단, Hive QL을 기반으로 하기 때문에 Hive를 먼저 설치한 후, Impala를 세팅해야 한다. 


실시간 분석이 가능한 Impala

그렇다면 Hive도 있는데 왜 Impala를 주목해야 할까?

Hive는 내부적으로 MapReduce로 변환해서 분석을 수행하고 결과를 가져오게 되어있지만,  

Cloudera Impala는 Dremel을 참조하여 구성된 고유의 분산 쿼리 엔진을 사용한다. 


그로 인해 Cloudera Impala는 Hive와 비교하여 동일 데이터에 대한 응답 시간에 큰 차이가 있다. 


일반적으로 Cloudera Impala를 실시간 기술(Real-Time in Data Analytics)이라고 한다. 

과연 어떤 경우를 실시간이라고 할까? 

최근 거의 실시간에 가깝다고 하는 Near Real Time도 Real-Time 기술로 이야기 하기도 한다. 


하둡을 만든 유명한 더그 커팅(Doug Cutting)은 다음과 같이 이야기 했다. 


It's when you sit and wait for it to finish, as opposed to going for a cup of coffee or even letting it run overnight. That's real time. 

Real-time in data analytics is better framed as waiting less. 


즉, 기다리지 않고 결과를 앉아서 얻을 수 있다면 실시간이라 할 수 있다는 것이다. 


Impala 아키텍처

Cloudera Impala 아키텍처는 다음과 같이 Impala Daemon, Statestore, 실행 모델(execution model)을 포함하고 있다. 



다른 분산 시스템들은 데이터를 처리하기 전에 네트워크 상에서 데이터를 이동시키지만, 

Cloudera Impala는 데이터가 저장된 위치에서 프로세스를 처리하기 때문에 다른 시스템보다 빠르게 수행된다. 


Cloudera Impala는 익숙한 SQL 형식으로 아주 빠른 데이터 처리를 원하는 사람들을 위해 설계된 것이다. 

또한 하둡 기반으로 동작할 수 있도록 별도의 MPP(Massive Parallel Processing) 쿼리 엔진을 제공한다. 

이 쿼리 엔진을 통해 하둡에 저장된 다양한 포맷의 데이터를 분석하여 원하는 결과를 실시간으로 가져올 수 있다. 

하둡 기반으로 동작하므로 Hadoop Core Component, HDFS, Hive, 그리고 HBase까지 모두 지원한다. 


마치면서

최근 필자도 Cloudera의 CDH를 활용하여 HBase, Hadoop으로 프로젝트를 진행했다. 

기존 MapReduce를 활용하여 주요 기능을 처리하고 있었는데, 

다양한 기능 제공을 위해 Cloudera Impala와 같은 실시간 기술의 도입을 검토해 보고 있다. 


Real-Time이 강조되면서 구글 Dremel 논문을 기반으로 한 Cloudera Impala와 Apache Tez, Facebook의 Presto와 같은 기술과 

스트리밍 처리를 기반으로 한 Twitter의 Storm, Apache Spark가 각광받는 것 같다. 

Hadoop Eco System의 기계학습 도구로 유명한 Mahout도 기존 MapReduce 기반에서 Spark 기반의 실시간 처리로 업데이트 중이라고 한다. 


무조건 실시간 분석이 좋은 것은 아니다. 경우에 따라 배치 처리가 더 나을 수도 있다. 

즉, 분석의 필요성과 목적에 따라 실시간 또는 배치 처리를 해야 한다. 


어쨌든 실시간 분석을 할 수 있는 기술들 중 살아남은 것은 향후 배치 처리의 표준이 된 Hadoop과 함께 성장해 나갈 것이다. 





Trackback 0 And Comment 0
prev | 1 | next