티스토리 뷰
chukwa란?
open source의 hadoop 기반으로 개발된 대규모 분산 시스템을 모니터링을위한 데이터 로그 수집 시스템입니다.
즉 chukwa를 설치하기 위해선 선수과목으로 hadoop에 대한 기반 지식 및 설치를 필요로 합니다.
[ 그림1 ] Chukwa Architecture
이제 chukwa를 설치 해 보도록 하겠습니다.
설치환경
OS : Ubuntu 12.04 ( Linux Mint 12 Lisa )
Hadoop : 1.0.3
Chukwa : 0.4.0
Download URL
URL : http://ftp.daum.net/apache/hadoop/chukwa/chukwa-0.4.0/chukwa-0.4.0.tar.gz
step 1. 소스 설치
소스를 다운로드 받은 뒤 압축을 푼다.
$ wget 'http://ftp.daum.net/apache/hadoop/chukwa/chukwa-0.4.0/chukwa-0.4.0.tar.gz'
$ tar xvfz chukwa-0.4.0.tar.gz
step 2. 환경파일 설정
conf/chukwa-env.sh파일을 열어 java, hadoop, chukwa 의 경로에 대한 환경변수를 설정합니다. ( hadoop 설치되었다는 가정, 설치법은 블로그에 있음 )
export JAVA_HOME="/usr/lib/jvm/java-6-openjdk"
export HADOOP_HOME="/home/rocksea/work/hadoop-1.0.3"
export HADOOP_CONF_DIR="/home/rocksea/work/hadoop-1.0.3/conf"
export chukwaRecordsRepository="/chukwa/repos/"
export CHUKWA_PID_DIR=/home/rocksea/tmp/chukwa/pidDir
export CHUKWA_LOG_DIR=/home/rocksea/tmp/chukwa/log
step 3. collector 설정
로그를 수집하는 데몬의 포트를 지정합니다.
conf/collectors
http://localhost:8080
step 4. 아답타 설정
conf/initial_adaptors
add org.apache.hadoop.chukwa.datacollection.adaptor.ExecAdaptor Iostat 60 /usr/bin/iostat -x -k 55 2 0
add org.apache.hadoop.chukwa.datacollection.adaptor.ExecAdaptor Df 60 /bin/df -l 0
add org.apache.hadoop.chukwa.datacollection.adaptor.ExecAdaptor Sar 60 /usr/bin/sar -q -r -n ALL 55 0
add org.apache.hadoop.chukwa.datacollection.adaptor.ExecAdaptor Top 60 /usr/bin/top -b -n 1 -c 0
step 5. hadoop 라이브러리 복사
구동되는데 이 파일 (hadoop-1.0.2-core.jar) 이 필요합니다.
$ cd ~/work/hadoop-1.0.2
$ cp hadoop-core-1.0.2.jar hadoop-1.0.2-core.jar
컬렉터를 띄우는데 이 파일이 필요합니다.
이제 컬렉터를 띄워줍니다.
$ cd ~/work/chukwa-0.4.0/lib
$ cp ~/work/hadoop-1.0.2/lib/commons-configuration-1.6.jar .
step 6. collector 실행
collector를 실행한다.
$ cd ~/work/chuckwa-0.4.0
$ bin/chukwa collector
step 7. agent 설정 및 실행
conf/agents
localhost
$ bin/chukwa agent
http://localhost:50070 에서 실제로 파일이 저장되는지 확인해 봅니다. 대략 5분마다 한번씩 저장됩니다.
step 8. chukwa adaptor list 확인
현재 agent가 작동중인 서버의 9093 ( 설정에따라 변경가능 ) port에 접속한뒤 list 확인
$ telnet localhost 9093
telnet > help
you're talking to the Chukwa agent. Commands available:add [adaptorname] [args] [offset] -- start an adaptor
shutdown [adaptornumber] -- graceful stop
stop [adaptornumber] -- abrupt stop
list -- list running adaptors
close -- close this connection
stopagent -- stop the whole agent process
stopall -- stop all adaptors
reloadCollectors -- reload the list of collectors
help -- print this message
Command names are case-blind.
telnet > list
adaptor_3fb00aca3ab63f2e28c0756334f03ce4) org.apache.hadoop.chukwa.datacollection.adaptor.filetailer.CharFileTailingAdaptorUTF8NewLineEscaped chunkQueue 0 /home/rocksea/work/chukwa-0.4.0/bin/@TODO-CHUKWA_LOG_DIR@/metrics/chukwa-rocksea-chunkQueue.log 370691
adaptor_e4a48d686f9ef5b61a2d54d6ce87f729) org.apache.hadoop.chukwa.datacollection.adaptor.filetailer.CharFileTailingAdaptorUTF8NewLineEscaped chukwaHttpSender 0 /home/rocksea/work/chukwa-0.4.0/bin/@TODO-CHUKWA_LOG_DIR@/metrics/chukwa-rocksea-chukwaHttpSender.log 457965
adaptor에 대해 추가 및 종료가 가능하다.
또한 $CHUKWA_HOME/logs/chukwa_agent_checkpoint50731 체크포인트 파일을 삭제하여 chukwa agent를 재시작 하면 adaptor 초기화를 시킬 수 있다.
step 9. agent 수집 테스트
구성환경
[ 그림 2 ] Test 환경
9-1. web 서버 agent adaptor 설정
conf/initial_adaptors
add org.apache.hadoop.chukwa.datacollection.adaptor.filetailer.LWFTAdaptor DAILY /home/rocksea/log/www.rocksea.com.collection.log 0
9-2. web 서버 agent 실행
$ $CHUKWA_HOME/bin/chukwa agent
9-3. log1 서버 collector 실행
$ $CHUKWA_HOME/bin/chukwa collector
9-4. web서버 로그 확인
[ INFO] [2012-08-16 18:15:51,592] com.rocksea.log.IMLog - log Execute!!
[ INFO] [2012-08-16 18:15:51,592] com.rocksea.log.IMLog - [SERVICE:rocksea1:1345108551592] 1234567890,abcde12345,region123,132.3,37.1,http://rocksea.com,FIREFOX,10.0,ANDROID,4.1.2,Samsung Galaxy S2,7,MEMBER,rocksea,etc1=value1,etc3=value3,etc2=value2
[ INFO] [2012-08-16 18:15:51,592] com.rocksea.log.IMLog - testWriteLog Execute!!
[ INFO] [2012-08-16 18:15:52,313] com.rocksea.log.IMLog - log Execute!!
[ INFO] [2012-08-16 18:15:52,313] com.rocksea.log.IMLog - [SERVICE:rocksea1:1345108552313] 1234567890,abcde12345,region123,132.3,37.1,http://rocksea.com,FIREFOX,10.0,ANDROID,4.1.2,Samsung Galaxy S2,7,MEMBER,rocksea,etc1=value1,etc3=value3,etc2=value2
[ INFO] [2012-08-16 18:15:52,314] com.rocksea.log.IMLog - testWriteLog Execute!!
[ INFO] [2012-08-16 18:15:53,072] com.rocksea.log.IMLog - log Execute!!
[ INFO] [2012-08-16 18:15:53,072] com.rocksea.log.IMLog - [SERVICE:rocksea1:1345108553072] 1234567890,abcde12345,region123,132.3,37.1,http://rocksea.com,FIREFOX,10.0,ANDROID,4.1.2,Samsung Galaxy S2,7,MEMBER,rocksea,etc1=value1,etc3=value3,etc2=value2
[ INFO] [2012-08-16 18:15:53,073] com.rocksea.log.IMLog - testWriteLog Execute!!
9-5. HDFS 저장 내역 확인
hadoop의 namenode webserver에 접속하여 확인한다.
[ 그림 3 ] 수집로그 확인
[그림 4] 수집로그 확인
이상으로 chukwa에 대한 포스팅을 마치도록 하겠습니다.
감사합니다.
by rocksea.
'Developer' 카테고리의 다른 글
[ UDP ] packet buffer size 조절 (0) | 2012.07.20 |
---|---|
[ multicast ping ] windows ping 안나가는 현상 (0) | 2012.07.19 |
[ SSL ] nginx + ssl (0) | 2012.07.04 |
[ HBASE ] 1천만건 Test 입력 테스트 (0) | 2012.06.22 |
[ Cache Server] jboss +Infinispan clustering (0) | 2012.06.18 |
- Total
- Today
- Yesterday
- JBOSS
- memcached
- PostgreSQL
- 영작
- Business English
- redis
- 조동사
- 대명사 구문
- 베트남
- Python Django
- 다낭
- 비교구문
- nodejs
- 가정법
- it
- 비지니스 영어
- k8s
- ubuntu
- 도덕경
- 여행
- mongoDB
- 영문법
- maven
- 해외여행
- Python
- AWS
- NGINX
- hdfs
- hadoop
- 스페인 여행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |