kafka Windows 사용법
kafka를 다운받아 CLI(Shell)로 실행한다.
Window로 실행시 bin\windows의 배치파일을 사용한다.
(Window로 실행 할 때 경로가 길다고 안되는 경우가 있다.. C드라이브나 전체 경로가 짧은 곳으로 옮겨주면 실행된다. )
기본경로는 kafak 폴더
Zookeeper server 실행 명령어
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
kafka-server 실행 명령어
bin\windows\kafka-server-start.bat confg\server.properties
Topic 등록 명령어
bin\windows\kafka-topics.bat --create --topic {topic_name} --bootstrap-server locational:9092 --partitions 1
원하는 topic명 파티션을 지정할수있음
Topic 리스트 명령어
bin\windows\kafka-topics.bat --bootstrap-server locational:9092 --list
Produce 명령어
bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic {topic_name}
Consumer 명령어
bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic {topic_name} --from-beginning
옵션 --from-beginning 메시지를 처음부터 다 가져옴
Producer 커맨드에서 메시지를 입력하면 Consumer 커맨드창에 메시지가 보인다.
Kafka Connect
Kafka Connect를 통해 Data Source System과 Target System을 연결
Standalone, Distribution mode를 지원함
- RESTFUL API를 통해 지원
- Stream 또는 batch 형태로 테이터 전송 가능
- 커스텀 Connector를 통한 다양한 플러그인 제공
Source Kafka Kafka Kafka Target
System -> Connect -> Cluster -> Connect -> System
(DB...) Soucer Sink (S3...)
ETC. MariaDB와 연결
DB는 msi, zip 으로 제공되니 원하는 것으로 설치 나는 window를 사용해서 그냥 설치파일로 설치했다..
사용할 프로젝트에 mariadb dependency를 추가한다.
해당 강의에서는 h2 console을 사용해서 MariaDB와 연결했다.
h2 console에서
Save Settings: Generic MySQl
Setting Name: Generic MySQL
Driver class : org.mariadb.jdbc.Driver
JDBC URL: jdbc:mysql://localhost:{port}/{db}
Kafka Connect 실행
기본폴더 kafka Connect(confluent-community)
bin\windows\connect-distributed.bat etc\kafka\connect-distributed.properties
bin\windows\kafka-run-class.bat 파일에서
rem Claspath addition for core 위에 아래 코드삽입
rem classpath addition for LSB style path if exist %BASE_DIR%\share\java\kafka\* ( call:concat %BASE_DIR%\share\java\kafka\* ) |
JDBC Connection 설정
confluentinc-kafka-connect-jdbc는 다운로드 받아야함.
etc\kafka\connect-distributed.properties 파일 마지막에 아래 plugin 정보 추가
plugin.path=\C:\\confluentinc-kafka-connect-jdbc-{version}\\lib
JDBC Connect에서 MariaDB 사용하기 위해 MariaDB 드라이버를 복사해야함
${User.Home}\.m2\repository\org\mariadb\jdbc\... 폴더 밑에서 mariadb-java-client-${version}.jar 파일을
\share\java\kafka\로 복사
본 글은 인프런 Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) 이도원강사님의 강의를 듣고
이해한 내용과 강의 내용의 일부를 정리한 내용입니다.
'Computer Science > MSA' 카테고리의 다른 글
080821 MSA_SpringCloud (0) | 2021.08.10 |
---|---|
080721 MSA_SpringCloud (0) | 2021.08.09 |
080621 MSA SpringCloud (0) | 2021.08.09 |
080521 SpringCloud_MSA 공부 (0) | 2021.08.05 |
080321 Spring Cloud MSA 기록 (0) | 2021.08.04 |