일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- aws s3
- kubeadm
- kubectl
- docker
- airflow
- OS
- tcp
- grafana
- PostgreSQL
- CVAT
- CSV
- JavaScript
- AWS
- jvm
- log
- Kafka
- kubernetes
- Network
- Vision
- MAC address
- Packet
- helm
- java
- Spring
- zookeeper
- Operating System
- Python
- Trino
- EC2
- ip
- Today
- Total
목록MLOps/Kafka (15)
JUST WRITE
데이터 언제 저장할꺼니?!?! Kafka는 분산 메시지 시스템이자 Message Queue입니다. Kafka는 메시지를 받고 바로 지우지 않고 어느 정도 Broker에 저장합니다. 다양한 Consumer에서 메시지를 활용할 수도 있고 Network 문제 등 다양한 이유로 consuming에 시간이 걸리수도 있습니다. Kafka에서는 데이터 저장을 어떤식으로 관리할까요? 이번 포스팅에서는 Kafka 데이터 저장 관련 설정값을 정리해보도록 하겠습니다. Log Retention Kafka에서는 Broker에서 메시지를 받고 저장하는데, 저장한 Message를 Log라고 합니다. Broker나 Topic의 설정값에 따라서 Broker에서 Log를 어느 정도 저장할지 설정할 수 있습니다. Retention 관련 ..
어디까지 줄일 수 있니?! Kafka Cluster를 운영 업무를 맡아서 하고 있습니다. 여러 Cluster를 운영하고 있는데, 그중에서 해외 사이트에 설치된 Kafka Cluster도 있습니다. 해외사이트의 Kafka에서 국내로 Consuming해서 데이터를 처리해야 될 상황이었습니다. Network Bandwidth 때문에 아무리 Consuming 튜닝해도 데이터 전송에 제한이 있었습니다. 여러 가지 방안을 찾던 중 Message Compression을 좀 더 효과적으로 하는 방향을 고민해 보았습니다. 이번 포스팅에서는 위 이슈를 해결하기 위해 공부한 Message Compression을 정리해보려고 합니다. Kafka Compression Kafka는 실시간 데이터 처리하는 데 많이 사용되고 있습니..
Consumer야 살았니?! 죽었니?! Kafka Cluster를 운영하면서 다양한 상황에 직면하게 됩니다. 그중에서 가장 많은 경우가 Producer나 Consumer가 제대로 동작하지 않고 shutdown 되는 경우입니다. 이번에 다른 팀에서 Consumer를 처음 세팅하면서 조언을 구하는 경우가 있었습니다. Consumer가 자꾸 shutdown된다는 거였습니다. 전달받은 log를 살펴보면 Heartbeat Thread closed. 위 문구를 발견할 수 있었습니다. 몇가지 Consumer 세팅값 변경을 권유해 주었습니다. 이후 저는 위 문구에 있는 Heartbeat Thread에 대해 궁금증이 생겼습니다. Kafka Cluster에서 데이터(Lag)를 가져오려면 Consumer Client를 통해..
1개로 부족해, 2개의 IP로 접근하기 요즘 Cloud 환경에서 Server를 세팅하는 경우가 많습니다. Kafka 역시 Cloud 환경에서 운영하는 경우가 많습니다. Cloud 환경에서는 보통 Public Network, Private Network로 구성됩니다. 보안적으로 Public, Private 나눠서 구성하는 것이 좋습니다. Private Network는 내부에서만 접근하기 때문에 비교적 안전합니다. 그래도 외부에서 접근해야 될 경우도 있습니다. Public, Private IP로 모두 접근이 필요한 경우가 많습니다. Kafka도 Public, Private IP로 모두 접근하려면 어떻게 해야 할까요? Kafka Public/Private IP로 접근 Kafka 설정 중 Listener 관련 ..
Doc에 있는 JVM 설정 파헤치기 Kafka를 운영하다 보면 설정해야 될게 한두 가지가 아닙니다. Broker, Partition, Retention, Compression 등 이외에도 신경 써야 할 게 너무 많습니다. 저도 운영을 하다 보니 점점 Kafka의 사용도가 커지고 데이터 처리량이 많아지고 있습니다. Kafka 데이터 처리 성능과 관련된 설정을 찾아보게 되었습니다. 여러 가지가 있었지만 저의 눈에 띄었던 거는 Java 관련 설정이었습니다. 이번 포스팅에서는 Kafka Document에 있는 JVM 설정 Argument를 하나하나 살펴보겠습니다. Kafka Java Kafka는 JVM 위에서 동작하는 Java와 Scala로 개발되었습니다. 그래서 Kafka 설치에 앞서 JVM 설치가 필수적입니..
큰일 났다! Out of Sync다?!?! Kafka Cluster를 운영하면 CMAK을 통해 Web에서 관리하는 경우가 많습니다. 저 역시 Kafka Cluster를 운영하면서 CMAK을 활용하고 있습니다. CMAK에서 Under Replicated가 0이 아닌 50으로 나온 경우가 발생하였습니다. Under Replicated가 0이 아니라는 것은 Topic의 Parition replicate가 설정한 대로 안된다는 것을 의미합니다. Out of Sync가 발생한 상황입니다. 실제로 Kafka 로그가 아래와 같이 발생하고 있었습니다. INFO [Partition __consumer_offsets-22 broker=3] Shrinking ISR from 1,3 to 3. Leader: (highWate..