Исполнение HIVE и режимы установки
При установке и исполнении HIVE я сталкиваюсь со следующей терминологией. Может ли кто-нибудь подтвердить мое понимание и дать ценные ответы на некоторые из моих вопросов.
После того, как мы установили HIVE, никакие процессы не выполняются и не слушают запросы (например, РСУБД). Все необходимые компоненты HIVE установлены на всех узлах кластера. Это позволяет вызывать HIVE на любой машине в кластере. Я здесь прав?
Meta Store: это программное обеспечение СУБД, и по умолчанию это Derby, когда мы устанавливаем HIVE. Поскольку у него есть ограничение, заключающееся в том, что в данный момент времени активно только одно активное соединение, к нему нельзя выполнить параллельные соединения. Следовательно, во всех производственных средах используется другая база данных СУБД (MySql / SQL Server). Здесь хранится информация о метаданных таблицы HIVE. Когда эта БД запущена и работает, она прослушивает порт для запросов. Назовем это службой базы данных.
Мета-сервис: Насколько я понимаю, это еще один уровень сервиса, который связывается со службой базы данных и возвращает запрошенную информацию из СУБД.
В: Почему другие процессы, которым требуется информация о метаданных, не могут подключиться к СУБД и сами получить информацию? Зачем нужен метасервис? Метасервис для унификации? или это что-то вроде ORM, написанного на СУБД?
HiveServer: это настроенная версия инфраструктуры Thrift для выполнения HIVE (Фактически, мы можем сделать любую программу как веб-службу, используя Thrift. После реализации служба начнет работать и будет прослушивать запросы). Когда мы хотим запросить HIVE (как мы делаем с другими базами данных), мы отправляем запросы на сервер Thrift от клиентов (с языков программирования / других клиентов JDBC), а служба Thrift с помощью Meteaservice вызывает механизм выполнения запросов HIVE (QEE) и возвращает результат. Я правильно понимаю?
Билайн: это клиент JDBC, который отправляет запрос и выводит его результаты в красиво отформатированном виде. Его можно вызвать в: 1. встроенном режиме 2. удаленном режиме. В локальном режиме «Билайн» сразу вызывает механизм выполнения запросов HIVE и распечатывает результат. Читал, что для этого тоже нужен метасервис. Насколько я понимаю, HIVE QEE также использует метасервис.
В. Тогда достаточно, если только HIVE QEE знает, где работает метасервис?
В удаленном режиме запрос отправляется на сервер Thrift, и результаты распечатываются. Я прав?
Кроме того, когда я пытаюсь понять разницу между удаленным и локальным хранилищем метаданных, во многих статьях говорится о запуске их в одной и той же JVM, а не в разных JVM. Когда я пытаюсь думать о них с точки зрения процессов и их зависимостей, я не могу визуализировать.
Спасибо!