Pulsar Manager
Pulsar Manager
Pulsar Manager는 웹 기반 GUI 관리·모니터링 도구예요. 관리자와 사용자가 테넌트, 네임스페이스, 토픽, 구독, 브로커, 클러스터 등을 관리·모니터링할 수 있게 해주고, 여러 환경의 동적 구성을 지원해요.
출처: 문서
본문
note
Pulsar Manager는 오랫동안 잘 유지보수되지 않았어요. Pulsar Manager의 대안으로 Dekaf UI를 살펴보세요.
설치 (Install)
Pulsar Manager를 설치하려면 다음 단계를 완료해요.
1. 빠른 설치 (Quick Install)
Pulsar Manager를 가장 쉽게 사용하는 방법은 Docker 컨테이너에서 실행하는 것이에요.
docker pull apachepulsar/pulsar-manager:latest
docker run -it \
-p 9527:9527 -p 7750:7750 \
-e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties \
apachepulsar/pulsar-manager:latest
- Pulsar Manager는 프론트엔드와 백엔드로 나뉘며, 프론트엔드 서비스 포트는 9527, 백엔드 서비스 포트는 7750이에요.
SPRING_CONFIGURATION_FILE: spring의 기본 구성 파일.- 기본적으로 Pulsar Manager는 herddb 데이터베이스를 사용해요. HerdDB는 Java로 구현된 SQL 분산 데이터베이스이며, 자세한 정보는 herddb.org에서 찾을 수 있어요.
2. 데이터베이스 또는 JWT 인증 구성 (Configure Database or JWT authentication)
데이터베이스 구성 (선택) (Configure Database (optional))
데이터가 많은 경우 사용자 지정 데이터베이스를 사용할 수 있어요. 그렇지 않으면 일부 표시 오류가 발생할 수 있어요. 예를 들어 토픽이 10000개를 초과하면 토픽 정보가 표시되지 않을 수 있어요. 다음은 PostgreSQL 예시예요.
- 파일을 사용해 데이터베이스와 테이블 구조를 초기화해요.
- 구성 파일을 다운로드하고 수정한 다음 PostgreSQL 구성을 추가해요.
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/pulsar_manager
spring.datasource.username=postgres
spring.datasource.password=postgres
- 구성 마운트를 추가하고 docker 이미지로 시작해요.
docker pull apachepulsar/pulsar-manager:v0.4.0
docker run -it \
-p 9527:9527 -p 7750:7750 \
-v /your-path/application.properties:/pulsar-manager/pulsar-manager/application.properties
-e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties \
apachepulsar/pulsar-manager:v0.4.0
JWT 인증 활성화 (선택) (Enable JWT authentication (optional))
JWT 인증을 켜고 싶다면 application.properties 파일을 구성해요.
backend.jwt.token=token
jwt.broker.token.mode=PRIVATE
jwt.broker.public.key=file:///path/broker-public.key
jwt.broker.private.key=file:///path/broker-private.key
or
jwt.broker.token.mode=SECRET
jwt.broker.secret.key=file:///path/broker-secret.key
backend.jwt.token: 슈퍼유저용 토큰. 클러스터 초기화 중에 이 파라미터를 구성해야 해요.jwt.broker.token.mode: 토큰 생성의 여러 모드. PUBLIC, PRIVATE, SECRET을 포함해요.jwt.broker.public.key: PUBLIC 모드를 사용할 때 이 옵션을 구성해요.jwt.broker.private.key: PRIVATE 모드를 사용할 때 이 옵션을 구성해요.jwt.broker.secret.key: SECRET 모드를 사용할 때 이 옵션을 구성해요.- 자세한 내용은 Pulsar의 Token Authentication Admin을 참고해요.
프로필과 키 파일 마운트를 추가하는 Docker 명령.
docker pull apachepulsar/pulsar-manager:v0.4.0
docker run -it \
-p 9527:9527 -p 7750:7750 \
-v /your-path/application.properties:/pulsar-manager/pulsar-manager/application.properties
-v /your-path/private.key:/pulsar-manager/private.key
-e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties \
apachepulsar/pulsar-manager:v0.4.0
3. 관리자 계정과 비밀번호 설정 (Set the administrator account and password)
CSRF_TOKEN=$(curl http://localhost:7750/pulsar-manager/csrf-token)
curl \
-H 'X-XSRF-TOKEN: $CSRF_TOKEN' \
-H 'Cookie: XSRF-TOKEN=$CSRF_TOKEN;' \
-H "Content-Type: application/json" \
-X PUT http://localhost:7750/pulsar-manager/users/superuser \
-d '{"name": "admin", "password": "apachepulsar", "description": "test", "email": "[email protected]"}'
curl 명령의 요청 파라미터:
{"name": "admin", "password": "apachepulsar", "description": "test", "email": "[email protected]"}
name은 Pulsar Manager 로그인 사용자 이름으로, 현재는 admin이에요.password는 Pulsar Manager의 현재 사용자 비밀번호로, 현재는 apachepulsar예요. 비밀번호는 6자리 이상이어야 해요.
4. 환경 구성 (Configure the environment)
- 시스템에 로그인해요. 로그인하려면 http://localhost:9527을 방문해요. 현재 기본 계정은
admin/apachepulsar예요. - "New Environment" 버튼을 클릭해 환경을 추가해요.
- "Environment Name"을 입력해요. 환경 이름은 환경을 식별하는 데 사용돼요.
- "Service URL"을 입력해요. Service URL은 Pulsar 클러스터의 관리 서비스 URL이에요.
기타 설치 (Other Installation)
다른 설치 방법도 있어요.
베어메탈 설치 (Bare-metal installation)
바이너리 패키지를 사용해 직접 배포할 때 다음 단계를 따를 수 있어요.
- Pulsar Download 페이지에서 사용할 수 있는 바이너리 패키지를 다운로드하고 압축을 풀어요.
wget https://dist.apache.org/repos/dist/release/pulsar/pulsar-manager/pulsar-manager-0.4.0/apache-pulsar-manager-0.4.0-bin.tar.gz
tar -zxvf apache-pulsar-manager-0.4.0-bin.tar.gz
- 백엔드 서비스 바이너리 패키지를 추출하고 프론트엔드 리소스를 백엔드 서비스 디렉터리에 배치해요.
cd pulsar-manager
tar -xvf pulsar-manager.tar
cd pulsar-manager
cp -r ../dist ui
- 필요에 따라 application.properties 구성을 수정해요.
application.properties 파일을 수정하고 싶지 않다면, ./bin/pulsar-manager --backend.jwt.token=token처럼 시작 파라미터에 구성을 추가할 수 있어요. 이것은 spring boot 프레임워크의 기능이에요.
- Pulsar Manager 시작
./bin/pulsar-manager
사용자 지정 docker 이미지 설치 (Custom docker image installation)
Docker Hub 디렉터리에서 docker 이미지를 찾을 수 있고, 소스 코드에서 이미지를 빌드할 수도 있어요.
git clone https://github.com/apache/pulsar-manager
cd pulsar-manager/front-end
npm install --save
npm run build:prod
cd ..
./gradlew build -x test
cd ..
docker build -f docker/Dockerfile --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` --build-arg VCS_REF=`latest` --build-arg VERSION=`latest` -t apachepulsar/pulsar-manager .
구성 (Configuration)
| application.properties | System env on Docker Image | Desc | Example |
|---|---|---|---|
backend.jwt.token |
JWT_TOKEN |
슈퍼유저용 토큰. 클러스터 초기화 중에 이 파라미터를 구성해야 해요. | token |
jwt.broker.token.mode |
N/A | 토큰 생성의 여러 모드. PUBLIC, PRIVATE, SECRET을 포함해요. | PUBLIC or PRIVATE or SECRET. |
jwt.broker.public.key |
PUBLIC_KEY |
PUBLIC 모드를 사용할 때 이 옵션을 구성해요. | file:///path/broker-public.key |
jwt.broker.private.key |
PRIVATE_KEY |
PRIVATE 모드를 사용할 때 이 옵션을 구성해요. | file:///path/broker-private.key |
jwt.broker.secret.key |
SECRET_KEY |
SECRET 모드를 사용할 때 이 옵션을 구성해요. | file:///path/broker-secret.key |
spring.datasource.driver-class-name |
DRIVER_CLASS_NAME |
데이터베이스의 드라이버 클래스 이름 | org.postgresql.Driver |
spring.datasource.url |
URL |
데이터베이스의 JDBC URL | jdbc:postgresql://127.0.0.1:5432/pulsar_manager |
spring.datasource.username |
USERNAME |
데이터베이스의 사용자 이름 | postgres |
spring.datasource.password |
PASSWORD |
데이터베이스의 비밀번호 | postgres |
| N/A | LOG_LEVEL |
로그의 레벨 | DEBUG |
- 백엔드 구성에 대한 자세한 내용은 여기를 참고해요.
- 프론트엔드 구성에 대한 자세한 내용은 여기를 참고해요.
더 알아보기 (Learn more)
- Pulsar Manager의 대안으로 Dekaf UI 문서를 참고해요.
- Pulsar 토큰 인증 관리 방법은 Token Authentication Admin 문서를 참고해요.
- Pulsar 클러스터 관리 전반은 pulsar-admin 문서를 참고해요.