Kafka
-
[Kafka] - 8. acks / Batch / Page Cache&Flush개발/Kafka 2022. 9. 15. 03:28
목차 1. Kafka Acks 2. Kafka Batch 3. Page Cache&Flush 1. Kafka Acks Acks은 Network에 3hand-shake에서 나오는 개념으로, Data가 안전하게 전송하였는지 여부를 확인하는 용도입니다. 이와 같이 Kafka에서도 동일하게 Message(Data)에 대해 Producer가 Kafka에게 전송이 잘 되었는지 알고 싶어합니다. 1-1) Ack Request가 성공할 떄, 사용되는 Producer에 의해 설정되는 Parameter Case1) Acks = 0 Acks가 필요하지 않다는 의미 메시지 손실이 있더라도 빠르게 전송하는 경우 외에는 자주 사용되지 않는다. Case2) Acks = 1 Default 값이다. Leader가 Message를 수신..
-
[Kafka] - 21. ELK(Elasticsearch, kibana, logstash)개발/Kafka 2022. 8. 25. 20:40
ELK구축을 위하여 github 및 Elasticsearch 공식 홈페이지를 참고하였습니다. 구현한 docker-compose file은 https://github.com/Kimuksung/Kafka 를 참고하시면 됩니다. Architecture 구상한 Architecture = log 수집 -> filebeats -> Kafka -> logstash -> elasticsearch입니다. Kafka로 부터 Elasticsearch에 data를 넣어 시각화하여 보려합니다. github로부터 ELK파일을 Pull하여 옵니다. ELK + Kafka docker-compose 파일부터 보여드리겠습니다. 1. elasticsearch 1-1) elasticsearch setting elasticsearch->co..
-
[Kafka] - 20. Filebeats to Kafka(Log produce)개발/Kafka 2022. 8. 25. 19:38
Appicatoin의 Log 데이터를 ELK ( Elasticsearch,Kibana,logstash ) 로 구축하여 볼 예정입니다. 들어가기 앞서, Kafka는 Docker-compose로 이미 구성을 완료하였습니다. Architecture 구상한 Architecture = log 수집 -> filebeats -> Kafka -> logstash -> elasticsearch입니다. 1. Filebeats 가상 로그 환경을 만들어주는 환경을 사용하여 구축할 예정입니다. ( Fake-Apache-Log-generator ) docker-compose로 아래와 같이 구성하여 줍니다. centos8 version은 EOL되었기 때문에 mirroring error가 발생하여 값을 변경하여 줍니다. #docke..
-
[Kafka] - 19. Kafka GUI(AKHQ)개발/Kafka 2022. 8. 24. 14:54
매번 CLI 명령어를 치거나 관리 대는 대상을 확인하기 어렵기 때문에 GUI가 필수적입니다. 과거에는 CMAK라는 Opensource를 사용하면 되었지만, 현재는 지원하지 않습니다. AKHQ라는 유사한 Kafka GUI 툴을 사용하여 볼 예정입니다. 1. Install AKHQ Docker-compose에 아래 내용을 Broker의 IP:Port에 맞추어서 설정하여 줍니다. akhq: image: tchiotludo/akhq:latest hostname: akhq depends_on: - kafka-1 environment: AKHQ_CONFIGURATION: | akhq: connections: kafka: properties: bootstrap.servers: IP:PORT ports: - 8080:..
-
[Kafka] - 18. KAFKA_LISTENERS vs KAFKA_ADVERTISED_LISTENERS개발/Kafka 2022. 8. 23. 23:38
Docker-compose로 Kafka를 구성하던 도중에 내부 설정 값에 따라 계속하여 Container가 exited되는 현상이 발생되었습니다. 내부 Network Connection이 문제였기 때문에 해결하기 위해서는 Listeners라는 개념을 알아야 합니다. ( 삽질... ) Error connecting to node kafka1:19092 (id: 1 rack: null) (org.apache.kafka.clients.NetworkClient) java.net.UnknownHostException: kafka1: Name or service not known What is difference Listeners and Advertised_Listeners Listeners brokers shou..
-
[Kafka] - 16. Kafka 설치개발/Kafka 2022. 8. 18. 16:27
Kafka의 기본 개념을 알고 있다고 가정 후 진행하였습니다. Kafka는 Apache Kafka와 Confluent Kafka 두 가지의 종류로 나뉩니다. 금일 설치할 Kafka는 Apache Kafka입니다. Apache Kafka는 Opensource 입니다. 1. Install Kafka 아래 링크를 참조하여 설치합니다. https://kafka.apache.org/downloads Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 최근 올라와 있는 kafka_2.13-3.2.1.tgz 파일을 이용하여 설치하겠습니다. WSL2 Ubuntu 환경에서 설치를 진행하였습니다. 원하는 File위치나 새로 생성하여 진..
-
[Linux] - Kafka 실행 시 exec: java: not found개발/Linux 2022. 8. 18. 16:08
Kafka Zookeeper를 실행하기 위해서는 Java가 설치되어있어야합니다. $ java --version 위 명령어를 쳤을 경우 Install하라고 되어있다면 아래와 같이 진행이 필요합니다. 최신 JDK를 설치해보았습니다. 1. Download JDK https://www.oracle.com/java/technologies/downloads/ 최근 JDK 버전을 다운 받아줍니다. $ wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.tar.gz $ tar -zxf jdk-18_linux-x64_bin.tar.gz su 권한이 없다고 하면 Link를 참고 하시면 됩니다. $ su $ mkdir /opt/jdk $ mv jdk-1..
-
[Kafka] - 17. Docker-compose Kafka 개발환경 구축 및 테스트개발/Kafka 2022. 8. 11. 17:34
1. Docker 설치 Docker부터 설치하여 줍니다. ( 설치 방법은 Docker Category에서 확인하시면 됩니다. ) $ docker -v # Docker version 20.10.17, build 100c701 $ docker-compose -v # Docker Compose version v2.6.1 Docker를 기본으로 하기 때문에 중간에 이해가 안되시면 Docker 개념부터 보시는 것을 추천합니다. 2. Zookeeper, Broker Container 설치 및 실행 이론에서 배운 바와 같이 Zookeeper가 실행 한 후에 Kafka를 실행시켜주어야 합니다. ( 이에 따라 Broker에는 depends_on parameter 추가 참고 ) Zookeeper1,2,3은 12181번 /..