kafka 프로듀서를 사용하면서 데이터가 소실되는 현상이 발생하여 이를 잊지 않고자 기록합니다. 단일 브로커에서의 데이터 소실 제가 사용하던 카프카 환경은 단일 브로커에 클러스터링이 되어있지않은 카프카였으며 해당 카프카 서비스가 알 수 없는 이유로 종료되었다가 다시 켜졌으며 이 중간에 프로듀싱을 하던 서비스가 보낸 데이터가 카프카에 쌓이지 못하고 사라지는 현상이 발생하였습니다. 해결책 이 데이터 소실 문제를 해결하고자 찾아 보았던 방법으로는 1. Kafka 클러스터링 Kafka 클러스터링 기능을 이용하여 3개 이상의 Broker로 이루어진 하나의 클러스터로 Kafka를 운영하는 방법입니다. 이 경우에 3대의 물리적인 서버를 브로커로 이용하는 것이 바람직합니다. 2. 프로듀싱에 실패한 데이터를 보관했다 다..
서버에 kafka를 실행시키고 로컬 PC(별도의 외부 PC)에서 서버의 kafka topic 을 구독하려하였는데 이리저리 해보아도 구독에 실패하다가 원인을 찾게되어 기록을 남깁니다. 일단 결론 원인은 kafka server.properties의 내용중 advertised.listeners 라는 녀석을 advertised.listeners==PLAINTEXT://11.22.33.123:9092 과 같이 IP를 명시하였더니 컨슘에 성공하였습니다 그렇다면 이 설정이 뭐길래 외부에서 컨슘하는걸 가능하게 할까요? advertised.listeners ? 넌 뭐하는 놈이니? server.properties를 열어보면 IP와Port 를 넣을 수 있는 값이 두개 있는걸 볼 수 있는대 listeners 와 adverti..
증상 kafka 사용중에 알 수 없는 타이밍에 kafka가 자동 종료되며 error shutdown broker because all log dirs in /tmp/kafka-logs have failed (kafka.log.logmanager) log를 뿜는 경우가 확인되었습니다. 예상되는 원인 kafka와 zookeeper의 기본 .properties 파일에는 /tmp 폴더 하위에 데이터를 쌓도록 지정되어있습니다. 문제는 리눅스의 /tmp 경로는 기본적으로 운영체제가 주기적으로 내용을 비워주는 크론탭을 돌리고있습니다. 아마 OS가 비워주는 타이밍에 Kafka에서 파일 핸들러를 물고있는게 아니라서 OS는 해당 파일을 지워버리고 지워진 후 바로 Kafka가 해당 파일을 사용하려하니 파일이 삭제되어(또는 ..
- Total
- Today
- Yesterday
- c++11
- rotator
- UE4
- c++
- double free
- coordinate system
- LambdaFunction
- 람다
- unrealengine
- 람다함수
- Trouble shooting
- Lambda
- bug
- UE5
- C
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |