로컬에서 standalone Pulsar 클러스터 실행하기
로컬에서 standalone Pulsar 클러스터 실행하기
로컬 개발과 테스트를 위해 자신의 머신에서 standalone 모드로 Pulsar를 실행할 수 있어요. standalone 모드는 Pulsar 클러스터의 모든 구성 요소를 하나의 JVM(Java Virtual Machine) 프로세스 안에서 실행해요.
토픽을 만들고 메시지를 쓰고 읽는 흐름을 직접 경험하기 좋은 시작점이에요. 전체 프로덕션 Pulsar 설치를 원한다면 Pulsar 인스턴스 배포 가이드를 참고하세요.
출처: 문서
본문
0단계: 사전 준비 (Prerequisites)
현재 Pulsar는 64비트 macOS와 Linux에서 사용할 수 있어요. Windows에서 Pulsar를 실행하려면 Docker에서 Pulsar 실행하기 문서를 참고해요.
또한 적절한 64비트 JRE/JDK 버전이 설치되어 있어야 해요.
- Java 25 — Pulsar 5.0+ 및 master 브랜치에 권장
- Java 21 — Pulsar 4.0+에 필요
- Java 17 — Pulsar 2.11+에 필요
- Java 11 — Pulsar 2.8/2.9/2.10에 필요
- Java 8 — Pulsar 2.7 및 이전 버전에 필요
최신 Java 버전 권장 사항은 Pulsar 런타임 Java 버전 권장 사항을 참고해요. Java 버전을 사용할 때는 최신 버그 수정과 보안 패치가 적용된 특정 Java 릴리스(17 또는 21)의 최신 버전을 사용하는 걸 권장해요. Java 설치 방법은 SDKMAN으로 JDK와 Maven 설정하기에서 찾거나 Adoptium에서 Temurin OpenJDK 배포판을 다운로드할 수 있어요.
1단계: Pulsar 배포판 다운로드 (Download Pulsar distribution)
공식 Apache Pulsar 배포판을 다운로드해요.
curl -LO "https://www.apache.org/dyn/closer.lua/pulsar/pulsar-5.0.0-M2/apache-pulsar-5.0.0-M2-bin.tar.gz?action=download"
다운로드 페이지에서 바이너리 패키지를 다운로드할 수도 있어요.
다운로드가 끝나면 tar 파일의 압축을 풀어요.
tar xvfz apache-pulsar-5.0.0-M2-bin.tar.gz
이 빠른 시작의 나머지 명령은 모두 배포판 폴더의 루트에서 실행되므로, 해당 디렉터리로 이동해요.
cd apache-pulsar-5.0.0-M2
다음을 실행해 내용을 나열해요.
ls -1F
다음 디렉터리가 생성돼요.
| 디렉터리 | 설명 |
|---|---|
bin |
pulsar 진입점 스크립트와 다양한 명령줄 도구 |
conf |
broker.conf를 포함한 구성 파일 |
lib |
Pulsar가 사용하는 JAR |
examples |
Pulsar Functions 예제 |
instances |
Pulsar Functions용 아티팩트 |
2단계: standalone Pulsar 클러스터 시작 (Start a Pulsar standalone cluster)
이 명령으로 standalone Pulsar 클러스터를 시작해요.
bin/pulsar standalone
Pulsar 클러스터가 시작되면 다음 디렉터리가 생성돼요.
| 디렉터리 | 설명 |
|---|---|
data |
BookKeeper와 RocksDB가 만든 모든 데이터 |
logs |
모든 서버 측 로그 |
팁:
- 서비스를 백그라운드 프로세스로 실행하려면
bin/pulsar-daemon start standalone명령을 사용해요. 자세한 내용은 pulsar-daemon 문서를 참고해요.- Pulsar 클러스터를 시작하면
public/default네임스페이스가 생성돼요. 이 네임스페이스는 개발 목적용이에요. 모든 Pulsar 토픽은 네임스페이스 안에서 관리돼요. 자세한 내용은 네임스페이스와 토픽 문서를 참고해요.
3단계: 토픽 만들기 (Create a topic)
Pulsar는 메시지를 토픽에 저장해요. Pulsar가 참조될 때 토픽을 자동으로 생성할 수 있더라도, 사용하기 전에 토픽을 명시적으로 만드는 것이 좋은 관행이에요.
새 토픽을 만들려면 이 명령을 실행해요.
bin/pulsar-admin topics create persistent://public/default/my-topic
4단계: 토픽에 메시지 쓰기 (Write messages to the topic)
pulsar 명령줄 도구를 사용해 토픽에 메시지를 쓸 수 있어요. 이 방법은 실험에 유용하지만, 실제로는 애플리케이션 코드의 Producer API를 사용하거나, 다른 시스템의 데이터를 Pulsar로 가져오는 Pulsar IO 커넥터를 사용하게 돼요.
메시지를 생산하려면 이 명령을 실행해요.
bin/pulsar-client produce my-topic --messages 'Hello Pulsar!'
5단계: 토픽에서 메시지 읽기 (Read messages from the topic)
토픽에 메시지가 쓰였으니, 컨슈머를 실행해 그 메시지들을 다시 읽는 명령을 실행해요.
bin/pulsar-client consume my-topic -s 'my-subscription' -p Earliest -n 0
Earliest는 가장 이른 미소비 메시지부터 소비한다는 뜻이에요. -n은 소비할 메시지 수를 설정하며, 0은 계속 소비한다는 의미예요.
이전과 마찬가지로 이 방법은 메시지 실험에 유용하지만, 실제로는 애플리케이션 코드의 Consumer API나 Pulsar에서 다른 시스템으로 데이터를 보내는 Pulsar IO 커넥터를 사용하게 돼요.
이전 단계에서 생산한 메시지를 볼 수 있어요.
----- got message -----
key:[null], properties:[], content:Hello Pulsar!
6단계: 메시지 더 쓰기 (Write some more messages)
이전 단계의 consume 명령을 계속 실행해 두세요. 이미 닫았다면 다시 실행하면 돼요.
이제 새 터미널 창을 열고 메시지를 더 생산해요. 기본 메시지 구분자는 ,예요.
bin/pulsar-client produce my-topic --messages "$(seq -s, -f 'Message NO.%g' 1 10)"
컨슈머 터미널에 이 메시지들이 거의 즉시 표시되는 걸 확인해 보세요.
7단계: Pulsar 클러스터 중지 (Stop the Pulsar cluster)
작업을 마쳤으면 Pulsar 클러스터를 종료할 수 있어요. 클러스터를 시작한 터미널 창에서 Ctrl-C를 누르세요.
관련 토픽 (Related Topics)
- Pulsar 개념·아키텍처
- Pulsar 클라이언트 라이브러리
- Pulsar 커넥터
- Pulsar 함수
더 알아보기 (Learn more)
- Pulsar를 Docker로 실행하는 방법은 Docker 시작 문서를 참고해요.
- Pulsar를 Kubernetes에서 실행하는 방법은 Helm 시작 문서를 살펴보세요.
- Pulsar의 구조가 궁금하다면 개념·아키텍처 문서를 참고해요.