클러스터 관리
클러스터 관리 (Managing Clusters)
클러스터는 Pulsar 인스턴스의 핵심 구성 요소예요. 이 페이지에서는 클러스터를 프로비저닝하고, 구성 정보를 조회·업데이트하고, 피어 클러스터를 설정하고, 목록과 삭제를 각각 어떻게 하는지 정리했어요. 모든 작업을 pulsar-admin CLI, REST API, Java admin API 세 가지 방식으로 보여드릴게요.
출처: 문서
본문
tip
이 페이지는 자주 사용하는 일부 작업만 보여줘요. 최신·전체 정보는 아래 참고 문서를 확인하세요.
| Category | Method | If you want to manage clusters... |
|---|---|---|
| Pulsar CLI | pulsar-admin, which lists all commands, flags, descriptions, and more. |
See the clusters command |
| Pulsar admin APIs | REST API, which lists all parameters, responses, samples, and more. | See the /admin/v2/clusters endpoint |
| Pulsar admin APIs | Java admin API, which lists all classes, methods, descriptions, and more. | See the clusters method of the PulsarAdmin object |
클러스터에 대해 다음 작업을 수행할 수 있어요.
클러스터 프로비저닝 (Provision cluster)
관리 인터페이스로 새 클러스터를 프로비저닝할 수 있어요.
note
- 이 작업은 슈퍼유저 권한이 필요해요.
- 새 클러스터를 프로비저닝할 때는 클러스터 메타데이터를 초기화해야 해요. 클러스터 메타데이터는 pulsar-admin CLI로만 초기화할 수 있어요. Pulsar admin API(REST API와 Java admin API)로는 할 수 없어요.
pulsar-admin
create 하위 명령으로 새 클러스터를 프로비저닝해요. 예시는 다음과 같아요.
pulsar-admin clusters create cluster-1 \
--url http://my-cluster.org.com:8080 \
--broker-url pulsar://my-cluster.org.com:6650
REST API: PUT /admin/v2/clusters/{cluster}
Java
ClusterData clusterData = new ClusterData(
serviceUrl,
serviceUrlTls,
brokerServiceUrl,
brokerServiceUrlTls
);
admin.clusters().createCluster(clusterName, clusterData);
클러스터 구성 가져오기 (Get cluster configuration)
기존 클러스터의 구성을 언제든 가져올 수 있어요.
pulsar-admin
get 하위 명령에 클러스터 이름을 지정해요. 예시는 다음과 같아요.
pulsar-admin clusters get cluster-1
출력:
{
"serviceUrl": "http://my-cluster.org.com:8080/",
"serviceUrlTls": null,
"brokerServiceUrl": "pulsar://my-cluster.org.com:6650/",
"brokerServiceUrlTls": null
"peerClusterNames": null
}
REST API: GET /admin/v2/clusters/{cluster}
Java
admin.clusters().getCluster(clusterName);
클러스터 업데이트 (Update cluster)
클러스터 구성 업데이트 (Update cluster configuration)
기존 클러스터의 구성을 언제든 업데이트할 수 있어요.
pulsar-admin
update 하위 명령에 플래그로 새 구성 값을 지정해요.
pulsar-admin clusters update cluster-1 \
--url http://my-cluster.org.com:4081 \
--broker-url pulsar://my-cluster.org.com:3350
REST API: POST /admin/v2/clusters/{cluster}
Java
ClusterData clusterData = new ClusterData(
serviceUrl,
serviceUrlTls,
brokerServiceUrl,
brokerServiceUrlTls
);
admin.clusters().updateCluster(clusterName, clusterData);
피어 클러스터 데이터 업데이트 (Update peer-cluster data)
Pulsar 인스턴스에서 주어진 클러스터에 대해 피어 클러스터를 설정할 수 있어요.
pulsar-admin
update-peer-clusters 하위 명령에 피어 클러스터 이름 목록을 지정해요.
pulsar-admin update-peer-clusters cluster-1 --peer-clusters cluster-2
REST API: POST /admin/v2/clusters/{cluster}/peers
Java
admin.clusters().updatePeerClusterNames(clusterName, peerClusterList);
클러스터 목록 (List cluster)
Pulsar 인스턴스의 모든 클러스터 목록을 가져올 수 있어요.
pulsar-admin
list 하위 명령을 사용해요.
pulsar-admin clusters list
출력:
cluster-1
cluster-2
REST API: GET /admin/v2/clusters
Java
admin.clusters().getClusters();
클러스터 삭제 (Delete cluster)
Pulsar 인스턴스에서 클러스터를 삭제할 수 있어요.
pulsar-admin
delete 하위 명령에 클러스터 이름을 지정해요.
pulsar-admin clusters delete cluster-1
REST API: DELETE /admin/v2/clusters/{cluster}
Java
admin.clusters().deleteCluster(clusterName);
더 알아보기 (Learn more)
- 클러스터 관련 전체 명령은 pulsar-admin의 clusters 명령 참고서를 확인해요.
- REST API 엔드포인트 상세는
/admin/v2/clusters문서를 참고해요. - Java admin API의 clusters 메서드는
PulsarAdmin객체 문서에서 볼 수 있어요.