/{db}/_shards
Добавлено в версии 2.0.
-
GET/{db}/_shards -
Ответ будет содержать список шардов базы данных. Для каждого шарда будет указан его внутренний диапазон базы данных и узлы, на которых хранятся реплики этих шардов.
- Параметры:
-
db – Имя базы данных
- Заголовки запроса:
-
-
Accept –
application/json
text/plain
-
- Заголовки ответа:
-
-
application/json
text/plain; charset=utf-8
-
- Объект JSON ответа:
-
shards (object) – Сопоставление диапазонов шардов с отдельными репликами шардов на каждом узле кластера
- Коды состояния:
-
200 OK – Запрос успешно выполнен
400 Bad Request – Недопустимое имя базы данных
401 Unauthorized – Требуется право на чтение
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учетными данными
415 Unsupported Media Type – Недопустимое значение Content-Type
500 Internal Server Error – Внутренняя ошибка сервера или превышено время ожидания
Запрос:
GET /db/_shards HTTP/1.1 Accept: */* Host: localhost:5984
Ответ:
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 621 Content-Type: application/json Date: Fri, 18 Jan 2019 19:55:14 GMT Server: CouchDB/2.4.0 (Erlang OTP/19) { "shards": { "00000000-1fffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "20000000-3fffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "40000000-5fffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "60000000-7fffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "80000000-9fffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "a0000000-bfffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "c0000000-dfffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "e0000000-ffffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ] } }
/{db}/_shards/{docid}
-
GET/{db}/_shards/{docid} -
Возвращает информацию о конкретном шарде, в котором хранится указанный документ, а также информацию об узлах, на которых имеется реплика этого шарда.
- Параметры:
-
db – Имя базы данных
docid – Идентификатор документа
- Заголовки запроса:
-
-
Accept –
application/json
text/plain
-
- Заголовки ответа:
-
-
application/json
text/plain; charset=utf-8
-
- Объект JSON ответа:
-
range (string) – Диапазон шарда, в котором хранится документ
nodes (array) – Список узлов, обслуживающих реплику шарда
- Коды состояния:
-
200 OK – Запрос успешно выполнен
401 Unauthorized – Требуется право на чтение
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учетными данными
404 Not Found – База данных или документ не найдены
500 Internal Server Error – Внутренняя ошибка сервера или превышено время ожидания
Запрос:
GET /db/_shards/docid HTTP/1.1 Accept: */* Host: localhost:5984
Ответ:
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 94 Content-Type: application/json Date: Fri, 18 Jan 2019 20:26:33 GMT Server: CouchDB/2.3.0-9d4cb03c2 (Erlang OTP/19) { "range": "e0000000-ffffffff", "nodes": [ "node1@127.0.0.1", "node2@127.0.0.1", "node3@127.0.0.1" ] }
/{db}/_sync_shards
Добавлено в версии 2.3.1.
-
POST/{db}/_sync_shards -
Для указанной базы данных принудительно запускает внутреннюю синхронизацию шардов для всех реплик всех шардов базы данных.
Обычно это используется только при обслуживании кластера, например при перемещении шарда.
- Параметры:
-
db – Имя базы данных
- Заголовки запроса:
-
-
Accept –
application/json
text/plain
-
- Заголовки ответа:
-
-
application/json
text/plain; charset=utf-8
-
- Объект JSON ответа:
-
ok (boolean) – Статус операции. Доступно в случае успеха
error (string) – Тип ошибки. Доступно, если код ответа —
4xxreason (string) – Описание ошибки. Доступно, если код ответа —
4xx
- Коды состояния:
-
202 Accepted – Запрос принят
400 Bad Request – Недопустимое имя базы данных
401 Unauthorized – Требуются права администратора сервера CouchDB
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учетными данными
404 Not Found – База данных не найдена
500 Internal Server Error – Внутренняя ошибка сервера или тайм-аут
Запрос:
POST /db/_sync_shards HTTP/1.1 Host: localhost:5984 Accept: */*
Ответ:
HTTP/1.1 202 Accepted Cache-Control: must-revalidate Content-Length: 12 Content-Type: application/json Date: Fri, 18 Jan 2019 20:19:23 GMT Server: CouchDB/2.3.0-9d4cb03c2 (Erlang OTP/19) X-Couch-Request-ID: 14f0b8d252 X-CouchDB-Body-Time: 0 { "ok": true }
Примечание
Администраторам может потребоваться увеличить значение [mem3] sync_concurrency на время синхронизации шардов.
Copyright © 2025 The Apache Software Foundation — Licensed under the Apache License 2.0
https://docs.couchdb.org/en/3.5.1/api/database/shard.html