kafka
-
Windows Kafka: 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다.컴퓨터/Kafka 2020. 12. 15. 16:45
가끔가다가 kafka 서버 콘솔에서 000~0000.timeindex ~: 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다. (the process cannot access the file because it is being used by another process) 라고 오류가 뜨면서, 서버가 죽어버린다. 무슨 오류인지 정확히 설명은 없고, kafka-server-stop을 해보아도 사용 중인 프로세스도 없고... 카프카 공식 오류 목록에 올라가 있긴하다. (그냥 리눅스 버전으로 쓰는 걸 추천하는 것 같다) 해결 방법 1 로그 폴더를 지워버린다. 프로덕션에선 권장하진 않지만, server.properties에 log.dirs로 설정돼있는 폴더 안 데이터를 전부 지우고, 다..
-
Python: Kafka + 대학교 공지 Parser + Slack API + MySQL컴퓨터/파이썬 2020. 12. 15. 15:00
결과물 1. 만들 것 사실, 하나의 파일로, parsing 하고, slack api에 전달하고, mySQL이나 json으로 저장해도 되지만 (Kafka Connect Sink로 해도 되고 방법은 많다.) 공부해본 것을 사용하기 위해, 짬뽕 Apache Kafka Producer에서 대학교 공지 데이터 불러오기 MySQL로 공지 저장과 동시에 Consumer로 데이터 전달하기 Apache Kafka Consumer에서 Slack API를 이용하여 댓글 남기기 (카카오톡 챗봇이 수락이 되면 카카오톡 챗봇으로 업데이트 예정) (서버 부담을 덜기 위해, 1시간 간격으로 공지 파싱) 2. 준비물 Apache Kafka Apache Kafka Apache Kafka: A Distributed Streaming Pl..
-
Kafdrop: Kafka 웹 UI컴퓨터/Kafka 2020. 12. 4. 16:45
Kafdrop obsidiandynamics/kafdrop Kafka Web UI github.com 1. 소개 kafdrop은 Kafka 토픽, 브로커, 컨슈머 그룹 등 Kafka을 웹 UI로 볼 수 있게 해주는 java 프로그램이다. 2. 사용법 JDK 11+, Kafka 0.11.0+ 또는 Azure Event Hubs 필요 Kafka서버만 실행해도 작동함 다운로드: github.com/obsidiandynamics/kafdrop/releases Releases · obsidiandynamics/kafdrop Kafka Web UI github.com "Download from Bintray"에서 .jar 파일만 다운로드한다. jar이 있는 폴더에서 다음을 실행한다. (brokerConnect를 설..
-
Kafka Slack API Producer 만들기 (Python)컴퓨터/Kafka 2020. 12. 3. 15:56
Kafka 예제 프로젝트 Apache Kafka A Distributed Streaming Platform. kafka.apache.org 이전 글: Kafka Slack API Consumer 만들기 1. 소개 이 예제에서 만들 결과물은 다음과 같다. Producer를 통해 이전 글(Consumer)에게, 매 5초마다 Slack 채널 "일반"에서 메시지를 읽고, 누군가 글을 남겼는데 "bug"란 단어를 포함한 글이면, json으로 dump 시켜서 Consumer에게 전송한다. {"USER": "ikr", "TEXT": "I found a bug, where I can copy my items over and over."} 그러면, Consumer는 자동으로 USER과 TEXT를 읽어서, 내가 원하는 S..
-
Kafka Slack API Consumer 만들기 (Python)컴퓨터/Kafka 2020. 12. 1. 19:31
Kafka 예제 프로젝트 Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 1. 소개 이 예제에서 만들 결과물은 다음과 같다. Producer CLI를 통해서, SLACK-KAFKA 토픽에게 아래의 json 데이터를 보냈다. (Producer를 만들어서 전송해도 된다.) {"CLUB_STATUS":"platinum","EMAIL":"ikr@kakao.com","STARS":1,"MESSAGE":"Exceeded all my expectations!"} 그러면, Consumer는 자동으로 EMAIL과 MESSAGE를 읽어서, 내가 원하는 Slack 채널에 다음과 같이 메시지를 남겨준다. ("EMAIL"이 나쁜 리뷰를 ..
-
[#3] Kafka 이론 (Producer, Consumer, Zookeeper)컴퓨터/Kafka 2020. 11. 29. 21:49
Kafka 3번째 튜토리얼 Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 이전 글: Kafa 이론 (topic, broker) 1. Producer (프로듀서) Producer [prə|duːsə(r)] (명사) 생산자, 생산 회사[국가] 데이터를 토픽에게 전송하는 역할을 한다. 어떤 브로커(서버), 파티션에 데이터를 저장할지 알아서 결정한다. 키 값을 지정하지 않으면 Round-Robin 형식으로 브로커에 데이터를 전송한다. 데이터를 쓸 때 어떤 확인(acknowledgment)을 받을 지 선택할 수 있다. acks = 0, 데이터 전송 후 확인이 필요, (데이터 손실 가능, ex. 서버에 보냈는데 서버가 다운..
-
[#1] Kafka 소개컴퓨터/Kafka 2020. 11. 28. 12:55
Apache Kafka Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 1. Kafka [카프카]란 LinkedIn에서 제작되어 Confluent에 의해 운영되는 "오픈소스 분산 스트리밍 플랫폼"이다. 포츈 100개 기업 중 80%가 카프카를 사용할 만큼 인기가 좋다. 사용 메시징 시스템 활동 추적 애플리케이션 로그 모으기 스트림 프로세싱 (Kafka Streams API, Spark...) 등등... 실제 활용 Pinterest: 광고 인프라 실시간 예산 계측 시스템에 이용 Uber: 사용자, 택시, 여행 정보 등을 실시간으로 받아 미래 수요, 가격 동요 계산 Netflix: 실시간 모니터링, (프로그램을 보는 ..