0900-7.1.7-Как установить таймаут задач Hive
0900-7.1.7-Как установить таймаут задач Hive

Цель написания документа

В случае ежедневного пакетного запуска Hive, если существует серьезная неточность данных или при запуске неоптимизированного SQL, это может привести к тому, что задача Hive будет выполняться дольше, чем ожидалось, и в течение длительного времени будет занимать большой объем ресурсов в очереди пула ресурсов. , что приводит к сбою других задач из-за нехватки ресурсов, задерживаемых по обстоятельствам. В этом случае пользователь может ожидать, что задание не удастся выполнить, чтобы гарантировать возможность выполнения последующих заданий. В этой статье в основном описывается, как установить период ожидания задач Hive и связанные с ним параметры. Разумные параметры конфигурации могут уменьшить возникновение вышеуказанных проблем.

  • • тестовая среда
    • • CDP7.1.7 SP1 1044. Включить Керберос

Описание параметра

В процессе настройки таймаута задачи в основном используются два параметра hive.server2.session.check.interval и hive.server2.idle.operation.timeout. Описания всех соответствующих параметров следующие:

  • hive.server2.idle.session.timeout
    • • Сеанс будет закрыт, если к нему не будет доступа в течение этого времени (в миллисекундах). , значение по умолчанию — 1 день в CDP. Можно отключить, установив значение 0 или отрицательное значение. Например, значение 86400000 Указывает, что сеанс будет в 1 Тайм-аут после нескольких дней бездействия.
  • hive.server2.session.check.interval
    • • Интервал между проверками тайм-аутов сеанса/операции в миллисекундах можно отключить, установив значение 0 или отрицательное значение, по умолчанию в CDP оно составляет 15 минут. Например, значение 3600000. означает каждый 1 Проверяйте сеанс каждый час.
  • hive.server2.idle.session.check.operation
    • • Исключить операции реального времени из времени простоя сеанса, включено по умолчанию в CDP. Сеанс считается бездействующим, если нет активности или ожидающих операций. Этот параметр вступает в силу только в том случае, если включены тайм-аут простоя сеанса (hive.server2.idle.session.timeout) и проверка (hive.server2.session.check.interval).
  • hive.server2.idle.operation.timeout
    • • Если доступ к нему не будет осуществлен в течение этого времени (в миллисекундах), операция будет закрыта. Это можно отключить, установив значение 0. По умолчанию 6 часов в CDP. Установите положительное значение, чтобы проверять только операции в состояниях терминала (ЗАВЕРШЕНО, ОТМЕНЕНО, ЗАКРЫТО, ОШИБКА). Установите отрицательное значение, чтобы проверять все операции независимо от статуса. Например, -7200000 Значение указывает, что текущий запрос/операция, если он еще выполняется, будет 2 Тайм-аут после закрытия.

Следующий вариант использования объединяет три значения настройки из приведенного выше примера:

  1. 1. Если сеанс HiveServer2 (HS2) (например, Билайн) запущен и после этого не выполняется никаких действий, HS2 инициирует проверку 24 сеансов, прежде чем определить, что с момента последней активности прошло 24 часа, а затем сеанс будет закрыт.
  2. 2. Если вы запустите Билайн на 2 часа, а затем оставите Билайн открытым, ничего не делая после этого, HS2 инициирует в общей сложности 26 проверок сеанса (2 во время работы и еще 24 в состоянии ожидания), и сеанс закроется после 26 проверок, т.е. 26. часов спустя.
  3. 3. Если вы работаете на Билайне 2 часа, а затем начинаете выполнять запрос, который будет выполняться 1 час, а затем возвращает результаты, то hive.server2.idle.session.timeout фактически начинается с момента возврата данных, поэтому если вы ничего не делаете после Невыполнение этого требования приведет к тому, что HS2 завершит сеанс еще через 24 часа. Таким образом, сеанс длился в общей сложности 27 часов (2+1+24).
  4. 4. Если запрос занимает более 2 часов, определенных hive.server2.idle.operation.timeout = -7200000, запрос будет отменен независимо от его статуса. Но если hive.server2.idle.operation.timeout = 7200000 и запрос все еще выполняется и не находится в состоянии завершения (FINISHED, CANCELED, CLOSED, ERROR), запрос может быть завершен.

Проверка конфигурации

CM >Hive on Tez > Конфигурация > Найдите hive.server2.session.check.interval, значение по умолчанию — 15 минут, минимальное значение — 3 секунды. Как показано ниже, сохраните конфигурацию, а затем перезапустите HiveServer2. Услуга вступает в силу.

Уведомление: hive.server2.session.check.interval Этот параметр необходимо установить на уровне сервиса, через сеанс средний набор Этот параметр не имеет никакого эффекта.

Параметр hive.server2.idle.operation.timeout может передаваться глобально в зависимости от уровня обслуживания. Конфигурация,Как показано ниже,Вы также можете пройти

Язык кода:javascript
копировать
set hive.server2.idle.operation.timeout=-20000;

Для установки единицей измерения по умолчанию являются миллисекунды.

Уведомление: Этот параметр есть в 7.1.7 SP1 Не во время выполнения раньше В белом списке, как в CDP7.1.7. В версии SP1 при запуске по умолчанию будет сообщаться об ошибке: Ошибка: Error while processing statement: Cannot modify hive.server2.idle.operation.timeout at runtime. It is not in list of params that are allowed to be modified at runtime (state=42000,code=1)。 Подробную информацию о методах обработки см. в документе: https://my.cloudera.com/knowledge/quotError- while-processing-statement-Cannot-modify-a-at?id=313269.

Если интервал hive.server2.session.check.interval установлен на 3 секунды, передайте

Язык кода:javascript
копировать
set hive.server2.idle.operation.timeout=-2000; (2 секунды)
set hive.server2.idle.operation.timeout=-20000;(20Второй)

Чтобы проверить следующим образом, вы можете обнаружить, что задание, для которого установлено время ожидания 2 секунды, при любых обстоятельствах быстро выдаст исключение Invalid OperationHandle: OperationHandle, в то время как задание, для которого установлено значение 20 секунд, может выполняться нормально.

В журнале HiveServer2 вы можете увидеть следующий отчет об ошибках:

Язык кода:javascript
копировать
2022-12-01 15:49:03,924 WARN  org.apache.hive.service.cli.thrift.ThriftCLIService: [HiveServer2-Handler-Pool: Thread-91]: Error getting operation status:
org.apache.hive.service.cli.HiveSQLException: Invalid OperationHandle: OperationHandle [opType=EXECUTE_STATEMENT, getHandleIdentifier()=3351410c-2137-47b5-b0a6-3324222dc553]
        at org.apache.hive.service.cli.operation.OperationManager.getOperation(OperationManager.java:180) ~[hive-service-3.1.3000.7.1.7.1044-1.jar:3.1.3000.7.1.7.1044-1]
        at org.apache.hive.service.cli.thrift.ThriftCLIService.getProgressedPercentage(ThriftCLIService.java:489) ~[hive-service-3.1.3000.7.1.7.1044-1.jar:3.1.3000.7.1.7.1044-1]
        at org.apache.hive.service.cli.thrift.ThriftCLIService.GetOperationStatus(ThriftCLIService.java:737) [hive-service-3.1.3000.7.1.7.1044-1.jar:3.1.3000.7.1.7.1044-1]

Краткое изложение документа

Конфигурация с использованием разумных параметров таймаута,Hive SQL с проблемами существования может быть своевременно отключен. Конечно, существование также должно учитывать нормальное время выполнения задания при настройке параметров.,и возможное время ожидания из-за нехватки ресурсов. Установите разумные таймауты параметров для связанных заданий. Конфигурация,Разумное использование ресурсов,Тем самым повышая общую эффективность работы.

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.