https://www.gnu.org/software/emacs/manual/html_node/eintr/


에 관련된 내용이 잘 정리되어 있습니다. 프로그램을 잘 모른다고 하는 사람을 대상으로 쓰여졌다고 하는데, 제 생각에는 '글쎄요' 입니다. 물론 이 걸 보고 고수가 된 비전공자가 존재한다는 것이 놀라울 따름입니다. 필리핀 인가 싱가폴에서 사는 처자인데 Emacs 의 org-mode 에 반해서 Emacs 를 배우고 Emacs Lisp 프로그래밍까지 잘하게 된 전설적인 케이스가 있습니다. 제대로 Emacs 를 쓰기 위해서는 한번 읽어볼 만은 하지만.. '글쎄요...' 


http://ergoemacs.org/emacs/elisp.html


차라리 실용적으로 배우실려면 위의 링크를 추천드립니다. 온갖 간단한 실용적인 예제로 도배되어 있기 때문에 오히려 더 쉽게 접근이 가능합니다. 



무엇인가를 해 볼려면 역시 설치부터!! 정말 하둡 초 간단 따라하기 식 설치에 대해서 알아봅니다. 

시작전에 환경세팅이 필요합니다. 어떤 OS 기반위에 설치할 것인가를 정해야 하는데 저는 그냥 리눅스로 정했습니다. 환경세팅자체도 쉽고 하둡도 리눅스를 추천하고 있기 때문입니다. 그래서 가장 최근에 릴리즈된

우분투 11.10 (Ubuntu 11.10) - 다운로드 페이지

로 정했습니다.

하둡 설치 형태는 3가지로 나뉩니다.

1. StandAlone
 - 하둡 파일 시스템을 띄우지 않은 상태에서 동작하는 것만 테스트 해 볼 수 있는 상태이다. 
 

2. Pseudo Distribution
 - 하둡 파일 시스템을 구동시키고 한 컴퓨터에서 모든 데몬들을 띄워서 동작하는 것을 테스트 해볼 수 있는    상태 

3. Cluster
 - 
실제로 파일 시스템을 만들고 각 클러스터가 독립적인 기계로 동작하는 방식 

 
이중 StandAlone 과 Pseudo Distribution 을 싱글노드 (Single - Node ) 방식이라고 합니다. 즉 한대의 컴퓨터에서 설치해서 동작시킬 수 있기 때문입니다.  이중 정말 간단한 StandAlone 방식으로 설치해 보겠습니다.

Linux 에서 '터미널' 프로그램을 실행한 후에 

$ sudo apt-get install ssh 
$ sudo apt-get install rsync


위와 같이 입력해서 SSH 서버와 Rsync 를 설치해줍니다. Rsync 는 일반적으로 설치가 되어 있습니다. 기본 준비가 되어 있으면 다음은 하둡을 설치해줄 시간입니다. 

http://ftp.daum.net/apache//hadoop/common/stable/

위 주소를 클릭해서 다운을 받습니다. 최신버젼을 안 쓰고 안정화 버젼을 쓰는 것은 어찌보면 당연합니다. 어디서 문제가 생길지 모르는 버젼보다는 이미 많이 밝혀져서 안정화 버젼을 쓰는 것이 정신 건강상 좋기 때문입니다.

하둡을 실제로 실행하기 전에 환경 변수를 챙겨줘야 합니다. $HOME 에 있는 .profile 파일을 열어서 다음과 같은 내용을 추가해줍니다.

export JAVA_HOME="/usr/lib/jvm/default-java"
export HADOOP_HOME="/home/crazia/work/hadoop-0.20.203.0"


HADOOP_HOME 에서  'crazia' 는 본인의 아이디로 대체 합니다. 
그리고 다시 '터미널' 창에서 다음과 같이 입력해서 변경점을 적용해줍니다. 

$ source ~/.profile 


그리고 $HADOOP_HOME/conf/hadoop-env.sh 파일을 열어서 

# export JAVA_HOME=/usr/lib/j2sdk1.5-sun


위와 같은 부분을 찾아서 그 밑에 

export JAVA_HOME=/usr/lib/jvm/default-java


라고 추가해 줍니다. 이제 여기까지 따라 했으면 준비가 끝났습니다. 간단하게 테스트 해보기로 하겠습니다.

터미널 프로그램에서 $HADOOP_HOME 으로 이동해서 
 

$ mkdir input 
$ cp conf/*.xml input 
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+' 
$ cat output/*


위와 같이 입력해. 그리고 결과를 확인해 봅니다. 만약 결과가 나온다면 설치는 성공한 것입니다.

사실 여기까지는 정말 별거 아닙니다. 다음 설치를 위한 준비과정이라고 생각하시면 됩니다. 그냥 부담 없이 처음부터 끝까지 쭈욱 따라가기만 하면 설치됩니다. 그리고 다시 한번 개발을 위해서라면 리눅스(Linux) 특히 그중에 우분투( Ubuntu )를 강력 추천합니다.


  
 
  
 


항상 이런 종류의 것을 부탁 받으면 고민되는 것이 프로그램을 잘 만드느냐? 하면 그것도 아니고 (손 놓은지가 꽤 됨) 그렇다고 글 솜씨가 탁월하는가? (방문자 숫자를 보면...) 하면 그것도 아닙니다.

하지만 이렇게 요청을 들어온 것을 보면 역시 살아가는데는 '인맥'이 제일 중요하다는 생각이 들기도 하지만 사실 어떠한 인맥보다는 '등가교환법칙'에 의함이 더 큽니다. 그렇다!! '등가교환법칙'은 비지니스의 법칙을 뛰어넘어 우주의 법칙입니다. (주는 대신 뭔가를 얻기로 한 것이죠..)

하지만 바쁜 회사일에 치여서 언제 써 줄지 모르는 상황이긴 합니다. 그래도 계속 계속 미뤄둘 수 없는 일이기 때문에 일단 제 블로그에라도 초안을 올리고 그것을 다듬어서 요청하는 쪽에 올리는 방향으로 가기로 했습니다. 



프로토타입으로 빠르게 개발 가능성만 타진했던 용도로 개발 했습니다. 소스는 나중에 전부 공개될 예정인데 그래픽 리소스만 제외될 것입니다.

어려운 기술도 아니라서 쓰ㄱ

+ Recent posts