본문 바로가기

728x90

Kafka

우분투에 PHP rdkafka 확장 모듈을 설치하는 방법 우분투에 PHP rdkafka 확장 모듈을 설치하는 방법필수 패키지 설치빌드 도구 설치sudo apt install -y build-essentialre2c 설치sudo apt install -y re2cPHP 개발 도구, PECL 도구 및 librdkafka 개발 헤더 파일 설치sudo apt install -y php-dev php-pear librdkafka-devPECL을 통해 rdkafka 확장 설치현재 PECL 채널 정보 확인sudo pecl channel-info pecl.php.netPECL 채널 업데이트sudo pecl channel-update pecl.php.net기존에 설치된 rdkafka 확장을 제거sudo pecl uninstall rdkafkaPECL 채널 강제 업데이트(URL.. 더보기
Kafka에서 메시지를 수신하고 해당 메시지를 Slack으로 보내는 파이썬 코드를 작성하기 Kafka에서 메시지를 수신하고 해당 메시지를 Slack으로 보내는 파이썬 코드를 작성하기Kafka 메시지 소비 : kafka-python 라이브러리를 사용할 수 있습니다.Slack으로 메시지 전송 : Slack의 Webhook을 사용하여 메시지를 보냅니다.Python 설치기존 Python 제거sudo apt-get remove --purge python3Python 설치sudo apt-get updatesudo apt-get install -y python3 python3-pip python3-venv가상 환경 생성 및 패키지 설치가상 환경을 생성하고 필요한 패키지를 설치할 수 있습니다.가상 환경 생성python3 -m venv myenv가상 환경 활성화 (Linux/Mac)source myenv/bi.. 더보기
Python으로 Kafka Consumer 생성 Python으로 Kafka Consumer 생성Python에서는 confluent_kafka 라이브러리를 주로 사용하여 Kafka 클러스터와 상호작용합니다.Apache Kafka - Cluster Architecture1. 간단한 Kafka 컨슈머를 만들기confluent_kafka 라이브러리를 설치합니다.pip install confluent_kafkaPython Kafka Consumer 예제Topic : test-topic-1Kafka Broker Server : node1:9092, node2:9092, node3:9092Consumers Group ID : my-consumer-groupvim python_kafka_consumer.pyfrom confluent_kafka import Consu.. 더보기
Kafdrop 도구를 사용하여 Kafka 클러스터를 관리하는 방법 Kafdrop 도구를 사용하여 Kafka 클러스터를 관리하는 방법docker-compose.yml 파일 생성vim docker-compose.ymlservices: kafdrop: image: obsidiandynamics/kafdrop:latest restart: always container_name: kafdrop hostname: kafdrop extra_hosts: - "node1:192.168.0.111" - "node2:192.168.0.112" - "node3:192.168.0.113" environment: - KAFKA_BROKERCONNECT=node1:9092,node2:9092,node3:9092 ports.. 더보기
Kafka-UI 도구를 사용하여 Kafka 클러스터를 관리하는 방법 Kafka-UI 도구를 사용하여 Kafka 클러스터를 관리하는 방법docker-compose.yml 파일 생성vim docker-compose.ymlservices: kafka-ui: image: provectuslabs/kafka-ui:latest container_name: kafka-ui restart: always environment: - KAFKA_CLUSTERS_0_NAME=local - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=node1:9092,node2:29092,node3:9092 - KAFKA_CLUSTERS_0_ZOOKEEPER=node1:2181,node2:2181,node3:2181 ports: .. 더보기
Apache Kafka와 ZooKeeper 클러스터를 구성하는 방법 Apache Kafka와 ZooKeeper 클러스터를 구성하는 방법ZooKeeper는 Kafka의 클러스터 메타데이터를 관리하기 위해 필요하며 Kafka 브로커와 ZooKeeper의 클러스터 구성은 분산 환경에서 높은 가용성과 확장성을 제공합니다.테스트 환경HostnameIPRole비고node1192.168.10.111  node2192.168.10.112  node3192.168.10.113  1. Kafka 및 ZooKeeper 클러스터 구조 개요ZooKeeper는 Kafka 클러스터의 상태를 관리하고 브로커 간의 협력을 조율합니다.Kafka 브로커는 메시지를 저장하고 클라이언트(프로듀서 및 컨슈머)로부터 데이터를 송수신합니다. 여러 개의 브로커가 함께 작동하여 클러스터를 구성합니다.2. 필수 조건서.. 더보기
Redis, Memcached, Kafka, Elasticsearch, RabbitMQ, MongoDB의 특징과 주요 차이점 Redis, Memcached, Kafka, Elasticsearch, RabbitMQ, MongoDB의 특징과 주요 차이점 모두 NoSQL 데이터베이스 또는 메시징 시스템으로 분류되는 인기 있는 오픈 소스 기술입니다. Redis 키-값 저장소로, 데이터를 키와 값의 쌍으로 저장합니다. Redis는 빠른 성능과 다양한 데이터 구조를 지원하는 것으로 유명합니다. Redis는 캐싱, 로그, 세션 관리, 게임 상태 관리 등 다양한 용도로 사용할 수 있습니다. Memcached Redis와 유사한 키-값 저장소이지만 Redis보다 더 단순한 기능을 제공합니다. Memcached는 빠른 성능으로 유명하며 캐싱에 가장 일반적으로 사용됩니다. Kafka 분산 메시징 시스템으로, 메시지를 게시하고 구독할 수 있는 토픽.. 더보기
Kafka Broker 및 ZooKeeper의 버전을 확인하는 방법 Kafka Broker 및 ZooKeeper의 버전을 확인하는 방법Kafka Broker 버전 확인Kafka Server가 실행 중인 경우 다음 명령을 사용하여 버전을 확인할 수 있습니다.kafka-server-start.sh --version또는kafka-run-class.sh kafka.Kafka --versionZooKeeper 버전 확인ZooKeeper Server가 실행 중인 경우 다음 명령을 사용하여 버전을 확인할 수 있습니다.zkServer.sh --version또는zookeeper-server-status이러한 명령어를 사용하여 Kafka Broker 및 ZooKeeper의 현재 설치된 버전을 확인할 수 있습니다.Kafka(Broker) versionfind /usr/share/java/k.. 더보기

반응형