티스토리 뷰
플룸 메모리 채널을 이용할 때 ChannelFullException이 발생하는 경우가 있습니다. 보통 메모리 채널과 연결된 싱크에서 데이터가 쌓이는 속도보다 빠르게 데이터를 처리하지 못하여 발생합니다. 메모리 채널과 파일 싱크를 연결했을 때 메모리 채널에 데이터가 쌓이는 속도보다 파일을 쓰는 속도가 느릴때 발생할 수 있습니다.
Caused by: org.apache.flume.ChannelFullException: Space for commit to queue couldn't be acquired. Sinks are likely not keeping up with sources, or the buffer size is too tight
at org.apache.flume.channel.MemoryChannel$MemoryTransaction.doCommit(MemoryChannel.java:130)
이런경우 메모리 채널의 캐패시티를 늘려주어 메모리에 보관할 데이터를 늘려주거나, 채널을 변경하여 파일 채널로 바꾸어 주는 것이 좋습니다. 또한 채널 셀렉터를 이용하여 문제가 발생할 때 파일로 저장하도록 설정하는 것도 좋은 방법입니다.
Flume Memory Channel 설정
플름의 메모리 채널은 이벤트를 메모리 큐에 보관합니다. 메모리 채널은 처리는 빠르지만, 오류가 발생했을 때 데이터 유실이 발생할 수 있습니다. 캐피시티를 늘려서 데이터의 저장 공간을 늘릴 수 있습니다.
# 채널 이름 c1, 타입은 메모리 채널
a1.channels = c1
a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000 # 메모리에 보관할 이벤트의 갯수
a1.channels.c1.transactionCapacity = 10000 # 소스, 싱크로 처리할 트랜잭션의 갯수
a1.channels.c1.keep-alive = 100 # 이벤트를 추가하지 못할 때 이벤트를 보관하는 시간
a1.channels.c1.byteCapacityBufferPercentage = 20
a1.channels.c1.byteCapacity = 800000
반응형
'빅데이터 > flume' 카테고리의 다른 글
[flume] HTTP로 플룸 모니터링 설정하는 방법 (0) | 2020.06.03 |
---|---|
[flume] 플룸 구조, 특징 (0) | 2019.07.26 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Linux
- 하둡
- bash
- SPARK
- error
- oozie
- SQL
- Python
- java
- Hadoop
- yarn
- 백준
- nodejs
- HDFS
- 다이나믹
- 하이브
- build
- mysql
- 알고리즘
- ubuntu
- 오류
- emr
- airflow
- AWS
- HIVE
- hbase
- 파이썬
- S3
- Tez
- 정올
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함