Учебники

Импала — Архитектура

Impala — это механизм выполнения запросов MPP (Massive Parallel Processing), который работает на нескольких системах в кластере Hadoop. В отличие от традиционных систем хранения, импала отделена от своего механизма хранения. Он состоит из трех основных компонентов, а именно: даемона Impala (Impalad) , Impala Statestore и метаданных Impala или metastore.

Импала Архитектура

Импала Демон ( Импалад )

Демон Impala (также известный как impalad ) запускается на каждом узле, где установлена ​​Impala. Он принимает запросы от различных интерфейсов, таких как оболочка Impala, браузер оттенков и т. Д., И обрабатывает их.

Всякий раз, когда запрос отправляется импаладу на конкретном узле, этот узел служит « координирующим узлом » для этого запроса. Impalad выполняет несколько запросов и на других узлах. После принятия запроса Impalad читает и записывает файлы данных и распараллеливает запросы, распределяя работу по другим узлам Impala в кластере Impala. Когда запросы обрабатываются в различных экземплярах Impalad , все они возвращают результат в центральный координирующий узел.

В зависимости от требования, запросы могут быть отправлены в отдельный Impalad или сбалансированным образом загружены другому Impalad в вашем кластере.

Импала Государственный Магазин

У Impala есть еще один важный компонент, который называется Impala State store, который отвечает за проверку работоспособности каждого Impalad, а затем часто передает здоровье каждого демона Impala другим демонам. Это может выполняться на том же узле, где работает сервер Impala или другой узел в кластере.

Имя процесса демона хранилища Impala State хранится в состоянии . Impalad сообщает о своем состоянии работоспособности демону хранилища State Impala, т.е.

В случае сбоя узла по какой-либо причине Statestore обновляет все другие узлы об этом сбое, и как только такое уведомление становится доступным для другого impalad , никакой другой демон Impala не назначает какие-либо дополнительные запросы уязвимому узлу.

Импала Метаданные и Мета Магазин

Импала метаданных и мета-хранилище является еще одним важным компонентом. Impala использует традиционные базы данных MySQL или PostgreSQL для хранения определений таблиц. Важные детали, такие как информация о таблицах и столбцах и определения таблиц, хранятся в централизованной базе данных, известной как мета-хранилище.

Каждый узел Impala локально кэширует все метаданные. При работе с чрезвычайно большим объемом данных и / или множеством разделов получение метаданных для конкретной таблицы может занять значительное время. Таким образом, локально сохраненный кэш метаданных помогает мгновенно предоставлять такую ​​информацию.

Когда определение таблицы или данные таблицы обновляются, другие демоны Impala должны обновить свой кэш метаданных, извлекая самые последние метаданные, прежде чем отправлять новый запрос к рассматриваемой таблице.

Интерфейсы обработки запросов

Для обработки запросов Impala предоставляет три интерфейса, перечисленных ниже.

  • Impala-shell — После настройки Impala с использованием виртуальной машины Cloudera вы можете запустить оболочку Impala, введя команду impala-shell в редакторе. Мы обсудим больше о оболочке Impala в следующих главах.

  • Интерфейс Hue — Вы можете обрабатывать запросы Impala с помощью браузера Hue. В браузере Hue у вас есть редактор запросов Impala, в котором вы можете вводить и выполнять запросы Impala. Для доступа к этому редактору, прежде всего, вам необходимо войти в браузер Hue.

  • Драйверы ODBC / JDBC. Как и другие базы данных, Impala предоставляет драйверы ODBC / JDBC. Используя эти драйверы, вы можете подключаться к Impala через языки программирования, которые поддерживают эти драйверы, и создавать приложения, которые обрабатывают запросы в Impala, используя эти языки программирования.

Impala-shell — После настройки Impala с использованием виртуальной машины Cloudera вы можете запустить оболочку Impala, введя команду impala-shell в редакторе. Мы обсудим больше о оболочке Impala в следующих главах.

Интерфейс Hue — Вы можете обрабатывать запросы Impala с помощью браузера Hue. В браузере Hue у вас есть редактор запросов Impala, в котором вы можете вводить и выполнять запросы Impala. Для доступа к этому редактору, прежде всего, вам необходимо войти в браузер Hue.

Драйверы ODBC / JDBC. Как и другие базы данных, Impala предоставляет драйверы ODBC / JDBC. Используя эти драйверы, вы можете подключаться к Impala через языки программирования, которые поддерживают эти драйверы, и создавать приложения, которые обрабатывают запросы в Impala, используя эти языки программирования.

Процедура выполнения запроса

Всякий раз, когда пользователи передают запрос, используя любой из предоставленных интерфейсов, он принимается одним из Impalads в кластере. Этот Импалад рассматривается как координатор для этого конкретного запроса.

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

Все остальные демоны Impala читают указанный блок данных и обрабатывают запрос. Как только все демоны завершают свои задачи, координатор запросов собирает результат обратно и доставляет его пользователю.