명령줄 인터페이스

명령줄 인터페이스 (Command-Line Interface, CLI)

Pinot은 클러스터에서 거의 모든 작업을 수행할 수 있는 풍부한 CLI를 제공해요. 모든 명령은 pinot-admin.sh로 실행할 수 있어요. 스크립트는 Pinot 바이너리 배포판의 bin/ 디렉토리 또는 도커 컨테이너의 /opt/pinot/bin에 있어요.

출처: 문서

본문

admin 스크립트가 지원하는 명령은 다음과 같아요.

Add Schema (스키마 추가)

스키마 구성을 컨트롤러에 업로드해요. 같은 이름의 스키마가 이미 있으면 갱신돼요.

pinot-admin.sh AddSchema -schemaFile /path/to/schema.json -controllerHost localhost -controllerPort 9000 -exec

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
schemaFile 테이블 구성에 언급된 스키마 JSON 파일 경로.
controllerHost 업로드 요청을 보낼 controllerHost
controllerPort 업로드 요청을 보낼 controllerPort
exec 지정하지 않으면 드라이 런(dry run)만 하고 실제로 구성은 업로드하지 않아요.

Add Table (테이블 추가)

테이블 구성을 컨트롤러에 업로드해요.

pinot-admin.sh AddTable -tableConfigFile /path/to/table.json -schemaFile /path/to/schema.json -controllerHost localhost -controllerPort 9000 -exec

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
tableConfigFile 테이블 구성을 담은 JSON 파일 경로.
schemaFile 테이블 구성에 언급된 스키마 JSON 파일 경로.
controllerHost 업로드 요청을 보낼 controllerHost
controllerPort 업로드 요청을 보낼 controllerPort
exec 지정하지 않으면 드라이 런만 하고 실제로 구성은 업로드하지 않아요.

Add Tenant (테넌트 추가)

서버에 새 테넌트를 추가해요.

pinot-admin.sh AddTenant -name myTenant -role SERVER -instanceCount 10 -controllerHost localhost -controllerPort 9000 -exec

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
controllerHost 업로드 요청을 보낼 controllerHost
controllerPort 업로드 요청을 보낼 controllerPort
name 테넌트 이름
role 테넌트가 위치할 곳. BROKER 또는 SERVER가 될 수 있어요.
instanceCount 이 테넌트에 할당할 총 인스턴스 수
offlineInstanceCount (SERVER에만 적용) 이 테넌트 소속 오프라인 테이블을 호스팅할 수 있는 총 인스턴스 수
realTimeInstanceCount (SERVER에만 적용) 이 테넌트 소속 실시간 테이블을 호스팅할 수 있는 총 인스턴스 수
exec 지정하지 않으면 드라이 런만 하고 실제로 구성은 업로드하지 않아요.

Check Offline Segment Intervals (오프라인 세그먼트 간격 점검)

잘못된 시간 간격을 가진 모든 세그먼트를 나열해요. OFFLINE 세그먼트만 지원돼요.

pinot-admin.sh CheckOfflineSegmentIntervals -zkAddress localhost:2181 -clusterName PinotCluster -tableName myTable

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
zkAddress 연결할 Zookeeper의 쉼표로 구분된 host:port 문자열
clusterName 연결할 클러스터 이름. zookeeper 안의 네임스페이스로 볼 수 있어요.
tableName 잘못된 세그먼트 간격을 점검할 테이블의 쉼표 구분 목록. 기본적으로 모든 테이블을 점검해요.

Change Num Replicas (레플리카 수 변경)

테이블의 레플리카 수를 변경해요. 레플리카 수는 최신 테이블 구성에서 설정돼요.

pinot-admin.sh ChangeNumReplicas -tableName myTable -clusterName PinotCluster -zkAddress localhost:2181 -exec

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
zkAddress 연결할 zookeeper의 쉼표로 구분된 host:port 문자열
clusterName 연결할 클러스터 이름. zookeeper 안의 네임스페이스로 볼 수 있어요.
tableName 작업을 수행할 테이블 이름
exec 지정하지 않으면 드라이 런만 하고 실제로 구성은 업로드하지 않아요.

Change Table State (테이블 상태 변경)

데이터베이스에 있는 테이블을 활성화(enable), 비활성화(disable) 또는 삭제(drop)해요.

pinot-admin.sh ChangeTableState -tableName myTable -state disable -controllerHost localhost -controllerPort 9000 -exec

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
controllerHost 업로드 요청을 보낼 controllerHost
controllerPort 업로드 요청을 보낼 controllerPort
tableName 수정할 테이블 이름
state enable, disable 또는 drop 중 하나

Create Segment (세그먼트 생성)

로컬 파일시스템의 입력 파일에서 세그먼트 파일을 생성해요.

pinot-admin.sh CreateSegment -dataDir /path/to/data/dir -format CSV -outDir /path/to/output/dir -overwrite -tableConfigFile /path/to/table.json -schemaConfigFile /path/to/schema.json

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
dataDir 입력 파일을 담은 디렉토리
searchRecursively dataDir 아래의 하위 디렉토리에서 입력 파일을 검색. 기본값 true. dataDir에 직접 있는 파일만 쓰려면 -searchRecursively false 전달.
format 입력 데이터 형식. 지원되는 모든 형식은 Input formats 참고
outDir 세그먼트를 게시할 로컬 출력 디렉토리
overwrite 디렉토리에 이미 있는 세그먼트를 덮어쓰려면 true로 설정
tableConfigFile 테이블 구성 경로
schemaFile 스키마 구성 경로
readerConfigFile reader 관련 구성을 담은 properties 파일. Input formats 참고
retry 실패 시 재시도 횟수
postCreationVerification 생성 후 세그먼트 파일을 검증하려면 true로 설정.
numThreads 세그먼트 생성 작업을 실행할 스레드 수

Convert Pinot Segment (Pinot 세그먼트 변환)

세그먼트 파일을 Pinot 고유 형식에서 다른 데이터 형식으로 변환해요. 현재 CSV, AVRO, JSON, PARQUET를 지원해요.

pinot-admin.sh ConvertPinotSegment -dataDir /path/to/data/dir -outputDir /path/to/output/dir -outputFormat CSV -overwrite -csvDelimiter ,

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
dataDir 세그먼트 파일을 담은 디렉토리. 로컬 파일 경로만 지원돼요.
outputDir 변환된 세그먼트 파일을 둘 디렉토리
outputFormat 출력 파일 형식. CSV, AVRO, JSON 또는 PARQUET 중 하나
overwrite 출력 디렉토리에 이미 있으면 파일을 덮어쓰도록 설정
csvDelimiter CSV 파일에 쓸 구분자. CSV에만 적용
csvListDelimiter CSV 파일의 목록/배열에 쓸 구분자. CSV에만 적용
csvWithHeader 출력 파일에 CSV 헤더를 출력하도록 설정. 기본값 false.

Parquet 형식 참고

PARQUET 형식으로 변환할 때 다음 기능이 지원돼요:

  • 다중 값(multi-value) 컬럼(Object[])은 목록으로 자동 변환돼요.
  • 바이너리 데이터(byte[])는 Parquet 호환을 위해 ByteBuffer로 감싸져요.
  • 파일 크기 축소를 위해 기본적으로 GZIP 압축이 적용돼요.
  • 사용 예: pinot-admin.sh ConvertPinotSegment -dataDir /path/to/segments -outputDir /path/to/output -outputFormat PARQUET

Avro·Parquet 논리 타입 매핑

AVRO 또는 PARQUET로 변환할 때 Pinot은 출력 스키마에서 다음 논리 데이터 타입을 보존해요.

Pinot 데이터 타입 출력 스키마 타입
BOOLEAN Avro boolean
TIMESTAMP logicalType: timestamp-millis가 붙은 Avro long
BIG_DECIMAL logicalType: big-decimal가 붙은 Avro bytes
UUID logicalType: uuid가 붙은 Avro string

이것은 다운스트림 소비자에게 출력 형식 변경이에요: BOOLEAN은 이전에 Avro int로, TIMESTAMP는 단순 long으로 내보내졌어요. BIG_DECIMAL은 이제 Avro와 Parquet 출력에서 지원돼요. 변환된 파일을 소비할 때 reader가 이 Avro 논리 타입을 존중하도록 구성하세요.

Delete Cluster (클러스터 삭제)

zookeeper에서 클러스터 네임스페이스를 삭제해요.

pinot-admin.sh DeleteCluster -clusterName PinotCluster -zkAddress localhost:2181

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
clusterName 삭제할 클러스터 이름
zkAddress 클러스터 네임스페이스를 삭제할 zookeeper의 쉼표로 구분된 host:port 목록

Launch Data Ingestion Job (데이터 적재 작업 실행)

배치 또는 스트리밍 데이터를 소비해 Pinot으로 푸시하는 작업을 실행해요.

pinot-admin.sh LaunchDataIngestionJob -jobSpecFile /path/to/job_spec.json -propertyFile /path/to/job.properties -values dt=2020-08-10 hour=15

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
jobSpecFile 작업 스펙 파일 경로. 로컬 파일 경로만 지원돼요.
propertyFile properties 파일 경로. 적재 작업 관련 속성이나 템플릿 파라미터를 담을 수 있어요.
values 템플릿 파라미터를 대체할 값들을 담은 문자열 목록

Merge/Rollup Segments (세그먼트 병합/롤업)

Minion Merge Rollup Task와 유사한 작업을 수행해요. 제공된 스펙에 따라 여러 세그먼트를 병합할 수 있어요.

경고: 이 명령은 주로 디버깅용이에요. 프로덕션에서는 Minion Merge Rollup Task를 사용하세요.

pinot-admin.sh SegmentProcessorFramework -segmentProcessorFrameworkSpec /path/to/framework_spec.json

스펙 파일 내 필드

필드 설명
inputSegmentsDir 병합할 모든 입력 세그먼트 파일 또는 디렉토리를 담은 디렉토리
outputSegmentsDir 병합된 세그먼트 파일을 둘 디렉토리
tableConfigFile 병합할 세그먼트의 테이블 구성 경로
schemaFile 병합할 세그먼트의 테이블 스키마 경로
timeHandlerConfig type, startTimeMs, endTimeMs, roundBucketMs, partitionBucketMs을 포함한 시간 처리 관련 구성
partitionerConfigs partitionerType, numPartitions, columnName, transformFunction, columnPartitionConfig을 포함한 파티션 관련 구성 목록
mergeType CONCAT, ROLLUP, DEDUP
aggregationTypes ROLLUP 병합 타입을 위한 메트릭 컬럼에서 집계 함수 타입으로의 매핑
segmentConfig maxNumRecordsPerSegment, segmentNamePrefix를 포함한 생성 세그먼트 관련 구성

Move Replica Group (레플리카 그룹 이동)

현재 서버에서 지정한 대상 서버로 레플리카 그룹의 일부를 마이그레이션하는 명령이에요. 의도한 경우 테이블의 모든 레플리카를 대상 서버로 마이그레이션하려면 여러 번 실행하세요.

pinot-admin.sh MoveReplicaGroup -zkHost localhost:2181 -cluster PinotCluster -srcHosts host1,host2 -destHostsFile /path/to/destination/file -tableName myTable -exec

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
srcHosts 모든 소스 호스트가 담긴 파일 경로 또는 쉼표로 구분된 호스트 이름 목록
destHostsFile 모든 대상 호스트가 담긴 파일 경로
tableName 레플리카 그룹을 이동할 테이블 이름. 현재 OFFLINE 테이블만 지원해요.
maxSegmentsToMove 이동할 최대 세그먼트 수. 기본값 Integer.MAX_VALUE
zkHost zookeeper host:port 문자열
cluster zookeeper 안의 클러스터 이름
exec 명령을 실행하도록 설정. 설정하지 않으면 드라이 런만 수행

Operate Cluster Config (클러스터 구성 조작)

pinot의 클러스터 수준 구성을 수정해요. 이는 클러스터의 모든 노드에 적용되는 구성이에요.

pinot-admin.sh OperateClusterConfig -controllerHost localhost -controllerPort 9000 -operation ADD -config pinot.broker.enable.query.limit.override=1

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
operation 수행할 작업 유형. GET, ADD, UPDATE 또는 DELETE 중 하나
config 작업을 수행할 구성. ADD나 UPDATE의 경우 구성 값은 = 뒤에 제공돼요.
controllerHost 요청을 보낼 호스트
controllerPort 요청을 보낼 포트

Post Query (쿼리 전송)

클러스터에서 SQL 쿼리를 실행해요.

pinot-admin.sh PostQuery -brokerHost localhost -brokerPort 8000 -query "SELECT * FROM myTable"

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
brokerHost 쿼리를 실행할 broker 호스트
brokerPort 쿼리를 실행할 broker 포트
query 실행할 SQL 쿼리

Rebalance Table (테이블 리밸런싱)

테이블을 리밸런싱해요. 즉, 클러스터의 테이블에 인스턴스와 세그먼트를 재할당해요.

세그먼트 재할당에는 다음 모드가 제공돼요:

  • With-downtime rebalance (다운타임 허용 리밸런스): IdealState가 한 번에(one go) 대상 세그먼트 할당으로 대체되고 레플리카 가용성에 대한 보장이 없어요. ExternalView가 대상 세그먼트 할당에 도달할 때까지 기다리지 않고 즉시 반환해요. 비활성화된 테이블은 항상 다운타임으로 리밸런싱돼요.

  • No-downtime rebalance (무중단 리밸런스): 구성된 레플리카 수가 항상(ONLINE 또는 CONSUMING) 가용하도록 주의를 기울여요. 이 모드는 ExternalView가 대상 세그먼트 할당에 도달한 뒤에 반환해요.

    아래 언급된 엣지 케이스에서 best-efforts가 비활성화되어 있으면 무중단 계약을 달성할 수 없으므로 리밸런서가 리밸런스를 실패시키고 테이블이 중간 단계에 멈출 수 있어요. 사용자는 리밸런스 결과를 확인하고 문제를 해결한 뒤 필요하면 리밸런스를 다시 실행해야 해요.

    best-efforts가 활성화되면 리밸런서는 경고를 기록하고 리밸런스를 계속하지만, 무중단 계약은 보장되지 않아요.

    다음 엣지 케이스 상황에서 다운타임이 발생할 수 있어요:

    • 세그먼트가 ExternalView에서 ERROR 상태가 된 경우 → best-efforts 시 ERROR 상태를 정상 상태로 간주.
    • ExternalView가 최대 대기 시간 내에 수렴하지 못한 경우 → best-efforts 시 다음 단계로 진행.

위험: 리밸런스를 처리하는 컨트롤러가 중단/재시작되면 다른 컨트롤러가 리밸런스를 자동으로 재개하지 않아요.

pinot-admin.sh RebalanceTable -zkAddress localhost:2181 -clusterName PinotCluster -tableName myTable -reassignInstances -includeConsuming -downtime  

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
zkAddress 연결할 zookeeper의 쉼표로 구분된 host:port 문자열
clusterName 연결할 클러스터 이름. zookeeper 안의 네임스페이스로 볼 수 있어요.
tableName 작업을 수행할 테이블 이름
reassignInstances 세그먼트를 재할당하기 전에 인스턴스를 재할당하도록 설정(기본값 false)
includeConsuming 실시간 테이블의 CONSUMING 세그먼트를 재할당하도록 설정(기본값 false)
bootstrap 부트스트랩 모드로 테이블을 리밸런스하도록 설정(최소 세그먼트 이동과 무관하게, 빈 테이블에 새 세그먼트를 추가하듯 라운드로빈 방식으로 모든 세그먼트를 재할당, 기본값 false)
downtime 리밸런스 중 다운타임을 허용하도록 설정(기본값 false)
minAvailableReplicas 리밸런스 중 살려둘 최소 레플리카 수, 또는 값이 음수면 사용 불가로 허용할 최대 레플리카 수(기본값 1). downtime이 false일 때만 적용.
bestEfforts 최선 노력(best-efforts)으로 리밸런스하도록 설정. 즉, 무중단 계약을 달성할 수 없을 때 리밸런스를 실패시키지 않음(기본값 false)

Start Broker (브로커 시작)

호스트에서 브로커 인스턴스를 시작해요.

pinot-admin.sh StartBroker -zkAddress localhost:2181 -clusterName PinotCluster -configFileName /path/to/broker.conf

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
brokerHost 브로커를 실행할 인스턴스의 호스트 이름
brokerPort 브로커가 수신할 포트. 기본 8099.
zkAddress 연결할 Zookeeper의 쉼표로 구분된 host:port 문자열
clusterName 연결할 클러스터 이름. zookeeper 안의 네임스페이스로 볼 수 있어요.
configFileName 컨트롤러 구성을 담은 properties 파일 경로. 전체 구성은 Broker 참고

Start Controller (컨트롤러 시작)

호스트에서 컨트롤러 인스턴스를 시작해요.

pinot-admin.sh StartController -controllerMode helix_only -dataDir /path/to/data/dir -zkAddress localhost:2181 -clusterName PinotCluster -configFileName /path/to/controller.conf

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
controllerMode dual, pinot_only 또는 helix_only 중 하나. 기본값 dual
controllerHost 컨트롤러를 실행할 인스턴스의 호스트 이름
controllerPort 컨트롤러가 수신할 포트. 기본 9000.
dataDir 데이터를 저장할 디렉토리 경로. 기본값은 java.io.tmpDir + PinotController
zkAddress 연결할 Zookeeper의 쉼표로 구분된 host:port 문자열
clusterName 연결할 클러스터 이름. zookeeper 안의 네임스페이스로 볼 수 있어요.
configFileName 컨트롤러 구성을 담은 properties 파일 경로. 전체 구성은 Controller 참고

Start Server (서버 시작)

호스트에서 서버 인스턴스를 시작해요.

pinot-admin.sh StartServer -dataDir /path/to/data/dir -zkAddress localhost:2181 -clusterName PinotCluster -configFileName /path/to/server.conf

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
serverHost 브로커를 실행할 인스턴스의 호스트 이름
serverPort 브로커가 수신할 포트. 기본 8099.
serverAdminPort admin API가 제공될 포트. 기본 8097
dataDir 데이터를 저장할 디렉토리
segmentDir .tar 세그먼트 파일을 임시로 다운로드할 디렉토리
zkAddress 연결할 zookeeper의 쉼표로 구분된 host:port 문자열
clusterName 연결할 클러스터 이름. zookeeper 안의 네임스페이스로 볼 수 있어요.
configFileName 컨트롤러 구성을 담은 properties 파일 경로. 전체 구성은 Server 참고

Start Service Manager (서비스 매니저 시작)

단일 명령으로 모든 기본 구성과 함께 여러 Pinot 프로세스를 시작해요.

pinot-admin.sh StartServiceManager -zkAddress localhost:2181 -clusterName PinotCluster -bootstrapServices CONTROLLER BROKER -bootstrapConfigPaths /path/to/controller.conf /path/to/broker.conf 

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
zkAddress 연결할 zookeeper의 쉼표로 구분된 host:port 문자열
clusterName 연결할 클러스터 이름. zookeeper 안의 네임스페이스로 볼 수 있어요.
port -1로 설정하면 비활성화, 0이면 사용 가능한 임의 포트에서 서비스 매니저 실행
bootstrapConfigPaths Pinot 구성 파일 경로 목록. 각 구성 파일에는 시작할 서비스를 나타내는 추가 구성 pinot.service.role이 필요해요. 서비스 역할은 CONTROLLER, BROKER 또는 SERVER 중 하나일 수 있어요.
bootstrapServices 기본 구성으로 시작할 서비스 역할 목록. 이 역할들에는 bootstrapConfig가 제공돼도 기본 구성을 사용해요.

Show Cluster Info (클러스터 정보 표시)

메타데이터와 함께 사용 가능한 모든 클러스터 네임스페이스를 표시해요.

pinot-admin.sh ShowClusterInfo -clusterName PinotCluster -zkAddress localhost:2181

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
zkAddress 연결할 zookeeper의 쉼표로 구분된 host:port 문자열
clusterName 연결할 클러스터 이름. zookeeper 안의 네임스페이스로 볼 수 있어요.
tables
tags

Stop Process (프로세스 중지)

호스트에서 실행 중인 지정된 유형의 모든 프로세스를 중지해요.

pinot-admin.sh StopProcess -controller -broker -server

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
controller 모든 컨트롤러 프로세스 중지
broker 모든 브로커 프로세스 중지
server 모든 서버 프로세스 중지
zookeeper 모든 zookeeper 프로세스 중지. pinot admin 스크립트가 시작한 프로세스여야 하며, 그렇지 않으면 종료되지 않아요.
kafka 모든 kafka 프로세스 중지. pinot admin 스크립트가 시작한 프로세스여야 하며, 그렇지 않으면 종료되지 않아요.

Upload Segments (세그먼트 업로드)

세그먼트 파일을 압축해 서버에 업로드해요.

pinot-admin.sh UploadSegment -controllerHost localhost -controllerPort 9000 -segmentDir /path/to/local/dir -tableName myTable

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
controllerHost 컨트롤러의 호스트 이름 또는 IP
controllerPort 컨트롤러 포트
segmentDir 세그먼트 파일을 담은 로컬 디렉토리
tableName 세그먼트를 푸시할 테이블 이름. 이 값은 세그먼트 메타데이터에 저장된 segment.table.name을 오버라이드해요. 생략하면 Pinot은 메타데이터 값으로 폴백해요.

Validate Config (구성 검증)

Zookeeper에 있는 테이블 구성과 스키마를 검증해요.

pinot-admin.sh ValidateConfig -clusterName PinotCluster -zkAddress localhost:2181 -tableConfig -tableName mytable myTable2 -schema -schemaNames myschema myschema2

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
zkAddress 연결할 Zookeeper의 쉼표로 구분된 host:port 문자열
clusterName 연결할 클러스터 이름. zookeeper 안의 네임스페이스로 볼 수 있어요.
tableConfig 설정하면 테이블 구성을 검증해요.
tableNames 공백으로 구분된 테이블 이름 목록. 기본적으로 모든 테이블을 검증해요.
schema 설정하면 스키마를 검증해요.
schemaNames 공백으로 구분된 스키마 이름 목록. 기본적으로 모든 스키마를 검증해요.

Validate Segment (세그먼트 검증)

지정한 테이블 접두사에 대해 Helix Ideal state와 External view를 비교해요.

pinot-admin.sh ValidateSegment -tablePrefix myTable -clusterName PinotCluster -zkAddress localhost:2181

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
zkAddress 연결할 Zookeeper의 쉼표로 구분된 host:port 문자열
clusterName 연결할 클러스터 이름. zookeeper 안의 네임스페이스로 볼 수 있어요.
tablePrefix 검증을 수행할 테이블 이름의 접두사

Verify Cluster State (클러스터 상태 확인)

클러스터의 모든 테이블이 같은 Ideal State와 External View를 갖는지 확인해요.

pinot-admin.sh VerifyClusterState -zkAddress localhost:2181 -clusterName PinotCluster -tableName myTable -timeoutSec 10

지원 옵션

모든 옵션은 -(하이픈)로 시작해야 해요.

옵션 설명
zkAddress 연결할 Zookeeper의 쉼표로 구분된 host:port 문자열
clusterName 연결할 클러스터 이름. zookeeper 안의 네임스페이스로 볼 수 있어요.
tableName 검증할 테이블 이름. 기본적으로 모든 테이블을 확인해요.
timeoutSec 클러스터 상태를 확인할 요청의 시간 초과(초).

더 알아보기 (Learn more)