Flume NG version 설치 및 로그 수집

 

 Flume NG 설치 및 로그 수집 하기 입니다.

 

각각 아래와 같이 구성하였습니다.

 

0번 HDFS  <--- 저장소

1번 agent01  <--- 로그의 데이터가 모아져 HDFS에 저장함.

2번 agent02  <--- 로그 수집

3번 agent03  <--- 로그 수집

 

 

먼저 Flume NG 를 다운로드 합니다.

apache 홈페이지에서 다운로드 하시거나 wget 명령어로 다운로드 합니다.

wget http://archive.apache.org/dist/flume/1.3.1/apache-flume-1.3.1-bin.tar.gz 를 입력합니다.

 

 

 

다운로드한 파일을 압축해제 후 원하는 경로에 위치 시킵니다.

tar xvfzp apache-flume-1.3.1-bin.tar.gz    <-- 압축해제

mv flume-1.3.1 /usr/local/flume   <-- 원하는 경로로 이동

 

그다음 리눅스 환경변수를 설정합니다. (로그 수집 할 노드 모두)
 vi /etc/profile    <-- 입력하여 환경변수를 설정합니다.

 

export FLUME_HOME=/usr/local/flume    <-- 추가합니다.
PATH 지정해주기                                  <-- 추가합니다.

source /etc/profile   <-- 환경변수를 입력하였으면 적용 시킵니다.

 

 

그다음 flume폴더를 압축하여 각 노드에 배포를 합니다.


 tar cvfpz flume디렉토리  <- 압축
- scp –rp flume.tar.gz DataNode02:/usr/local   <-배포
- scp –rp flume.tar.gz DataNode03:/usr/local

 

배포된 flume압축파일을 압축해제 후 원하는 경로에 위치 합니다.
tar xvfzp flume.tar.gz
mv  flume  /usr/local/flum

 

 

 

그다음 flume디렉토리 안에 conf디렉토리 안에 있는  flume-conf.properties.template

파일을 flume.conf 파일로 복사 합니다.

 

 

 

 

 복사한 flume.conf 파일을 vi 편집기를 이용하여 환경설정을 합니다.
 로그데이터가 모아질 1번 노드와 로그를 수집 할 노드의 환경설정은 조금 다릅니다.

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

1번 노드의 flume.conf 파일 내용
agent01.sources = avroGenSrc
agent01.channels = memoryChannel
agent01.sinks = hdfs-Cluster1-sink

# For each one of the sources, the type is defined
agent01.sources.avroGenSrc.type = avro
agent01.sources.avroGenSrc.bind = SNameNode
agent01.sources.avroGenSrc.port = 3333

# The channel can be defined as follows.
agent01.sources.avroGenSrc.channels = memoryChannel

# Each sink's type must be defined
agent01.sinks.hdfs-Cluster1-sink.type = hdfs
agent01.sinks.hdfs-Cluster1-sink.hdfs.path = hdfs://NameNode:9000/flume/data
agent01.sinks.hdfs-Cluster1-sink.rollInterval = 30
agent01.sinks.hdfs-Cluster1-sink.sink.batchSize = 100


#Specify the channel the sink should use
agent01.sinks.hdfs-Cluster1-sink.channel = memoryChannel

# Each channel's type is defined.
agent01.channels.memoryChannel.type = memory

# Other config values specific to each type of channel(sink or source)
# can be defined as well
# In this case, it specifies the capacity of the memory channel
agent01.channels.memoryChannel.capacity = 100000
agent01.channels.memoryChannel.transactionCapacity = 10000

 

 

 

 

2,3번 노드의 flume.conf 파일 내용(2,3번 agent의 내용은 같으며 agent의 이름만 다르게 주시면 됩니다.)

agent02.sources = execGenSrc
agent02.channels = memoryChannel
agent02.sinks = avroSink

# For each one of the sources, the type is defined
agent02.sources.execGenSrc.type = exec
agent02.sources.execGenSrc.command = tail -F /home/aaaaa/hadoop/logs/logsample.log  <--- 수집할 로그 파일 경로
agent02.sources.execGenSrc.batchSize = 10

# The channel can be defined as follows.
agent02.sources.execGenSrc.channels = memoryChannel

# Each sink's type must be defined
agent02.sinks.avroSink.type = avro
agent02.sinks.avroSink.hostname = 로그데이터가 모아질 호스트 네임 & 주소
agent02.sinks.avroSink.port = 3333
agent02.sinks.avroSink.batch-size = 10


#Specify the channel the sink should use
agent02.sinks.avroSink.channel = memoryChannel

# Each channel's type is defined.
agent02.channels.memoryChannel.type = memory

# Other config values specific to each type of channel(sink or source)
# can be defined as well
# In this case, it specifies the capacity of the memory channel
agent02.channels.memoryChannel.capacity = 100000
agent02.channels.memoryChannel.transactionCapacity = 10000

 

 

-------------------------------------------------------------------------------------

 


  환경 설정이 마무리 되었다면 각각의 노드에서 agent를 실행합니다.

 

- flume-ng agent --conf-file ./conf/flume.conf --name agent01    <-- 1번 노드
- flume-ng agent --conf-file ./conf/flume.conf --name agent02    <-- 2번 노드
- flume-ng agent --conf-file ./conf/flume.conf --name agent03    <-- 3번 노드

 

각각 실행 하고 정상적으로 올라 왔다면 아래와 같이 구성 된 것입니다.

 

 

 

 

바로 HDFS를 확인하여 보면 로그가 수집이 되는 것을 확인 할 수있습니다.

./bin/hadoop fs -ls /logs/1500

 

 

 

 

[출처] http://1004jonghee.tistory.com/entry/Flume-NG-version-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EB%A1%9C%EA%B7%B8-%EC%88%98%EC%A7%91

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86167
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 78656
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95391
42 블록체인 기반 플랫폼 비즈니스를 이해하자 졸리운_곰 2017.09.10 1554
41 다운타임 없는 서비스 구현 패턴 file 졸리운_곰 2017.09.10 1229
40 테이블의 수직분할과 수평분할에 대한 이해 file 졸리운_곰 2017.09.10 3908
39 정규화와 응집도에 대한 고찰 file 졸리운_곰 2017.05.28 1782
38 머신러닝 새 도전…“클라우드를 벗어나라" file 졸리운_곰 2017.05.28 1711
37 보안성 높이는 공공 거래장부 블록체인 file 졸리운_곰 2017.05.28 1757
36 디지털, 속도의 전쟁 VS 데이터, 품질의 전쟁 file 졸리운_곰 2017.05.05 1515
35 04. 데이터 모델링의 3단계 진행 file 졸리운_곰 2016.03.15 1659
34 데이터베이스 설계의 기본 원리.pdf file 졸리운_곰 2016.03.15 2353
33 실체유형(Entity Type) 정의 사항 및 도출 file 졸리운_곰 2015.05.21 2198
32 마농의 SQL 백문백답: 단순하고 쉽게 작성하는 SQL 노하우 [1회] file 졸리운_곰 2015.05.21 1829
31 sql개발자-sql전문가자격시험 시험 예제.pdf file 졸리운_곰 2015.02.15 2302
30 데이터베이스 선정에는 비밀이 있다 - 4부 졸리운_곰 2015.01.15 2095
29 데이터베이스 선정에는 비밀이 있다 - 3부 졸리운_곰 2015.01.15 2042
28 데이터베이스 선정에는 비밀이 있다 - 2부 졸리운_곰 2015.01.15 1827
27 데이터베이스 선정에는 비밀이 있다 - 1부 졸리운_곰 2015.01.15 2391
26 지금 우리에게 필요한 것은 데이터베이스 성능 최적화이다 (2부) 졸리운_곰 2015.01.15 1484
25 우리에게 필요한 것은 데이터베이스 성능 (1부) 졸리운_곰 2015.01.15 1776
24 21회 결과 secret 졸리운_곰 2014.11.10 0
23 [데이터아키텍쳐준전문가] 시험 fail 자료 secret 졸리운_곰 2014.08.31 0
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED