Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Кластеры Azure HDInsight содержат группы виртуальных машин (ВМ), которые выступают в роли узлов кластера. Для длительных кластеров эти узлы могут стать неотзывчивыми по различным причинам. В этой статье описывается, как перезагрузить неответственные виртуальные машины в кластере HDInsight.
Когда нужно перезагрузить
Предупреждение
При перезагрузке виртуальных машин в кластере узел недоступен для использования, а службы на узле должны перезапуститься.
При перезагрузке узла кластер может стать неработоспособным, а задания могут замедлиться или завершиться сбоем. Если вы пытаетесь перезагрузить активный головной узел, все выполняемые задания будут остановлены. Вы не сможете отправлять задания в кластер, пока службы не будут вновь полностью функционировать. По этим причинам следует перезагрузить виртуальные машины только при необходимости. Рассмотрите возможность перезагрузки виртуальных машин в следующих случаях:
- Вы не можете использовать SSH для входа в узел, но он отвечает на запросы.
- Рабочий узел не работает и не подает сигналов в интерфейсе Ambari.
- Временный диск заполнен на узле.
- Таблица процессов на виртуальной машине содержит множество записей, в которых процесс завершен, но он указан с параметром "Завершенное состояние".
Примечание.
Если необходимо перезагрузить рабочий узел или узел zookeeper в кластере HBase или Kafka, обратите внимание, что это может привести к проблемам стабильности в течение некоторого времени в зависимости от размера кластера и давления рабочей нагрузки. Перезагрузка рабочего узла может привести к ненужным перемещениям разделов регионов или тем. Даже перезагрузка узла ZooKeeper может привести к нестабильности в кластере ZooKeper, поэтому может привести к снижению уровня сервера региона или брокера Kafka.
В идеале по возможности остановите службу HBase или Kafka перед перезагрузкой, чтобы свести к минимуму влияние на новые данные, записанные в кластере.
Использование PowerShell для перезагрузки виртуальных машин
Для использования операции перезагрузки узла необходимо выполнить два шага: вывод списка узлов и перезапуск узлов.
Перечислить узлы. Список узлов кластера можно получить в Get-AzHDInsightHost.
Get-AzHDInsightHost -ClusterName myclusternameПерезапустите узлы. После получения имен узлов, которые требуется перезагрузить, перезапустите узлы с помощью Restart-AzHDInsightHost.
Restart-AzHDInsightHost -ClusterName myclustername -Name wn0-myclus, wn1-myclus
Примечание.
Перезагрузка узлов для типов кластеров HBase и Kafka с помощью PowerShell не поддерживается.
Использование REST API для перезагрузки виртуальных машин
Вы можете использовать функцию "Попробовать" в документации ПО API для отправки запросов в HDInsight. Для использования операции перезагрузки узла необходимо выполнить два шага: вывод списка узлов и перезапуск узлов.
Список узлов. Список узлов кластера можно получить из REST API или в Ambari. Дополнительные сведения см. в статье об операциях REST API в списке HDInsight.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/listHosts?api-version=2018-06-01-previewПерезапустите серверы. После получения имен узлов, которые требуется перезагрузить, перезапустите узлы с помощью REST API для перезагрузки узлов. Имя узла следует шаблону NodeType(wn/hn/zk/gw/ib) + x + первые шесть символов имени кластера. Дополнительные сведения см. в статье о перезапуске HDInsight, где выполняется операция REST API.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/restartHosts?api-version=2018-06-01-preview
Фактические имена узлов, которые требуется перезагрузить, указываются в массиве JSON в тексте запроса.
[
"wn0-abcdef",
"zk1-abcdef"
]
Примечание.
Перезагрузка узлов для типов кластеров HBase и Kafka с помощью REST API не поддерживается.