Учебники

Elasticsearch — API кластеров

Этот API используется для получения информации о кластере и его узлах и внесения в них изменений. Для вызова этого API нам нужно указать имя узла, адрес или _local. Например,

GET http://localhost:9200/_nodes/_local

отклик

………………………………………………
{
   "cluster_name":"elasticsearch", "nodes":{
      "Vy3KxqcHQdm4cIM22U1ewA":{
         "name":"Red Guardian", "transport_address":"127.0.0.1:9300", 
         "host":"127.0.0.1", "ip":"127.0.0.1", "version":"2.1.1", 
         "build":"40e2c53", "http_address":"127.0.0.1:9200",
      }
   }
}
………………………………………………

Или же

Get http://localhost:9200/_nodes/127.0.0.1

отклик

То же, что в примере выше.

Здоровье кластера

Этот API используется для получения статуса работоспособности кластера путем добавления ключевого слова работоспособности. Например,

GET http://localhost:9200/_cluster/health

отклик

{
   "cluster_name":"elasticsearch", "status":"yellow", "timed_out":false,
   "number_of_nodes":1, "number_of_data_nodes":1, "active_primary_shards":23,
   "active_shards":23, "relocating_shards":0, "initializing_shards":0,
   "unassigned_shards":23, "delayed_unassigned_shards":0, "number_of_pending_tasks":0,
   "number_of_in_flight_fetch":0, "task_max_waiting_in_queue_millis":0,
   "active_shards_percent_as_number":50.0
}

Состояние кластера

Этот API используется для получения информации о состоянии кластера путем добавления URL-адреса ключевого слова state. Информация о состоянии содержит версию, главный узел, другие узлы, таблицу маршрутизации, метаданные и блоки. Например,

GET http://localhost:9200/_cluster/state 10. Elasticsearch — Cluster APIs

отклик

………………………………………………

{
   "cluster_name":"elasticsearch", "version":27, "state_uuid":"B3P7uHGKQUGsSsiX2rGYUQ",
   "master_node":"Vy3KxqcHQdm4cIM22U1ewA",
	
}
………………………………………………

Статистика кластера

Этот API-интерфейс помогает получать статистику о кластере с помощью ключевого слова stats. Этот API-интерфейс возвращает номер сегмента, размер хранилища, использование памяти, количество узлов, роли, ОС и файловую систему. Например,

GET http://localhost:9200/_cluster/stats

отклик

………………………………………………
{
   "timestamp":1454496710020, "cluster_name":"elasticsearch", "status":"yellow",
   "indices":{
      "count":5, "shards":{
         "total":23, "primaries":23, "replication":0.0,"
      }
   }
}		
………………………………………………

Ожидающие кластерные задачи

Этот API используется для мониторинга отложенных задач в любом кластере. Задачи, такие как создание индекса, обновление отображения, выделение сегмента, сбой сегмента и т. Д. Например,

GET http://localhost:9200/_cluster/pending_tasks

Кластер Reroute

Этот API используется для перемещения шарда от одного узла к другому или для отмены любого выделения или выделения любого неназначенного шарда. Например,

POST http://localhost:9200/_cluster/reroute

Тело запроса

{
   "commands" : [ 
      {
         "move" :
         {
            "index" : "schools", "shard" : 2,
            "from_node" : "nodea", "to_node" : "nodeb"
         }
      },
		
      {
         "allocate" : {
            "index" : "test", "shard" : 1, "node" : "nodec"
         }
      }
   ]
}

Настройки обновления кластера

Этот API позволяет обновлять настройки кластера с помощью ключевого слова settings. Существует два типа настроек — постоянные (применяются при перезапусках) и временные (не сохраняются при полном перезапуске кластера).

Статистика узла

Этот API используется для получения статистики еще одного узла кластера. Статистика узла почти такая же, как у кластера. Например,

GET http://localhost:9200/_nodes/stats

отклик

………………………………………………
{
   "cluster_name":"elasticsearch", "nodes":{
      "Vy3KxqcHQdm4cIM22U1ewA":{
         "timestamp":1454497097572, "name":"Red Guardian", 
         "transport_address":"127.0.0.1:9300", "host":"127.0.0.1", "ip":["127.0.0.1:9300",
      }
   }
}
………………………………………………

Узлы

Этот API-интерфейс помогает вам получать информацию о текущих горячих потоках на каждом узле в кластере. Например,