이번에는 클라우데라에 포함된 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 실..
클라우데라의 QuickStartVM을 통해 하둡 어플리케이션을 살펴보고 있다. 이번에는 Hive를 beeline과 Hue를 통해서 간략하게 알아보자. Hive Beeline 예제 1. 터미널을 띄우고 /etc/passwd 파일을 HDFS의 /tmp 폴더에 넣는다. > hdfs dfs -put /etc/passwd /tmp/ > hdfs dfs -ls /tmp/ 2. Hive를 실행하기 위해 beeline을 실행한다. > beeline -u jdbc:hive2:// 3. beeline에서 userinfo 테이블을 생성하고, /tmp/passwd 파일을 읽어서 테이블에 저장한다. jdbc:hive2://>> CREATE TABLE userinfo ( uname STRING, pswd STRING, uid I..
클라우데라의 QuickStartVM에서 피그 스크립트를 실행하는 것을 살펴보기로 한다. 피그(Pig)와 관련된 내용은 다음 글을 참고하기 바란다. 하둡(Hadoop) 관련 기술 - 피그, 주키퍼, HBase에 대한 간략한 정리! Hive & Pig - 하둡(Hadoop)의 맵리듀스를 보다 편하게~ 오늘 살펴볼 예제는 VM의 passwd 파일을 HDFS에 업로드하고, 해당 파일에서 사용자 아이디, 사용자 이름, 그리고 홈디렉토를 가져와서 결과를 저장하는 것이다. 다음 순서대로 따라해 보자. 1. /etc/passwd 파일을 HDFS의 /user/cloudera로 업로드한다. > hdfs dfs -put /etc/passwd /user/cloudera > hdfs dfs -ls /user/cloudera/p..
HDFS vs HDFS2 기존의 하둡 파일 시스템의 가장 큰 취약점은 바로 네임노드였다. 여러 개의 데이터 노드를 연결해서 데이터 노드에서 발생할 수 있는 하드웨어 오류에 대응할 수 있었지만, 네임 노드는 하나로 구성함으로써 위험에 노출되어 있던 것이 사실이다. HDFS2로 넘어가면서 네임노드에도 확장성을 위해 여러 개의 네임노드를 구성할 수 있도록 변경하였다. 그래서 네임 서버들을 구분하기 위한 여러 개의 네임스페이스를 도입하게 되었고, 네임 서버에 대한 고가용성도 확보할 수 있었다. 또한 여러 개의 네임 서버에서 데이터 노드를 관리하기 위해서 Block Pools 개념도 등장한다. 마찬가지로 하둡 1.0의 맵리듀스에서도 마스터 노드에 하나의 잡트래커를 사용했다. 잡트래커에서 스케쥴링, 모니터링, 실패..
클라우데라의 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 명령어로 w..
"클라우데라 QuickStart VM 설치 후 먼저 HDFS 명령어를 통해 하둡 파일시스템에 파일을 올리는 간단한 예제를 살펴보고, Hue 인터페이스로도 확인해 보기로 하자. 1. VM에서 상단의 터미널 아이콘을 클릭한다. 2. 터미널에서 testfile.txt를 생성하고 하둡 파일시스템에 업로드한다. HDFS의 ls 명령어로 실제 파일이 업로드 된 것을 확인할 수 있다. 3. 이제 웹 브라우저 기반의 HUE 인터페이스를 통해서 해당 파일을 살펴보자. 웹브라우저의 북마크에서 Hue를 클릭하고 우측 상단의 "File Browser"를 선택한다. 여기에서도 testfile.txt 파일이 올라가 있는 것을 확인할 수 있다. 4. testfile.txt 파일을 클릭하면 해당 파일의 상세 내역을 볼 수 있다. 또..
클라우데라에서 하둡 에코 시스템의 테스트를 위한 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/Download..
아파치 진영을 중심으로 하둡 기반의 다양한 어플리케이션을 통해서 실시간 처리, 기계학습, 그래프 분석 등을 수행하고 있다. 하둡의 기본 개념이 구글 시스템에서 시작된 만큼 먼저 구글의 분산 처리 구성을 살펴본다. 그리고 아파치에서 제공하는 하둡 에코시스템의 구성을 알아본 후, 클라우데라, 페이스북, 야후, 링크드인 등에서 이를 활용하는 구조를 정리해 본다. 결국 회사의 용도에 맞춰서 기술들을 잘 조합해서 사용하는 것이 관건인 듯하다. 물론 필요에 따라 클라우데라의 임팔라나 링크드인의 카프카와 같이 직접 만들수도 있지만 말이다. 구글 빅데이터 스택 구글은 Chubby라는 'Coordination'을 사용하고, 데이터스토어로는 Big Table을 쓰고 있다. 그리고 맵리듀스의 상위 언어로 Sawzall을 사..
대부분의 프로그래밍 언어처럼 R에서도 디버깅 툴을 제공한다. R에 내장되어 있는 디버깅 툴을 살펴보도록 하자. traceback 간단하게 사용할 수 있는 디버깅 툴로 traceback()이 있다. traceback()은 함수들을 호출한 콜 스택을 보여주는 것이다. x 값이 할당되어 있지 않기 때문에 에러가 발생했고, traceback()으로 함수 호출 스택을 살펴보면 mean() 함수 하나만 나온다. 좀 더 복잡한 선형 회귀 분석을 계산하는 lm() 함수를 살펴보자. lm(y ~ x)를 처리하기 위해서 eva(), eval(), model.frame() 등을 순차적으로 호출한 것을 알 수 있다. 그러나 traceback은 함수를 어떤 순서로 호출했는지만을 알려주고 있다. debug 실제로 함수들을 만들었..