클라우드 12

Amazon Web Service로 클라우드 서버 구축하기 - 2

이번에는 Node.js와 Express를 설치하고 기본 프로젝트를 생성하여 시작하여 서버를 운영해보자. 리눅스 환경에 node.js를 설치하는 방법은 여러가지가 있지만, 패키지를 통한 설치를 다룰 것이다.다른 방법에 대해 알고 싶으면 출처 사이트를 보면 참고할 수 있다. 지금 내용들의 출처 또한 링크에 다 포함되어있는 내용임을 밝힌다.$> sudo apt-get install python-software-properties$> sudo add-apt-repository ppa:chris-lea/node.js$> sudo apt-get update$> sudo apt-get install nodejs출처 :규이의 블로그 위의 실행결과를 아래 그림들로 확인할 수 있다. 이제 node.js를 설치했다. Exp..

2-3. 하둡의 실행-2

Fully distributed(완전분산) 모드에 대해서 알아보자. 3. Fully distributed(완전 분산) 모드 지금버터는 모든 기능이 갖추어진 클러스터를 구성한다. 구성은 다음과 같다. 1. master - 클러스터의 master 노드로서, NameNode와 JobTracker 데몬을 제공한다.2. backup - SNN(Secondary NameNode 데몬)을 제공하는 서버3. hadoop1, hadoop2, hadoop3 - DataNode와 TaskTracker 데몬을 실행하는 slave Master 노드에서 하둡의 환경 설정 파일(3개의 xml)을 아래와 같이 수정하자. - core-site.xml 이 부분은 파일 시스템을 설정해주기 위한 부분이다. - mapred-site.xml ..

Experiences/Hadoop 2012.09.05

[!] Pseudo-distributed 모드에서 WordCount 에러

Error 1localhost:9000에 관련된 오류에 대해서 한번 해결해보자. 혹시 위와 같은 화면이 나타났던가? 그렇다면 이것이 어떤 문제인지 한번 알아보고, 해결해보자. Call to localhost/127.0.0.1:9000 failed on connection exception : 9000번 포트에 접속을 실패했다는 소리같다. 어떤 문제일까? 바로 정답은.. 하둡 서버를 Start하지 않아서 생긴 문제이다. # bin/start-all.sh 를 통해서 다시 시작해주고 모든 데몬이 성공적으로 실행되었는지 확인하자. 서버를 시작해줬는데도 혹시 Retrying connect to server 에러가 나타난다면, 그것은 아마도 방화벽 문제일 가능성이 크다. 그렇다면 방화벽 설정에 대해서도 한번 공부해..

Experiences/Hadoop 2012.08.31

2-2. 하둡의 실행

하둡의 실행에 앞서 자세히 다루기로 한 하둡 실행 모드에 대해서 알아보자. 1. Standalone(독립실행) 모드 Standalone 모드는 하둡의 기본 모드이다. 하둡은 사용자의 하드웨어 대한 정보를 가지고 있지 않다. 그래서 하둡은 가장 최소한의 환경 설정을 하게 되는데, 기본 모드에서 세 개의 XML 파일(conf/core-site.xml, conf/mapred-site.xml, conf/hdfs-site.xml)은 아무것도 작성되지 않은 상태로 주어진다. 아무런 환경 설정이 기록되어 있지 않으면, 하둡은 로컬 머신에서만 실행된다.다른 노드들과 통신할 필요가 없기 때문에 standalone 모드에서는 HDFS를 사용하지 않고 다른 데몬들도 실행시키지 않는다. 결론적으로 Standalone 모드의 ..

Experiences/Hadoop 2012.08.31

2-1. 하둡의 구성요소

이번 파트에서는 하둡의 물리적 컴포넌트에 대해 설명하고, 클러스터의 구축에 대해 설명하려고 한다.또한 하둡의 세 가지 실행모드를 자세히 다룬다.마지막으로 사용자의 클러스터를 모니터링 하기 위한 웹 기반 도구에 대해 공부한다. 하둡을 실행한다는 것은 네트워크상의 서로 다른 서버에서 여러 개의 데몬(daemon) 또는 상주 프로그램들을 실행 한다는 것을 뜻한다. 이러한 데몬은 특별한 역할을 한다.하둡의 데몬의 종류는 다음과 같은 것들이 있다. - NameNode- DataNode- Secondary NameNode- JobTracker- TaskTracker 각각에 대해서 알아보자! 1. NameNode 가장 필수적인 하둡 데몬은 NameNode이다.하둡은 분산 저장과 분산 연산에 대해 master/slav..

Experiences/Hadoop 2012.08.29

1-6. Hadoop 첫 프로그램 실습(WordCount) - 2

이번엔 기존 파일을 수정해서 공백 토큰만 인식했던 부분을 공백 탭 엔터 . , : ; ? ! [ ] ' 을 인식하게 하고, 소문자와 대문자를 같은 단어로 인식하면서 네 번 이상 카운트 되는 경우만 출력하도록 처리하는 프로그램을 만들어보자. # vi 편집기를 이용하던지, 아니면 CentOS xWindow에서 eclipse를 깔아서(http://serapian.pe.kr/200) 수정해도 된다. 수정할 기존파일(playground/src/WordCount.java)을 열고, 아래 그림의 부분과 같이 수정해준다. # vi playground/src/WordCount.java WordCount 예제는 자바의 StringTokenizer를 사용했는데, 추가 설정이 없다면 기본적으로 공백만을 구분자로 사용한다. 여..

Experiences/Hadoop 2012.08.28

1-5. Hadoop 첫 프로그램 실습(WordCount)

먼저, 실습에 앞서 하둡에는 3가지 실행 모드가 존재한다. (자세한 내용은 나중에 따로 설명하도록 하겠다.) 1. Standalone(독립실행) 모드2. Pseudo-distributed(가상 분산) 모드3. Fully distributed(완전 분산) 모드 첫 번째 실습은, Standalone(독립 실행) 모드로 실행된다.Standalone 모드의 특징을 간략히 이야기하면, HDFS를 사용하지 않고 다른 데몬들도 실행시키지 않는다.즉, 로컬 머신에서만 독립적으로 사용한다. 이유는 MapReduce 프로그램의 로직을 개발하고 디버깅하는데에 목적이 있다. # bin/hadoop 하둡에는 다양한 명령들이 존재한다. 근데 우선은 하둡을 실행하기 위한 명령(bin/hadoop jar )만 알고 있으면 된다.자세..

Experiences/Hadoop 2012.08.28

1-4. 하둡을 위한 개발환경 설정하기

1. Hadoop 설치하기 이제 직접 한 대의 컴퓨터를 사용해서 하둡을 실행해보려고 한다. 개발 환경은 다음과 같다.1. OS : CentOS 5.8 (Linux)2. JDK : 1.6.03. Hadoop : 1.0.3 책을 참고하고, 따라 했을 경우에 많이 헷갈리고, 막혔던 부분들이 있었다.그 부분에 대해서 정확히 짚고 넘어가보자. 먼저 하둡을 실행하기 위해서는 1.6이상의 자바가 설치되어 있어야 한다.당연한 이야기이지만, 정말 Java와 그 컴파일러인 javac의 버전을 반드시 확인하고 가야한다. 그리고 하둡의 버전의 경우 2버전까지 릴리즈 되어있지만, 안정화되어 있는 것은 1.x 버전이므로 1.0.3으로 실행해보기를 추천한다. 리눅스 환경이 구축되어있다는 가정하에 시작하겠다.하둡의 1.0.3 버전을..

Experiences/Hadoop 2012.08.28

1-3. MapReduce의 이해

아마 파이프라인이나 메시지 큐와 같은 데이터 처리 모델에 대해 들어본 적이 있을 것이다. 파이프라인은 프로세스를 담당하는 작은 유닛들을 프로세스 처리 중 재사용할 수 있게 해준다.메시지 큐는 프로세스를 동기화하는 기능이 있다. 메시지 큐에서 프로그래머는 데이터 처리 작업을 프로듀서(producer)와 컨슈머(consumer)라는 두 개의 프로세스 단위로 구성하는데, 각각의 프로세스가 실행되는 시점은 시스템에 의해 관리된다.이와 마찬가지로 MapReduce도 하나의 데이터 처리 모델이라고 할 수 있다. MapReduce의 가장 큰 장점은 여러 대의 컴퓨터들에서 데이터를 처리하는 경우, 확장이 쉽다는 점이다.MapReduce의 데이터 처리 기본 단위는 mapper와 reducer이다. 하지만, 데이터 처리 ..

Experiences/Hadoop 2012.08.27