[HADOOP] 루프에서 'flume.conf에서 변경 사항 확인'받기
HADOOP루프에서 'flume.conf에서 변경 사항 확인'받기
Apache Flume 1.4.0을 사용하여 로그 파일 (auth.log)을 수집하고 HDFS (Hadoop 2.6.0)에 저장합니다. 사용 된 명령은 다음과 같습니다.
bin/flume-ng agent --conf ./conf/ -f flume.conf -Dflume.root.logger=DEBUG,console -n agent
flume.conf 파일에는 다음이 포함됩니다.
agent.channels.memory-channel.type = memory
agent.sources.tail-source.type = exec
agent.sources.tail-source.command = tail -F /var/log/auth.log
agent.sources.tail-source.channels = memory-channel
agent.sinks.log-sink.channel = memory-channel
agent.sinks.log-sink.type = logger
agent.sinks.hdfs-sink.channel = memory-channel
agent.sinks.hdfs-sink.type = hdfs
agent.sinks.hdfs-sink.hdfs.path = hdfs://localhost:54310/usr/auth.log
agent.sinks.hdfs-sink.hdfs.fileType = DataStream
agent.channels = memory-channel
agent.sources = tail-source
agent.sinks = log-sink hdfs-sink
명령이 실행 된 후 다음 메시지가 루프에서 계속 반복됩니다.
(conf-file-poller-0) [DEBUG - org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(PollingPropertiesFileConfigurationProvider.java:126)] Checking file:flume.conf for changes
그 이유는 무엇일까요?
해결법
-
==============================
1.Flume은 기본적으로 30 초마다 변경 사항을 찾는 구성 파일을 검사합니다 (하드 코딩되어 있음). 그런 다음 새로운 구성을 적용하기 위해 영향을받는 구성 요소 (소스, 싱크 또는 채널)를 다시 생성합니다. 이 동작을 비활성화하려면 --no-reload-conf 옵션을 사용하여 에이전트를 시작하기 만하면됩니다.
Flume은 기본적으로 30 초마다 변경 사항을 찾는 구성 파일을 검사합니다 (하드 코딩되어 있음). 그런 다음 새로운 구성을 적용하기 위해 영향을받는 구성 요소 (소스, 싱크 또는 채널)를 다시 생성합니다. 이 동작을 비활성화하려면 --no-reload-conf 옵션을 사용하여 에이전트를 시작하기 만하면됩니다.
from https://stackoverflow.com/questions/29094499/getting-checking-flume-conf-for-changes-in-a-loop by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop 파일 시스템이 랜덤 I / O를 지원하지 않는 이유는 무엇입니까? (0) | 2019.07.24 |
---|---|
[HADOOP] PIG UDF는 다중 줄이있는 튜플을 다른 매퍼로 분할합니다. (0) | 2019.07.24 |
[HADOOP] RDD 파티션 방법 (0) | 2019.07.24 |
[HADOOP] hadoop 맵에서의 에러 핸들링 감소 (0) | 2019.07.24 |
[HADOOP] Amazon Elastic MapReduce 부트 스트랩 작업이 작동하지 않음 (0) | 2019.07.24 |