동적 구성

동적 구성 (Dynamic configuration) API

Apache Druid에서 Coordinator와 Overlord의 동적 구성을 조회하고 관리하는 API 엔드포인트를 다룹니다. 서비스 재시작 없이 동작을 조정할 수 있어요.

출처: 문서

본문

이 문서는 Apache Druid에서 Coordinator와 Overlord의 동적 구성을 조회하고 관리하는 API 엔드포인트를 설명합니다.

이 문서에서 http://ROUTER_IP:ROUTER_PORT는 여러분의 Router 서비스 주소와 포트를 위한 자리표시자입니다. 이를 배포 정보로 교체하세요. 예를 들어 quickstart 배포라면 http://localhost:8888을 사용합니다.

Coordinator 동적 구성

Coordinator는 서비스 재시작 없이 특정 동작을 즉석에서 조정할 수 있는 동적 구성을 갖고 있습니다. 지원되는 속성에 대한 자세한 내용은 Coordinator dynamic configuration을 참고하세요.

동적 구성 가져오기

현재 Coordinator 동적 구성을 가져옵니다. 동적 구성 속성을 담은 JSON 객체를 반환합니다.

URL

GET /druid/coordinator/v1/config

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

cURL

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

HTTP

GET /druid/coordinator/v1/config HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
{
    "millisToWaitBeforeDeleting": 900000,
    "maxSegmentsToMove": 100,
    "replicantLifetime": 15,
    "replicationThrottleLimit": 500,
    "balancerComputeThreads": 1,
    "killDataSourceWhitelist": [],
    "killPendingSegmentsSkipList": [],
    "maxSegmentsInNodeLoadingQueue": 500,
    "decommissioningNodes": [],
    "decommissioningMaxPercentOfMaxSegmentsToMove": 70,
    "pauseCoordination": false,
    "replicateAfterLoadTimeout": false,
    "maxNonPrimaryReplicantsToLoad": 2147483647,
    "useRoundRobinSegmentAssignment": true,
    "smartSegmentLoading": true,
    "debugDimensions": null,
    "turboLoadingNodes": [],
    "cloneServers": {}

}

동적 구성 업데이트

JSON 기반 동적 구성 스펙을 Coordinator에 제출합니다. 지원되는 속성에 대한 자세한 내용은 Dynamic configuration을 참고하세요.

URL

POST /druid/coordinator/v1/config

헤더 파라미터

이 엔드포인트는 구성 기록의 author와 comment 필드를 채울 수 있는 선택적 헤더 파라미터 집합을 지원합니다.

  • X-Druid-Author — 타입: String. 구성 변경의 작성자.
  • X-Druid-Comment — 타입: String. 업데이트에 대한 설명.
응답
  • 200 SUCCESS — 동적 구성을 성공적으로 업데이트함
샘플 요청

cURL

curl "http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/config" \
--header 'Content-Type: application/json' \
--data '{
  "millisToWaitBeforeDeleting": 900000,
  "maxSegmentsToMove": 5,
  "percentOfSegmentsToConsiderPerMove": 100,
  "useBatchedSegmentSampler": true,
  "replicantLifetime": 15,
  "replicationThrottleLimit": 10,
  "balancerComputeThreads": 1,
  "emitBalancingStats": true,
  "killDataSourceWhitelist": [],
  "killPendingSegmentsSkipList": [],
  "maxSegmentsInNodeLoadingQueue": 100,
  "decommissioningNodes": [],
  "decommissioningMaxPercentOfMaxSegmentsToMove": 70,
  "pauseCoordination": false,
  "replicateAfterLoadTimeout": false,
  "maxNonPrimaryReplicantsToLoad": 2147483647,
  "useRoundRobinSegmentAssignment": true,
  "turboLoadingNodes": [],
  "cloneServers": {}
}'

HTTP

POST /druid/coordinator/v1/config HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
Content-Type: application/json
Content-Length: 683

{
  "millisToWaitBeforeDeleting": 900000,
  "maxSegmentsToMove": 5,
  "percentOfSegmentsToConsiderPerMove": 100,
  "useBatchedSegmentSampler": true,
  "replicantLifetime": 15,
  "replicationThrottleLimit": 10,
  "balancerComputeThreads": 1,
  "emitBalancingStats": true,
  "killDataSourceWhitelist": [],
  "killPendingSegmentsSkipList": [],
  "maxSegmentsInNodeLoadingQueue": 100,
  "decommissioningNodes": [],
  "decommissioningMaxPercentOfMaxSegmentsToMove": 70,
  "pauseCoordination": false,
  "replicateAfterLoadTimeout": false,
  "maxNonPrimaryReplicantsToLoad": 2147483647,
  "useRoundRobinSegmentAssignment": true,
  "turboLoadingNodes": [],
  "cloneServers": {}
}
샘플 응답

성공한 요청은 HTTP 200 OK 메시지 코드와 빈 응답 본문을 반환합니다.

동적 구성 기록 가져오기

일정 시간 간격 동안 Coordinator 동적 구성에 대한 변경 기록을 가져옵니다. 사용 가능한 기록이 없으면 빈 배열을 반환합니다.

URL

GET /druid/coordinator/v1/config/history

쿼리 파라미터

이 엔드포인트는 결과를 필터링하는 선택적 쿼리 파라미터 집합을 지원합니다.

  • interval — 타입: String. 결과를 /로 구분된 ISO 8601 형식의 지정된 시간 간격으로 제한합니다. 예: 2023-07-13/2023-07-19. 기본 간격은 1주일입니다. 이 기간은 Coordinator의 runtime.properties 파일에서 druid.audit.manager.auditHistoryMillis를 설정해 변경할 수 있어요.
  • count — 타입: Integer. 결과 수를 마지막 n개 항목으로 제한합니다.
응답
  • 200 SUCCESS — 기록을 성공적으로 조회함
샘플 요청

다음 예시는 2022-07-13과 2024-07-19 사이의 동적 구성 기록을 조회합니다. 응답은 10개 항목으로 제한됩니다.

cURL

curl "http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/config/history?interval=2022-07-13%2F2024-07-19&count=10"

HTTP

GET /druid/coordinator/v1/config/history?interval=2022-07-13/2024-07-19&count=10 HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
[
    {
        "key": "coordinator.config",
        "type": "coordinator.config",
        "auditInfo": {
            "author": "",
            "comment": "",
            "ip": "127.0.0.1"
        },
        "payload": "{\"millisToWaitBeforeDeleting\":900000,\"maxSegmentsToMove\":5,\"replicantLifetime\":15,\"replicationThrottleLimit\":10,\"balancerComputeThreads\":1,\"killDataSourceWhitelist\":[],\"killPendingSegmentsSkipList\":[],\"maxSegmentsInNodeLoadingQueue\":100,\"decommissioningNodes\":[],\"decommissioningMaxPercentOfMaxSegmentsToMove\":70,\"pauseCoordination\":false,\"replicateAfterLoadTimeout\":false,\"maxNonPrimaryReplicantsToLoad\":2147483647,\"useRoundRobinSegmentAssignment\":true,\"smartSegmentLoading\":true,\"debugDimensions\":null,\"decommissioningNodes\":[]}",
        "auditTime": "2023-10-03T20:59:51.622Z"
    }
]

Broker 동적 구성

Broker 동적 구성은 Coordinator를 통해 관리되지만 Broker가 소비합니다. 이 설정들은 쿼리 차단 규칙과 기본 쿼리 컨텍스트 값 같은 Broker 동작을 제어합니다.

참고: Broker 동적 구성은 최선 노력(best-effort)입니다. Broker가 최근에 시작되어 아직 구성을 받지 못했거나, Broker가 Coordinator에 연락할 수 없는 등의 경우 설정이 적용되지 않을 수 있어요. Broker는 구성을 주기적으로(기본적으로 1분마다) 폴링하고, 즉시 전파를 위해 Coordinator의 푸시 업데이트도 받습니다. 설정이 중요하고 항상 적용되어야 한다면 동등한 정적 런타임 속성을 대신 사용하세요.

Broker 동적 구성 가져오기

현재 Broker 동적 구성을 가져옵니다. 동적 구성 속성을 담은 JSON 객체를 반환합니다.

URL

GET /druid/coordinator/v1/broker/config

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

cURL

curl "http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/broker/config"

HTTP

GET /druid/coordinator/v1/broker/config HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
{
  "queryBlocklist": [
    {
      "ruleName": "block-expensive-scans",
      "dataSources": ["large_table"],
      "queryTypes": ["scan"]
    }
  ],
  "queryContext": {
    "priority": 0,
    "timeout": 300000
  },
  "perSegmentTimeoutConfig": {
    "large_table": {
      "perSegmentTimeoutMs": 10000,
      "monitorOnly": false
    }
  }
}

Broker 동적 구성 업데이트

Broker 동적 구성을 업데이트합니다.

URL

POST /druid/coordinator/v1/broker/config

헤더 파라미터

이 엔드포인트는 감사 로그 정보를 채울 수 있는 선택적 헤더 파라미터 집합을 지원합니다.

  • X-Druid-Author — 타입: String. 구성 변경을 수행하는 작성자.
  • X-Druid-Comment — 타입: String. 변경을 설명하는 주석.
응답
  • 200 SUCCESS — 구성을 성공적으로 업데이트함
샘플 요청

cURL

curl -X POST "http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/broker/config" \
-H "Content-Type: application/json" \
-H "X-Druid-Author: admin" \
-H "X-Druid-Comment: Add query blocklist rules and set default context" \
-d '{
  "queryBlocklist": [
    {
      "ruleName": "block-expensive-scans",
      "dataSources": ["large_table", "huge_dataset"],
      "queryTypes": ["scan"]
    },
    {
      "ruleName": "block-debug-queries",
      "contextMatches": {
        "debug": "true"
      }
    }
  ],
  "queryContext": {
    "priority": 0,
    "timeout": 300000
  },
  "perSegmentTimeoutConfig": {
    "large_table": {
      "perSegmentTimeoutMs": 10000
    },
    "huge_dataset": {
      "perSegmentTimeoutMs": 5000,
      "monitorOnly": true
    }
  }
}'

HTTP

POST /druid/coordinator/v1/broker/config HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
Content-Type: application/json
X-Druid-Author: admin
X-Druid-Comment: Add query blocklist rules and set default context

{
  "queryBlocklist": [
    {
      "ruleName": "block-expensive-scans",
      "dataSources": ["large_table", "huge_dataset"],
      "queryTypes": ["scan"]
    },
    {
      "ruleName": "block-debug-queries",
      "contextMatches": {
        "debug": "true"
      }
    }
  ],
  "queryContext": {
    "priority": 0,
    "timeout": 300000
  },
  "perSegmentTimeoutConfig": {
    "large_table": {
      "perSegmentTimeoutMs": 10000
    },
    "huge_dataset": {
      "perSegmentTimeoutMs": 5000,
      "monitorOnly": true
    }
  }
}
샘플 응답

성공한 요청은 HTTP 200 OK 메시지 코드와 빈 응답 본문을 반환합니다.

Broker 동적 구성 속성

다음 표는 Broker의 동적 구성 속성을 보여줍니다.

속성 설명 기본값
queryBlocklist 데이터소스, 쿼리 타입, 그리고/또는 쿼리 컨텍스트 파라미터를 기준으로 쿼리를 차단하는 규칙 목록. 각 규칙은 AND 논리로 결합되는 기준을 정의합니다. 차단된 쿼리는 HTTP 403 오류를 반환합니다. 자세한 내용은 Query blocklist rules를 참고하세요. none
queryContext 이 Broker의 모든 쿼리에 적용되는 기본 쿼리 컨텍스트 key-value 쌍의 맵. 이 값들은 런타임 속성(druid.query.default.context.*)으로 설정된 정적 기본값을 덮어쓰지만, 개별 쿼리 페이로드에 제공된 컨텍스트 값에 의해 덮어써집니다. 재시작 없이 priority나 timeout 같은 클러스터 전역 기본값을 설정하는 데 유용합니다. 사용 가능한 키는 Query context reference를 참고하세요. none
perSegmentTimeoutConfig 데이터소스 이름을 per-segment 타임아웃 구성에 매핑한 맵. 쿼리가 이 맵의 데이터소스를 대상으로 하면, Broker는 Historical로 전달하기 전에 구성된 perSegmentTimeout을 쿼리 컨텍스트에 주입합니다. 자세한 내용은 Per-segment timeout configuration을 참고하세요. none
Query blocklist 규칙

Query blocklist 규칙은 데이터소스, 쿼리 타입, 그리고/또는 쿼리 컨텍스트 파라미터를 기준으로 특정 쿼리를 차단할 수 있게 해줍니다. 이 기능은 비싸거나 문제가 되는 쿼리가 클러스터 성능에 영향을 주는 것을 방지하는 데 유용합니다.

queryBlocklist 배열의 각 규칙은 다음 속성을 가진 JSON 객체입니다.

속성 설명 필수 기본값
ruleName 이 blocklist 규칙을 식별하는 고유한 이름. 쿼리가 차단될 때 오류 메시지에 사용됩니다. 예 N/A
dataSources 일치시킬 데이터소스 이름 목록. 쿼리가 이 목록의 어떤 데이터소스를 참조하면 일치합니다. 아니요 모든 데이터소스 일치
queryTypes 일치시킬 쿼리 타입 목록 (예: scan, timeseries, groupBy, topN). 쿼리 타입이 이 목록에 있으면 일치합니다. 아니요 모든 쿼리 타입 일치
contextMatches 일치시킬 쿼리 컨텍스트 파라미터 key-value 쌍의 맵. 지정된 모든 컨텍스트 파라미터가 제공된 값과 일치하면 쿼리가 일치합니다(대소문자 구분 문자열 비교). 아니요 모든 컨텍스트 일치

규칙 일치 동작:

  • 쿼리가 규칙 내의 모든 지정 기준과 일치해야(AND 논리) 그 규칙에 의해 차단됩니다.
  • 어떤 기준이 생략되거나 비어 있거나 null이면 모든 것을 일치합니다 (예: queryTypes를 생략하거나 null로 설정하면 모든 쿼리 타입과 일치).
  • 컨텍스트 일치의 경우: 규칙이 컨텍스트 파라미터를 지정하면, 해당 키의 값이 누락되거나 null인 쿼리는 일치하지 않습니다.
  • 실수로 모든 쿼리를 차단하지 않도록 규칙당 기준이 하나 이상 지정되어야 합니다.
  • 쿼리는 blocklist의 어떤 규칙과도 일치하면 차단됩니다(규칙 간 OR 논리).

오류 응답:

쿼리가 차단되면 Broker는 쿼리 ID와 차단한 규칙을 나타내는 메시지와 함께 HTTP 403 오류를 반환합니다.

{
  "error": "Forbidden",
  "errorMessage": "Query[abc-123-def] blocked by rule[block-expensive-scans]",
  "persona": "USER",
  "category": "FORBIDDEN"
}
Per-segment timeout 구성

Per-segment timeout 구성은 클러스터 재시작 없이 데이터소스별 세그먼트 처리 타임아웃을 설정할 수 있게 해줍니다. 데이터소스마다 성능 특성이 다를 때 유용해요. 예를 들어 더 큰 데이터셋에 더 긴 타임아웃을 허용하는 경우입니다.

perSegmentTimeoutConfig 맵의 각 항목은 데이터소스 이름을 키로 가지며 다음 속성을 가집니다.

속성 설명 필수 기본값
perSegmentTimeoutMs 세그먼트 처리 타임아웃(밀리초). 0보다 커야 합니다. 예 N/A
monitorOnly true일 때 타임아웃 값은 기록되지만 적용되지 않습니다. 적용을 활성화하기 전에 타임아웃의 영향을 관찰하는 데 유용합니다. 아니요 false

우선순위 순서(높은 것부터 낮은 것):

  1. 쿼리 컨텍스트에 사용자가 제공한 perSegmentTimeout
  2. perSegmentTimeoutConfig의 데이터소스별 값
  3. druid.query.default.context.perSegmentTimeout의 클러스터 전역 기본값

참고: 여러 데이터소스가 관련된 쿼리(예: 조인 또는 union)의 경우, 첫 번째로 일치하는 데이터소스의 타임아웃이 적용됩니다. 일치 순서는 비결정적입니다. 이를 피하려면 그러한 쿼리에 관여하는 모든 데이터소스에 같은 타임아웃을 구성하거나, 쿼리 컨텍스트에 perSegmentTimeout을 명시적으로 설정하세요.

예시 구성:

{
  "perSegmentTimeoutConfig": {
    "large_datasource": {
      "perSegmentTimeoutMs": 10000
    },
    "critical_datasource": {
      "perSegmentTimeoutMs": 5000,
      "monitorOnly": true
    }
  }
}

모든 데이터소스별 타임아웃을 지우려면 빈 맵을 POST하세요.

{
  "perSegmentTimeoutConfig": {}
}

Broker 동적 구성 기록 가져오기

일정 시간 간격 동안 Broker 동적 구성에 대한 변경 기록을 가져옵니다. 사용 가능한 기록이 없으면 빈 배열을 반환합니다.

URL

GET /druid/coordinator/v1/broker/config/history

쿼리 파라미터

이 엔드포인트는 결과를 필터링하는 선택적 쿼리 파라미터 집합을 지원합니다.

  • interval — 타입: String. 결과를 /로 구분된 ISO 8601 형식의 지정된 시간 간격으로 제한합니다. 예: 2023-07-13/2023-07-19. 기본 간격은 1주일입니다. 이 기간은 Coordinator의 runtime.properties 파일에서 druid.audit.manager.auditHistoryMillis를 설정해 변경할 수 있어요.
  • count — 타입: Integer. 결과 수를 마지막 n개 항목으로 제한합니다.
응답
  • 200 SUCCESS — 기록을 성공적으로 조회함
샘플 요청

cURL

curl "http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/broker/config/history?count=10"

HTTP

GET /druid/coordinator/v1/broker/config/history?count=10 HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
[
  {
    "key": "broker.config",
    "type": "broker.config",
    "auditInfo": {
      "author": "admin",
      "comment": "Add query blocklist rules",
      "ip": "127.0.0.1"
    },
    "payload": "{\"queryBlocklist\":[{\"ruleName\":\"block-expensive-scans\",\"dataSources\":[\"large_table\"],\"queryTypes\":[\"scan\"]}],\"queryContext\":{\"priority\":0,\"timeout\":300000},\"perSegmentTimeoutConfig\":{\"large_table\":{\"perSegmentTimeoutMs\":10000,\"monitorOnly\":false}}}",
    "auditTime": "2024-03-06T12:00:00.000Z"
  }
]

Overlord 동적 구성

Overlord는 Druid가 태스크를 워커에 할당하는 방식을 조정하는 동적 구성을 갖고 있습니다. 지원되는 속성에 대한 자세한 내용은 Overlord dynamic configuration을 참고하세요.

동적 구성 가져오기

현재 Overlord 동적 구성을 가져옵니다. 동적 구성 속성을 담은 JSON 객체를 반환합니다. 현재 Overlord 동적 구성이 없으면 빈 응답 본문을 반환합니다.

URL

GET /druid/indexer/v1/worker

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

cURL

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

HTTP

GET /druid/indexer/v1/worker HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
{
    "type": "default",
    "selectStrategy": {
        "type": "fillCapacityWithCategorySpec",
        "workerCategorySpec": {
            "categoryMap": {},
            "strong": true
        }
    },
    "autoScaler": null
}

동적 구성 업데이트

JSON 기반 동적 구성 스펙을 Overlord에 제출합니다. 지원되는 속성에 대한 자세한 내용은 Overlord dynamic configuration을 참고하세요.

URL

POST /druid/indexer/v1/worker

헤더 파라미터

이 엔드포인트는 구성 기록의 author와 comment 필드를 채울 수 있는 선택적 헤더 파라미터 집합을 지원합니다.

  • X-Druid-Author — 타입: String. 구성 변경의 작성자.
  • X-Druid-Comment — 타입: String. 업데이트에 대한 설명.
응답
  • 200 SUCCESS — 동적 구성을 성공적으로 업데이트함
샘플 요청

cURL

curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/worker" \
--header 'Content-Type: application/json' \
--data '{
  "type": "default",
  "selectStrategy": {
    "type": "fillCapacityWithCategorySpec",
    "workerCategorySpec": {
      "categoryMap": {},
      "strong": true
    }
  },
  "autoScaler": null
}'

HTTP

POST /druid/indexer/v1/worker HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
Content-Type: application/json
Content-Length: 196

{
  "type": "default",
  "selectStrategy": {
    "type": "fillCapacityWithCategorySpec",
    "workerCategorySpec": {
      "categoryMap": {},
      "strong": true
    }
  },
  "autoScaler": null
}
샘플 응답

성공한 요청은 HTTP 200 OK 메시지 코드와 빈 응답 본문을 반환합니다.

동적 구성 기록 가져오기

일정 시간 간격 동안 Overlord 동적 구성에 대한 변경 기록을 가져옵니다. 사용 가능한 기록이 없으면 빈 배열을 반환합니다.

URL

GET /druid/indexer/v1/worker/history

쿼리 파라미터

이 엔드포인트는 결과를 필터링하는 선택적 쿼리 파라미터 집합을 지원합니다.

  • interval — 타입: String. 결과를 /로 구분된 ISO 8601 형식의 지정된 시간 간격으로 제한합니다. 예: 2023-07-13/2023-07-19. 기본 간격은 1주일입니다. 이 기간은 Overlord의 runtime.properties 파일에서 druid.audit.manager.auditHistoryMillis를 설정해 변경할 수 있어요.
  • count — 타입: Integer. 결과 수를 마지막 n개 항목으로 제한합니다.
응답
  • 200 SUCCESS — 기록을 성공적으로 조회함
샘플 요청

다음 예시는 2022-07-13과 2024-07-19 사이의 동적 구성 기록을 조회합니다. 응답은 10개 항목으로 제한됩니다.

cURL

curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/worker/history?interval=2022-07-13%2F2024-07-19&count=10"

HTTP

GET /druid/indexer/v1/worker/history?interval=2022-07-13%2F2024-07-19&count=10 HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
[
    {
        "key": "worker.config",
        "type": "worker.config",
        "auditInfo": {
            "author": "",
            "comment": "",
            "ip": "127.0.0.1"
        },
        "payload": "{\"type\":\"default\",\"selectStrategy\":{\"type\":\"fillCapacityWithCategorySpec\",\"workerCategorySpec\":{\"categoryMap\":{},\"strong\":true}},\"autoScaler\":null}",
        "auditTime": "2023-10-03T21:49:49.991Z"
    }
]

클러스터의 워커 노드 배열 가져오기

클러스터의 모든 워커 노드와 그에 해당하는 메타데이터의 배열을 반환합니다.

GET /druid/indexer/v1/workers

응답
  • 200 SUCCESS — 워커 노드를 성공적으로 조회함
샘플 요청

cURL

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

HTTP

GET /druid/indexer/v1/workers HTTP/1.1
Host: http://ROUTER_IP:ROUTER_PORT
샘플 응답
[
    {
        "worker": {
            "scheme": "http",
            "host": "localhost:8091",
            "ip": "198.51.100.0",
            "capacity": 2,
            "version": "0",
            "category": "_default_worker_category"
        },
        "currCapacityUsed": 0,
        "currParallelIndexCapacityUsed": 0,
        "availabilityGroups": [],
        "runningTasks": [],
        "lastCompletedTaskTime": "2023-09-29T19:13:05.505Z",
        "blacklistedUntil": null
    }
]

스케일링 이벤트 가져오기

autoscaling runner를 사용 중이라면 Overlord 스케일링 이벤트를 반환합니다. Overlord 스케일링 이벤트가 없으면 빈 응답 본문을 반환합니다.

URL

GET /druid/indexer/v1/scaling

응답
  • 200 SUCCESS — 스케일링 이벤트를 성공적으로 조회함
샘플 요청

cURL

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

HTTP

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

성공한 요청은 200 OK 응답과 스케일링 이벤트 배열을 반환합니다.

더 알아보기 (Learn more)

  • Coordinator 동적 구성 속성의 전체 설명은 Coordinator process 문서를 참고하세요.
  • Overlord 동적 구성은 Overlord process 문서에서 확인해 보세요.