서비스 상태

서비스 상태 (Service status) API

Apache Druid의 서비스 상태와 클러스터 정보를 가져오는 API 엔드포인트를 다룹니다. 각 서비스별 헬스 체크와 상태 확인 방법을 설명해요.

출처: 문서

본문

이 문서는 Apache Druid의 서비스 상태와 클러스터 정보를 가져오는 API 엔드포인트를 설명합니다.

이 문서에서 http://SERVICE_IP:SERVICE_PORT는 배포의 서버 주소와 서비스 포트를 위한 자리표시자입니다. 예를 들어 quickstart 구성에서 http://ROUTER_IP:ROUTER_PORT를 http://localhost:8888로 교체하세요.

공통 (Common)

모든 서비스는 다음 엔드포인트를 지원합니다. 각 엔드포인트를 각 서비스 유형의 포트와 함께 사용할 수 있습니다. 다음 표는 로컬 구성의 포트 주소를 담고 있습니다.

서비스 포트 주소
Coordinator 8081
Overlord 8081
Router 8888
Broker 8082
Historical 8083
Middle Manager 8091

서비스 정보 가져오기

Druid 버전, 로드된 확장, 사용 중인 메모리, 총 메모리 및 개별 서비스에 대한 기타 유용한 정보를 가져옵니다.

쿼리할 서비스에 맞게 엔드포인트의 호스트와 포트를 수정하세요. 포트 번호는 기본 서비스 포트를 참고하세요.

URL

GET /status

응답
  • 200 SUCCESS — 서비스 정보를 성공적으로 조회함
샘플 요청

cURL

curl "http://ROUTER_IP:ROUTER_PORT/status"

HTTP

GET /status HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
{
  "version": "26.0.0",
  "modules": [
      {
          "name": "org.apache.druid.common.aws.AWSModule",
          "artifact": "druid-aws-common",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.common.gcp.GcpModule",
          "artifact": "druid-gcp-common",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.storage.hdfs.HdfsStorageDruidModule",
          "artifact": "druid-hdfs-storage",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.indexing.kafka.KafkaIndexTaskModule",
          "artifact": "druid-kafka-indexing-service",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.query.aggregation.datasketches.theta.SketchModule",
          "artifact": "druid-datasketches",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.query.aggregation.datasketches.theta.oldapi.OldApiSketchModule",
          "artifact": "druid-datasketches",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.query.aggregation.datasketches.quantiles.DoublesSketchModule",
          "artifact": "druid-datasketches",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.query.aggregation.datasketches.tuple.ArrayOfDoublesSketchModule",
          "artifact": "druid-datasketches",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.query.aggregation.datasketches.hll.HllSketchModule",
          "artifact": "druid-datasketches",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.query.aggregation.datasketches.kll.KllSketchModule",
          "artifact": "druid-datasketches",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.msq.guice.MSQExternalDataSourceModule",
          "artifact": "druid-multi-stage-query",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.msq.guice.MSQIndexingModule",
          "artifact": "druid-multi-stage-query",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.msq.guice.MSQDurableStorageModule",
          "artifact": "druid-multi-stage-query",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.msq.guice.MSQServiceClientModule",
          "artifact": "druid-multi-stage-query",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.msq.guice.MSQSqlModule",
          "artifact": "druid-multi-stage-query",
          "version": "26.0.0"
      },
      {
          "name": "org.apache.druid.msq.guice.SqlTaskModule",
          "artifact": "druid-multi-stage-query",
          "version": "26.0.0"
      }
  ],
  "memory": {
      "maxMemory": 268435456,
      "totalMemory": 268435456,
      "freeMemory": 139060688,
      "usedMemory": 129374768,
      "directMemory": 134217728
  }
}

서비스 헬스 가져오기

개별 Druid 서비스의 온라인 상태를 가져옵니다. 서비스가 실행 중이고 접근 가능한지 판단하는 간단한 헬스 체크입니다. 온라인이면 항상 boolean true 값을 반환해, 서비스가 API 호출을 받을 수 있음을 나타냅니다. 이 엔드포인트는 자동 헬스 체크에 적합합니다.

쿼리할 서비스에 맞게 엔드포인트의 호스트와 포트를 수정하세요. 포트 번호는 기본 서비스 포트를 참고하세요.

준비 상태(readiness)에 대한 추가 체크는 Historical segment readiness와 Broker query readiness 엔드포인트를 사용하세요.

URL

GET /status/health

응답
  • 200 SUCCESS — 서비스 헬스를 성공적으로 조회함
샘플 요청

cURL

curl "http://ROUTER_IP:ROUTER_PORT/status/health"

HTTP

GET /status/health HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
true

구성 속성 가져오기

쿼리한 개별 서비스의 현재 구성 속성을 가져옵니다.

쿼리할 서비스에 맞게 엔드포인트의 호스트와 포트를 수정하세요. 포트 번호는 기본 서비스 포트를 참고하세요.

URL

GET /status/properties

응답
  • 200 SUCCESS — 서비스 구성 속성을 성공적으로 조회함
샘플 요청

cURL

curl "http://ROUTER_IP:ROUTER_PORT/status/properties"

HTTP

GET /status/properties HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
{
{
  "gopherProxySet": "false",
  "awt.toolkit": "sun.lwawt.macosx.LWCToolkit",
  "druid.monitoring.monitors": "[\"org.apache.druid.java.util.metrics.JvmMonitor\"]",
  "java.specification.version": "11",
  "sun.cpu.isalist": "",
  "druid.plaintextPort": "8888",
  "sun.jnu.encoding": "UTF-8",
  "druid.indexing.doubleStorage": "double",
  "druid.metadata.storage.connector.port": "1527",
  "java.class.path": "/Users/genericUserPath",
  "log4j.shutdownHookEnabled": "true",
  "java.vm.vendor": "Homebrew",
  "sun.arch.data.model": "64",
  "druid.extensions.loadList": "[\"druid-hdfs-storage\", \"druid-kafka-indexing-service\", \"druid-datasketches\", \"druid-multi-stage-query\"]",
  "java.vendor.url": "https://github.com/Homebrew/homebrew-core/issues",
  "druid.router.coordinatorServiceName": "druid/coordinator",
  "user.timezone": "UTC",
  "druid.global.http.eagerInitialization": "false",
  "os.name": "Mac OS X",
  "java.vm.specification.version": "11",
  "sun.java.launcher": "SUN_STANDARD",
  "user.country": "US",
  "sun.boot.library.path": "/opt/homebrew/Cellar/openjdk@11/11.0.19/libexec/openjdk.jdk/Contents/Home/lib",
  "sun.java.command": "org.apache.druid.cli.Main server router",
  "http.nonProxyHosts": "local|*.local|169.254/16|*.169.254/16",
  "jdk.debug": "release",
  "druid.metadata.storage.connector.host": "localhost",
  "sun.cpu.endian": "little",
  "druid.zk.paths.base": "/druid",
  "user.home": "/Users/genericUser",
  "user.language": "en",
  "java.specification.vendor": "Oracle Corporation",
  "java.version.date": "2023-04-18",
  "java.home": "/opt/homebrew/Cellar/openjdk@11/11.0.19/libexec/openjdk.jdk/Contents/Home",
  "druid.service": "druid/router",
  "druid.selectors.coordinator.serviceName": "druid/coordinator",
  "druid.metadata.storage.connector.connectURI": "jdbc:derby://localhost:1527/var/druid/metadata.db;create=true",
  "file.separator": "/",
  "druid.selectors.indexing.serviceName": "druid/overlord",
  "java.vm.compressedOopsMode": "Zero based",
  "druid.metadata.storage.type": "derby",
  "line.separator": "\n",
  "druid.log.path": "/Users/genericUserPath",
  "java.vm.specification.vendor": "Oracle Corporation",
  "java.specification.name": "Java Platform API Specification",
  "druid.indexer.logs.directory": "var/druid/indexing-logs",
  "java.awt.graphicsenv": "sun.awt.CGraphicsEnvironment",
  "druid.router.defaultBrokerServiceName": "druid/broker",
  "druid.storage.storageDirectory": "var/druid/segments",
  "sun.management.compiler": "HotSpot 64-Bit Tiered Compilers",
  "ftp.nonProxyHosts": "local|*.local|169.254/16|*.169.254/16",
  "java.runtime.version": "11.0.19+0",
  "user.name": "genericUser",
  "druid.indexer.logs.type": "file",
  "druid.host": "localhost",
  "log4j2.is.webapp": "false",
  "path.separator": ":",
  "os.version": "12.6.5",
  "druid.lookup.enableLookupSyncOnStartup": "false",
  "java.runtime.name": "OpenJDK Runtime Environment",
  "druid.zk.service.host": "localhost",
  "file.encoding": "UTF-8",
  "druid.sql.planner.useGroupingSetForExactDistinct": "true",
  "druid.router.managementProxy.enabled": "true",
  "java.vm.name": "OpenJDK 64-Bit Server VM",
  "java.vendor.version": "Homebrew",
  "druid.startup.logging.logProperties": "true",
  "java.vendor.url.bug": "https://github.com/Homebrew/homebrew-core/issues",
  "log4j.shutdownCallbackRegistry": "org.apache.druid.common.config.Log4jShutdown",
  "java.io.tmpdir": "var/tmp",
  "druid.sql.enable": "true",
  "druid.emitter.logging.logLevel": "info",
  "java.version": "11.0.19",
  "user.dir": "/Users/genericUser/Downloads/apache-druid-26.0.0",
  "os.arch": "aarch64",
  "java.vm.specification.name": "Java Virtual Machine Specification",
  "druid.node.type": "router",
  "java.awt.printerjob": "sun.lwawt.macosx.CPrinterJob",
  "sun.os.patch.level": "unknown",
  "java.util.logging.manager": "org.apache.logging.log4j.jul.LogManager",
  "java.library.path": "/Users/genericUserPath",
  "java.vendor": "Homebrew",
  "java.vm.info": "mixed mode",
  "java.vm.version": "11.0.19+0",
  "druid.emitter": "noop",
  "sun.io.unicode.encoding": "UnicodeBig",
  "druid.storage.type": "local",
  "java.class.version": "55.0",
  "socksNonProxyHosts": "local|*.local|169.254/16|*.169.254/16",
  "druid.server.hiddenProperties": "[\"druid.s3.accessKey\",\"druid.s3.secretKey\",\"druid.metadata.storage.connector.password\", \"password\", \"key\", \"token\", \"pwd\"]"
}

노드 발견 상태 및 클러스터 통합 확인 가져오기

{"selfDiscovered": true/false} 형태의 JSON 맵을 가져옵니다. 이는 노드가 Druid 클러스터의 중앙 노드 발견 메커니즘(현재 ZooKeeper)으로부터 노드가 클러스터에 추가되었다는 확인을 받았는지 나타냅니다.

자동 배포/컨테이너 관리 시스템에서 Druid 노드를 "healthy" 또는 "ready"로 간주하는 것은 이 엔드포인트가 {"selfDiscovered": true}를 반환할 때뿐입니다. 네트워크 문제가 있는 노드는 격리될 수 있으며 healthy하지 않습니다. Zookeeper 세그먼트 발견을 사용하는 노드의 경우 {"selfDiscovered": true} 응답은 노드의 Zookeeper 클라이언트가 Zookeeper 클러스터로부터 데이터를 받기 시작해, 세그먼트와 다른 노드의 시기적절한 발견을 가능하게 했음을 나타냅니다.

URL

GET /status/selfDiscovered/status

응답
  • 200 SUCCESS — 노드가 클러스터에 성공적으로 추가됨
샘플 요청

cURL

curl "http://ROUTER_IP:ROUTER_PORT/status/selfDiscovered/status"

HTTP

GET /status/selfDiscovered/status HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
{
  "selfDiscovered": true
}

노드 자체 발견 상태 가져오기

Druid 클러스터 내 노드 발견을 나타내는 HTTP 상태 코드를 반환합니다. 이 엔드포인트는 status/selfDiscovered/status 엔드포인트와 비슷하지만 HTTP 상태 코드만 사용합니다. 응답 본문을 검사할 수 없는 모니터링 체크에 이 엔드포인트를 사용하세요. 예를 들어 AWS 로드 밸런서 헬스 체크가 그렇습니다.

URL

GET /status/selfDiscovered

응답
  • 200 SUCCESS — 노드 상태를 성공적으로 조회함
  • 503 SERVICE UNAVAILABLE — 노드 자체 발견 실패
샘플 요청

cURL

curl "http://ROUTER_IP:ROUTER_PORT/status/selfDiscovered"

HTTP

GET /status/selfDiscovered HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답

이 엔드포인트에 성공하면 빈 응답 본문이 됩니다.

Coordinator

Coordinator 리더 주소 가져오기

클러스터의 현재 리더 Coordinator 주소를 가져옵니다. non-leader Coordinator에 요청을 보내면 요청은 자동으로 리더 Coordinator로 리다이렉트됩니다.

URL

GET /druid/coordinator/v1/leader

응답
  • 200 SUCCESS — 리더 Coordinator 주소를 성공적으로 조회함
샘플 요청

cURL

curl "http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/leader"

HTTP

GET /druid/coordinator/v1/leader HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
http://localhost:8081

Coordinator 리더 상태 가져오기

leader 키가 있는 JSON 객체를 가져옵니다. 이 서버가 클러스터의 현재 리더 Coordinator이면 true를 반환합니다. 리더 Coordinator 노드의 개별 주소를 얻으려면 leader 엔드포인트를 참고하세요.

로드 밸런서에서 활성 리더만 in-service로 간주하고 싶을 때 이 엔드포인트를 로드 밸런서 상태 체크로 사용하세요.

URL

GET /druid/coordinator/v1/isLeader

응답
  • 200 SUCCESS — 현재 서버가 리더임
  • 404 NOT FOUND — 현재 서버가 리더가 아님
샘플 요청

cURL

curl "http://COORDINATOR_IP:COORDINATOR_PORT/druid/coordinator/v1/isLeader"

HTTP

GET /druid/coordinator/v1/isLeader HTTP/1.1
Host: http://COORDINATOR_IP:COORDINATOR_PORT
샘플 응답
{
  "leader": true
}

Historical 클로닝 상태 가져오기

Coordinator로부터 Historical 클로닝(cloning)의 현재 상태를 가져옵니다.

URL

GET /druid/coordinator/v1/config/cloneStatus

응답
  • 200 SUCCESS — 클로닝 상태를 성공적으로 조회함
샘플 요청

cURL

curl "http://COORDINATOR_IP:COORDINATOR_PORT/druid/coordinator/v1/config/cloneStatus"

HTTP

GET /druid/coordinator/v1/config/cloneStatus HTTP/1.1
Host: http://COORDINATOR_IP:COORDINATOR_PORT
샘플 응답
{
  "cloneStatus": [
    {
      "sourceServer": "localhost:8089",
      "targetServer": "localhost:8083",
      "state": "IN_PROGRESS",
      "segmentLoadsRemaining": 0,
      "segmentDropsRemaining": 0,
      "bytesToLoad": 0
    }
  ]
}

Broker 동적 구성 뷰 가져오기

Coordinator 동적 구성의 최신 뷰를 가진 Broker 목록을 가져옵니다.

URL

GET /druid/coordinator/v1/config/syncedBrokers

응답
  • 200 SUCCESS — Broker 구성 뷰를 성공적으로 조회함
샘플 요청

cURL

curl "http://COORDINATOR_IP:COORDINATOR_PORT/druid/coordinator/v1/config/syncedBrokers"

HTTP

GET /druid/coordinator/v1/config/syncedBrokers HTTP/1.1
Host: http://COORDINATOR_IP:COORDINATOR_PORT
샘플 응답
{
  "syncedBrokers": [
    {
      "host": "localhost",
      "port": 8082,
      "lastSyncTimestampMillis": 1745756337472
    }
  ]
}

Overlord

Overlord 리더 주소 가져오기

클러스터의 현재 리더 Overlord 주소를 가져옵니다. 여러 Overlord가 있는 클러스터에서 오직 한 Overlord만 리더 역할을 하고, 나머지는 대기(standby) 상태로 남습니다.

URL

GET /druid/indexer/v1/leader

응답
  • 200 SUCCESS — 리더 Overlord 주소를 성공적으로 조회함
샘플 요청

cURL

curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/leader"

HTTP

GET /druid/indexer/v1/leader HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
http://localhost:8081

Overlord 리더 상태 가져오기

leader 속성이 있는 JSON 객체를 가져옵니다. 값은 true 또는 false가 될 수 있으며, 이 서버가 클러스터의 현재 리더 Overlord인지 나타냅니다. 리더 Overlord 노드의 개별 주소를 얻으려면 leader 엔드포인트를 참고하세요.

로드 밸런서에서 활성 리더만 in-service로 간주하고 싶을 때 이 엔드포인트를 로드 밸런서 상태 체크로 사용하세요.

URL

GET /druid/indexer/v1/isLeader

응답
  • 200 SUCCESS — 현재 서버가 리더임
  • 404 NOT FOUND — 현재 서버가 리더가 아님
샘플 요청

cURL

curl "http://OVERLORD_IP:OVERLORD_PORT/druid/indexer/v1/isLeader"

HTTP

GET /druid/indexer/v1/isLeader HTTP/1.1
Host: http://OVERLORD_IP:OVERLORD_PORT
샘플 응답
{
  "leader": true
}

Middle Manager

Middle Manager 상태 가져오기

Middle Manager 프로세스의 활성화(enabled) 상태를 가져옵니다. 결합된 druid.host와 druid.port를 키로 하고 boolean true/false 상태를 값으로 하는 JSON 객체를 반환합니다.

URL

GET /druid/worker/v1/enabled

응답
  • 200 SUCCESS — Middle Manager 상태를 성공적으로 조회함
샘플 요청

cURL

curl "http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT/druid/worker/v1/enabled"

HTTP

GET /druid/worker/v1/enabled HTTP/1.1
Host: http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT
샘플 응답
{
  "localhost:8091": true
}

활성 태스크 가져오기

Middle Manager에서 실행 중인 활성 태스크 목록을 가져옵니다. 태스크 ID 문자열의 JSON 목록을 반환합니다. 참고로 일반적인 사용에는 /druid/indexer/v1/tasks Tasks API 엔드포인트나 태스크 상태별 변형 중 하나를 사용해야 합니다.

URL

GET /druid/worker/v1/tasks

응답
  • 200 SUCCESS — 활성 태스크를 성공적으로 조회함
샘플 요청

cURL

curl "http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT/druid/worker/v1/tasks"

HTTP

GET /druid/worker/v1/tasks HTTP/1.1
Host: http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT
샘플 응답
[
  "index_parallel_wikipedia_mgchefio_2023-06-13T22:18:05.360Z"
]

태스크 로그 가져오기

태스크 ID로 태스크 로그 출력 스트림을 가져옵니다. 일반적인 사용에는 /druid/indexer/v1/task/{taskId}/log Tasks API 엔드포인트를 대신 사용해야 합니다.

URL

GET /druid/worker/v1/task/{taskId}/log

실행 중인 태스크 종료

ID로 실행 중인 태스크를 종료합니다. 일반적인 사용에는 /druid/indexer/v1/task/{taskId}/shutdown Tasks API 엔드포인트를 대신 사용해야 합니다.

URL

POST /druid/worker/v1/task/{taskId}/shutdown

응답
  • 200 SUCCESS — 태스크를 성공적으로 종료함
샘플 요청

다음 예시는 지정된 ID index_kafka_wikiticker_f7011f8ffba384b_fpeclode의 태스크를 종료합니다.

cURL

curl "http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT/druid/worker/v1/task/index_kafka_wikiticker_f7011f8ffba384b_fpeclode/shutdown"

HTTP

POST /druid/worker/v1/task/index_kafka_wikiticker_f7011f8ffba384b_fpeclode/shutdown HTTP/1.1
Host: http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT
샘플 응답
{
  "task":"index_kafka_wikiticker_f7011f8ffba384b_fpeclode"
}

Middle Manager 비활성화

Middle Manager를 비활성화하면 새 태스크를 받지 않고 기존 태스크를 모두 완료합니다. 결합된 druid.host와 druid.port를 키로 하는 JSON 객체를 반환합니다.

URL

POST /druid/worker/v1/disable

응답
  • 200 SUCCESS — Middle Manager를 성공적으로 비활성화함
샘플 요청

cURL

curl "http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT/druid/worker/v1/disable"

HTTP

POST /druid/worker/v1/disable HTTP/1.1
Host: http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT
샘플 응답
{
  "localhost:8091":"disabled"
}

Middle Manager 활성화

Middle Manager를 활성화해 이전에 비활성화되었더라도 다시 새 태스크를 받을 수 있게 합니다. 결합된 druid.host와 druid.port를 키로 하는 JSON 객체를 반환합니다.

URL

POST /druid/worker/v1/enable

응답
  • 200 SUCCESS — Middle Manager를 성공적으로 활성화함
샘플 요청

cURL

curl "http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT/druid/worker/v1/enable"

HTTP

POST /druid/worker/v1/enable HTTP/1.1
Host: http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT
샘플 응답
{
  "localhost:8091":"enabled"
}

Historical

세그먼트 로드 상태 가져오기

{"cacheInitialized": value} 형태의 JSON 객체를 가져옵니다. 여기서 value는 로컬 캐시의 모든 세그먼트가 로드되었는지 나타내는 true/false입니다.

재시작 후 Broker 서비스가 쿼리를 받을 준비가 되었는지 알기 위해 이 엔드포인트를 사용하세요.

URL

GET /druid/historical/v1/loadstatus

응답
  • 200 SUCCESS — 상태를 성공적으로 조회함
샘플 요청

cURL

curl "http://HISTORICAL_IP:HISTORICAL_PORT/druid/historical/v1/loadstatus"

HTTP

GET /druid/historical/v1/loadstatus HTTP/1.1
Host: http://HISTORICAL_IP:HISTORICAL_PORT
샘플 응답
{
  "cacheInitialized": true
}

세그먼트 준비 상태 가져오기

로컬 캐시의 모든 세그먼트가 로드되었는지 나타내는 상태 코드를 가져옵니다. /druid/historical/v1/loadstatus와 비슷하지만 플래그가 있는 JSON 대신 상태 코드를 반환합니다.

URL

GET /druid/historical/v1/readiness

응답
  • 200 SUCCESS — 로컬 캐시의 세그먼트가 성공적으로 로드됨
  • 503 SERVICE UNAVAILABLE — 로컬 캐시의 세그먼트가 로드되지 않음
샘플 요청

cURL

curl "http://HISTORICAL_IP:HISTORICAL_PORT/druid/historical/v1/readiness"

HTTP

GET /druid/historical/v1/readiness HTTP/1.1
Host: http://HISTORICAL_IP:HISTORICAL_PORT
샘플 응답

이 엔드포인트에 성공하면 빈 응답 본문이 됩니다.

로드 상태 (Load Status)

Broker 쿼리 로드 상태 가져오기

Broker가 클러스터의 모든 세그먼트를 알고 있는지 나타내는 플래그를 가져옵니다. 재시작 후 Broker 서비스가 쿼리를 받을 준비가 되었는지 알기 위해 이 엔드포인트를 사용하세요.

URL

GET /druid/broker/v1/loadstatus

응답
  • 200 SUCCESS — 세그먼트가 성공적으로 로드됨
샘플 요청

cURL

curl "http://BROKER_IP:BROKER_PORT/druid/broker/v1/loadstatus"

HTTP

GET /druid/broker/v1/loadstatus HTTP/1.1
Host: http://<BROKER_IP>:<BROKER_PORT>
샘플 응답
{
  "inventoryInitialized": true
}

Broker 쿼리 준비 상태 가져오기

Broker 준비 상태를 나타내는 상태 코드를 가져옵니다. 준비 상태(readiness)는 Broker가 클러스터의 모든 세그먼트를 알고 재시작 후 쿼리를 받을 준비가 되었음을 의미합니다. /druid/broker/v1/loadstatus와 비슷하지만 JSON 대신 상태 코드를 반환합니다.

URL

GET /druid/broker/v1/readiness

응답
  • 200 SUCCESS — 세그먼트가 성공적으로 로드됨
  • 503 SERVICE UNAVAILABLE — 세그먼트가 로드되지 않음
샘플 요청

cURL

curl "http://BROKER_IP:BROKER_PORT/druid/broker/v1/readiness"

HTTP

GET /druid/broker/v1/readiness HTTP/1.1
Host: http://BROKER_IP:BROKER_PORT
샘플 응답

이 엔드포인트에 성공하면 빈 응답 본문이 됩니다.

더 알아보기 (Learn more)

  • 각 서비스의 기본 포트와 역할은 Druid processes 문서를 참고하세요.
  • 클러스터 구성에 대한 자세한 내용은 configuration 문서를 확인해 보세요.