클러스터 관리

클러스터 관리 (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 객체 문서에서 볼 수 있어요.