Flume - 1.6.0 학습 노트 (5) sink 에서 hdfs 까지

5269 단어 hdfsagent
노 춘 리 의 업무 노트, 누가 프로그래머 가 문예 범 위 를 가 질 수 없다 고 했 습 니까?
Flume 은 지정 한 디 렉 터 리 에서 데 이 터 를 읽 고 memory 를 채널 로 한 다음 hdfs 에 데 이 터 를 기록 합 니 다.
Spooling Directory Source(http://flume.apache.org/FlumeUserGuide.html#spooling-directory-source)
wKioL1ZQMl3T5tchAAJMRkTmGnY439.jpg
Memory Channel(http://flume.apache.org/FlumeUserGuide.html#memory-channel)
wKioL1ZQMyfgZOuhAAPsskeUx2o290.jpg
HDFS Sink(http://flume.apache.org/FlumeUserGuide.html#hdfs-sink)
wKiom1ZQMzezzj9fAANGFWqprAE705.jpg
Flume 프로필
# vim agent-hdfs.conf

# write data to hdfs

agent.sources = sd-source
agent.channels = mem-channel
agent.sinks = hdfs-sink

# define source
agent.sources.sd-source.type = spooldir
agent.sources.sd-source.spoolDir = /opt/flumeSpool
agent.sources.sd-source.fileHeader = true

# define channel
agent.channels.mem-channel.type = memory

# define sink
agent.sinks.hdfs-sink.type = hdfs
agent.sinks.hdfs-sink.hdfs.path = hdfs://nnode:8020/flume/webdata

# assemble
agent.sources.sd-source.channels = mem-channel
agent.sinks.hdfs-sink.channel = mem-channel

    설명: / opt / flume Spool 디 렉 터 리 를 미리 만들어 야 합 니 다. 그렇지 않 으 면 flume 에서 이 디 렉 터 리 를 감지 하지 못 하면 오류 알림 이 있 을 수 있 습 니 다.
시작 에이전트
[hadoop@nnode flume1.6.0]$ bin/flume-ng agent --conf conf --name agent --conf-file conf/agent-hdfs.conf -Dflume.root.logger=INFO,console

데 이 터 를 / opt / flume Spool 디 렉 터 리 로 복사 합 니 다.
cp /usr/local/hadoop2.6.0/logs/* /opt/flumeSpool

Flume 에서 이 디 렉 터 리 의 데이터 변 화 를 감지 하고 HDFS 에 자동 으로 기 록 됩 니 다.
wKiom1ZQNF_xK-lFAAB0szBCK5g978.png
HDFS 의 flume 디 렉 터 리 보기
[hadoop@nnode flume1.6.0]$ hdfs dfs -ls -R /flume/
drwxr-xr-x   - hadoop hadoop          0 2015-11-21 16:55 /flume/webdata
-rw-r--r--   2 hadoop hadoop       2568 2015-11-21 16:50 /flume/webdata/FlumeData.1448095836223
-rw-r--r--   2 hadoop hadoop       2163 2015-11-21 16:50 /flume/webdata/FlumeData.1448095836224
-rw-r--r--   2 hadoop hadoop       2163 2015-11-21 16:50 /flume/webdata/FlumeData.1448095836225
-rw-r--r--   2 hadoop hadoop       2163 2015-11-21 16:50 /flume/webdata/FlumeData.1448095836226
-rw-r--r--   2 hadoop hadoop       2163 2015-11-21 16:50 /flume/webdata/FlumeData.1448095836227
-rw-r--r--   2 hadoop hadoop       2163 2015-11-21 16:50 /flume/webdata/FlumeData.1448095836228
-rw-r--r--   2 hadoop hadoop       2163 2015-11-21 16:50 /flume/webdata/FlumeData.1448095836229
-rw-r--r--   2 hadoop hadoop       2163 2015-11-21 16:50 /flume/webdata/FlumeData.1448095836230
-rw-r--r--   2 hadoop hadoop       2163 2015-11-21 16:50 /flume/webdata/FlumeData.1448095836231
-rw-r--r--   2 hadoop hadoop       2163 2015-11-21 16:50 /flume/webdata/FlumeData.1448095836232
-rw-r--r--   2 hadoop hadoop       2163 2015-11-21 16:50 /flume/webdata/FlumeData.1448095836233
-rw-r--r--   2 hadoop hadoop       2163 2015-11-21 16:50 /flume/webdata/FlumeData.1448095836234

파일 보기
wKiom1ZQNoTA6yC5AARA9ZWaihw125.jpg
설명:
    Flume 을 통 해 hdfs 에 데 이 터 를 기록 할 때 기본 형식 (hdfs. fileType) 은 SequenceFile 이 므 로 직접 볼 수 없습니다.텍스트 형식 으로 저장 하려 면 hdfs. fileType 을 DataStream 으로 지정 할 수 있 습 니 다.
flumeSpool 디 렉 터 리 보기
[root@nnode flumeSpool]# ll
total 3028
-rw-r--r-- 1 root root  227893 Nov 21 16:50 hadoop-hadoop-journalnode-nnode.log.COMPLETED
-rw-r--r-- 1 root root     718 Nov 21 16:50 hadoop-hadoop-journalnode-nnode.out.1.COMPLETED
-rw-r--r-- 1 root root     718 Nov 21 16:50 hadoop-hadoop-journalnode-nnode.out.2.COMPLETED
-rw-r--r-- 1 root root     718 Nov 21 16:50 hadoop-hadoop-journalnode-nnode.out.COMPLETED
-rw-r--r-- 1 root root 1993109 Nov 21 16:50 hadoop-hadoop-namenode-nnode.log.COMPLETED
-rw-r--r-- 1 root root     718 Nov 21 16:50 hadoop-hadoop-namenode-nnode.out.1.COMPLETED
-rw-r--r-- 1 root root     718 Nov 21 16:50 hadoop-hadoop-namenode-nnode.out.2.COMPLETED
-rw-r--r-- 1 root root     718 Nov 21 16:50 hadoop-hadoop-namenode-nnode.out.COMPLETED
-rw-r--r-- 1 root root  169932 Nov 21 16:50 hadoop-hadoop-zkfc-nnode.log.COMPLETED
-rw-r--r-- 1 root root     718 Nov 21 16:50 hadoop-hadoop-zkfc-nnode.out.1.COMPLETED
-rw-r--r-- 1 root root     718 Nov 21 16:50 hadoop-hadoop-zkfc-nnode.out.2.COMPLETED
-rw-r--r-- 1 root root     718 Nov 21 16:50 hadoop-hadoop-zkfc-nnode.out.COMPLETED

    설명: Flume 에서 만 파일 을 처리 한 후 기본적으로 삭제 되 지 않 습 니 다. 그러나 이 파일 은 flume 에서 처리 되 었 음 을 표시 합 니 다. 처리 후 파일 을 보관 하지 않 아 도 Source 를 통 해 삭제 정책 을 지정 할 수 있 습 니 다.
deletePolicy    never    When to delete completed files: never or immediate

좋은 웹페이지 즐겨찾기