Apache Kafka - Docker를 통한 환경 셋팅
·
DataPipeline/Kafka
Kafka 운영시에는 AWS EC2에 설치하거나 온프로미스 서버에 환경셋팅 한다. 최근에는 쿠버네티스를 통해 운영하기도하는데, 로컬에서 테스트 및 이것저것 Toy Project하기에는 도커로 설치하는게 가장 심플하다. 도커 이미지는 bitnami image를 사용한다. confluentinc image도 있지만 bitnami가 pull 횟수가 가장 많다. kafka는 zookeeper 이미지도 설치해야한다. KRaft라고 zookeeper없이 설치하는 방법도 있지만 대부분의 문서가 kafka-zookeeper 한 set으로 설명하고 있고 HBase와 같이 zookeeper와 함께 사용하고 있는 프로그램들이 있기에 익숙해지는 것이 좋다. [ 프로젝트 설정 ] 일단 프로젝트를 만든다. 이 글에선 Pychar..
Apache Kafka - Simple Python Code
·
DataPipeline/Kafka
[ Ubuntu ] * 사전설치 Python3 sudo apt-get upgrade # Pip설치 sudo apt-get install python3-pip #Kafka Lib 설치 sudo pip3 install kafka-python [ 테스트 코드 ] from kafka import KafkaProducer import time producer = KafkaProducer( bootstrap_servers=['172.31.11.11:9092', '172.31.22.222:9092', '172.31.33.33:9092'] ) for i in range(1,50): producer.send('Topic-Name', str.encode('kafka:-%d' % i) ) time.sleep(0.5)
Apache Kafka - 토픽삭제가 안되는 경우
·
DataPipeline/Kafka
[ 토픽삭제 안되는 경우 ] server.properties 파일의 delete.topic.enable=true임에도 토픽이 삭제되지 않는경우 1. 카프카 dir.log파일과 관련 주키퍼로그 파일 삭제 2. 카프카 브로커를 재시작한다. 참조 : https://stackoverflow.com/questions/23976670/when-how-does-a-topic-marked-for-deletion-get-finally-removed : https://stackoverflow.com/questions/44564606/how-can-i-remove-kafka-topics-marked-for-deletion
Apache Kafka - 재시작시 meta.propertie 에러
·
DataPipeline/Kafka
에러메세지 ] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer) kafka.common.InconsistentClusterIdException: The Cluster ID lTeGi4hnRaKFOHhVMQnfEg doesn't match stored clusterId Some(eaVbu41vRfSi-XzD7DxMog) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong. at kafka.server.KafkaServer.startup(KafkaSe..
Apache Kafka - 명령어
·
DataPipeline/Kafka
* 카프카 PATH로 cd하여 실행함을 가정한다. [ 실행과 중지 ][ 카프카 실행 ]./bin/kafka-server-start.sh ./config/server.properties --daemon [ 카프카 중지 ]./bin/kafka-server-stop.sh  [ 토픽 ][ 토픽생성 ]# 카프카 서버3대 (broker)에 복제를 3번하는 토픽을 만든다../bin/kafka-topics.sh --create \--zookeeper 172.123.123.111:2181, 172.123.123.222:2181, 172.123.123.333:2181 \--replication-factor 3 --partitions 3 \--topic kafka-topic-name [ 토픽확인 ]./bin/kafka-to..
Apache Kafka - server.properties 환경설정
·
DataPipeline/Kafka
Kafka 매개변수는 표 : https://www.ibm.com/support/knowledgecenter/ko/SSPFMY_1.3.5/com.ibm.scala.doc/config/iwa_cnf_scldc_kfk_prp_exmpl_c.html $ vi /usr/local/kafka/config/server.properties [ Server Basics ] broker.id=1 : 브로커를 구분하기위한 ID [ Socket Server Settings ] listeners=PLAINTEXT://:9092 : 카프카 소켓서버가 수신하는 주소. 기본포트는 9092 num.network.threads=3 : 네트워크 요청을 처리하는 데 사용되는 스레드 수 num.io.threads=8 : 입력 및 출력 조작에..
Apache Kafka - 설치
·
DataPipeline/Kafka
환경 가상머신 : Virtualbox 6.2.12 운영체제 : CentOS-7-x86_64-Everything-2003.ios 3대설치 각 host는 hadoop01, hadoop02, hadoop03으로 지정 1. virtual machine에 centOS-7을 올리고 설치 2. Java설치 카프카를 설치하기 전 주키퍼(zookeeper)를 설치해야 하는데, 주키퍼는 자바(java)애플리케이션이기에 먼저 설치해준다. $ yum -y install java-1.8.0-openjdb 3. 호스트 이름변경 vi /etc/hosts를 열어 111.11.11.1111 hadoop01 222.22.22.2222 hadoop02 333.33.33.3333 hadoop03 을 추가한다. ( 3대 서버 모두 ) 4. ..
Apache Kafka - 개요 및 아키텍처
·
DataPipeline/Kafka
카프카는 이벤트스크리밍(Event Streaming)기반 메세징시스템(Messaging System)으로 실시간 데이터를 저장, 조작, 다른목적지로 배치작업 등을 하기에 용이하다. 메세징시스템이란? 메세징시스템은 한 어플리케이션에서 다른 어플리케이션으로 데이터를 전송하는 역할을 한다. 분산메세징시스템은 메세지 큐를 기반으로 어플리케이션과 메세지 큐 사이에 비동기적(Asynchronously)으로 작동한다. 보통 2개의 타입의 메세징패턴이 제공되는데 포인트 투 포인트(point-point)와 게시구독(pub-sub)시스템이다. 포인트 투 포인트 메세징시스템(point to point messaging system) 대표적인 예로 주문처리시스템을 생각하면 된다. 한 명 이상의 소비자가 큐에 있는 메세지를 소..
wave35
'DataPipeline/Kafka' 카테고리의 글 목록 (2 Page)