Hadoop, Pig 기본설치 실행법

현재 서버 상태
CentOS 6.3
OpenJdk 1.6
ant

Hadoop 설치

http://hadoop.apache.org
에서 다운로드
http://www.apache.org/dyn/closer.cgi/hadoop/common/

$ cd /opt

1. 다운로드 처리
$ wget http://apache.tt.co.kr/hadoop/common/hadoop-1.1.2/hadoop-1.1.2-bin.tar.gz

2. 압축해제 후 디렉토리명 변경
$ tar zxvf hadoop-1.1.2-bin.tar.gz
“hadoop-1.1.2” 디렉토리 생성됨
$ mv hadoop-1.1.2 hadoop

3. 자바패스 추가
$ vi /etc/profile
—– —– —– —–
맨 자바 패스 설정 추가 bash_profile를 사용해도 좋은데 모르면 그냥 따라하기
export JAVA_HOME=/usr/lib/jvm/java-openjdk
export PATH=$PATH:$JAVA_HOME/bin
—– —– —– —–
$ source /etc/profile

4. 하둡설정 편집
$ vi {hadoop_home}/conf/hadoop-env.sh
—– —– —– —–
export JAVA_HOME=/usr/lib/jvm/java-openjdk
—– —– —– —–

5. WordCount 테스트 작업
이 명령어가 수행되도록 작업
$ bin/hadoop jar hadoop-examples-1.1.2.jar wordcount input out1

$ bin/hadoop {jar파일} {처리할 jar파일} {wordcount모듈} {input text file directory} {outputdirectory}
명령어 실행해보면 한단계씩 설명이 잘 나온다
$ bin/hadoop
$ bin/hadoop jar
$ bin/hadoop jar hadoop-examples-1.1.2.jar
이런식으로 한단계씩 입력해보자
위 작업이 테스트까지 잘 수행이 되면 output 디렉토리에 처리된 파일이 올라온다.

Pig 설치
http://pig.apache.org
http://www.apache.org/dyn/closer.cgi/pig

1. 다운로드 처리
$ wget http://apache.mirror.cdnetworks.com/pig/pig-0.11.0/pig-0.11.0.tar.gz

2. 압축해제 후 디렉토리 변경
$ tar zxvf pig-0.11.0.tar.gz
$ mv pig-0.11.0 pig

3. 돼지 패스 추가
$ vi /etc/profile
—– —– —– —–
export PIG_HOME=/opt/pig
export PATH=$PATH:$PIG_HOME/bin
—– —– —– —–

4. 돼지 설정 변경
conf/pig.properties에서는 변경할게 없다
$ vi bin/pig
패스 추가
—– —– —– —–
export HADOOP_CONF_DIR=/opt/hadoop/conf
export PIG_HOME=/opt/pig
export PIG_CONF_DIR=$PIG_HOME/conf
—– —– —– —–

5. 실행 및 테스트
$ bin/pig
제대로 설정했으면 grunt> 쉘로 진입한다

NodeJS – 기초 개념

chrome browser에 사용되는 현존하는 가장 빠른 javascript 처리엔진인 v8엔진을 사용해 개발되었다.

비동기식, 이벤트 기반으로 처리… 스레드를 열지 않고 큐에 쌓아놓고 처리한다고 보면될까? 이렇게 생각하면 별로 뛰어난게 아닌데… 잘 이해가 안간다.
Callback을 이용한 Non-blocking… 이 부분이 포인트가 된다.

싱글 스레드로 동작하지만 대기시간이 없이 바로 다음작업을 처리하기 때문에 과다한 스레드 생성으로 인한 서버의 병목현상이 발생하지 않는다.

http://blog.doortts.com/219

 

전역변수
__filename : 현재 실행중인 코드의 파일 경로
__dirname : 현재 실행중인 코드의 폴더 경로

console : 콘솔 화면과 관련된 기능을 다루는 객체
exports : 모듈과 관련된 기능을 다루는 객체
process : 프로그램과 관련된 기능을 다루는 객체

console.log()
console.time(‘aa’)
console.timeEnd(‘aa’);

//test.js
//node test.js message
var obj;
console.time(obj);
console.time('chk');
console.log('filename:',__filename);
console.log('%d원입니다. %s님 감사합니다.',500, '김이박');
console.timeEnd(obj);
console.timeEnd('chk');

console.log(process.argv[0]);
console.log(process.env);
console.log(process.version);
console.log(process.versions);
console.log(process.arch);
console.log(process.platform);

console.log(process.uptime());
console.log(process.memoryUsage());

setTimeout(function(){
	console.log('aaa');
	process.exit(0);
	console.log('bbb');
}, 2000);
	console.log('ccc');

node test.js

이정도만 알면… 이제 도큐먼트 찾으면서 하는거지

기본문법으 이정도인것같다.