Учебники

3) Конфигурация Metastore

Зачем использовать MySQL в Hive как Metastore:

  • По умолчанию Hive поставляется с базой данных derby в качестве метастаза.
  • База данных Derby может поддерживать только одного активного пользователя одновременно
  • Дерби не рекомендуется в производственной среде

Таким образом, решение здесь

  • Используйте MYSQL в качестве мета-хранилища на сервере для одновременного подключения нескольких пользователей к Hive.
  • MYSQL — лучший выбор для автономного метастаза

Шаги по установке и настройке базы данных MySQL в Hive на Hadoop

Шаг 1) На этом шаге мы собираемся выполнить две задачи

  1. Установка mysql-сервера
  2. Проверка mysql-сервера и его процесса
  1. Используя команду sudo apt-get install mysql-server, мы можем скачать mysql server

Установите MySQL, как показано на скриншоте

Установка и настройка HIVE и MYSQL

  1. После успешной установки MySQL будет работать, как показано на снимке экрана ниже

Установка и настройка HIVE и MYSQL

Шаг 2) Установка MySQL Java Connector. Это для Java-зависимостей и цели соединения

Установка и настройка HIVE и MYSQL

Шаг 3) Создание программной ссылки для коннектора в каталоге Hive lib . Это для мягкой связи между Java и MySql.

Установка и настройка HIVE и MYSQL

Шаг 4) Настройка хранилища MySql в Hive

Установка и настройка HIVE и MYSQL

  • Введите MySql –u root –p и пароль
  • Здесь –u обозначает имя пользователя root, p обозначает пароль
  • После ввода вышеуказанной команды, пользователь должен ввести действительный пароль и затем нажать Enter
  • Затем он перейдет в режим оболочки MySql

Шаг 5) Создание имени пользователя и пароля для MySql, предоставление привилегий.

Установка и настройка HIVE и MYSQL

Мы должны выполнить команды, как показано ниже,

mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword'; 
mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';
mysql>  flush privileges;

Шаг 6) Настройка hive-site.xml

  • После шага 5 назначьте имя пользователя и пароль для базы данных MySQL и предоставьте привилегии.
  • Here we will configure some properties in Hive to get a connection with MySQL database.

Установка и настройка HIVE и MYSQL

Установка и настройка HIVE и MYSQL

From the above screenshot, we observe the following. Here we are defining 4 properties that could be necessary to establish MYSQL as Meta store in Hive

These are as follows:

  1. This property is for connection URL purpose. Here we are defining ConnectionURL in this property. It acts as JDBC connection and its representing metastore location as well
  2. This property is for Connection driver name. Here mysql.jdbc.Driver is the respected value we have to mention in the value tag
  3. This property used for defining Connection User name. In this, we defined «hiveguru» as user name
  4. This property used for mentioning Connection Password. In this, we defined password as user password.

Once the properties placed in hive –site.xml we have to manually save (Ctrl+S) and close the file. After closing this file, we have to create Hive table and check the table details in MySQL storage.

Place this code in hive-site.xml

hive-site.xml

<configuration>
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
		<description>metadata is stored in a MySQL server</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
		<description>MySQL JDBC driver class</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>hiveuser</value>
		<description>user name for connecting to mysql server</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>hivepassword</value>
		<description>password for connecting to mysql server</description>
	</property>
</configuration>

Step7) Create table «guru99» in Hive.

Установка и настройка HIVE и MYSQL

From the above screenshot, we can observe the following

  • Creation of table name»guru99″ with two column names
  • The columns names mentioned with its data type as one is integer, and another one is of string type

In the next step, we are going to check whether it is stored in MySql or not

Step 8) Entering into MySql shell mode

Установка и настройка HIVE и MYSQL

From the above screenshot, we can observe the following

  • Сначала мы должны использовать базу данных как «использовать metastore»
  • Как только он выберет мета-хранилище, мы можем проверить присутствующие в нем таблицы, используя команду «show» tables, как показано на скриншоте
  • Какие бы таблицы ни создавались в Hive, метаданные соответствуют тем таблицам, которые хранятся в TBLS в базе данных MySQL.
  • «Таблица Guur99» создается в Hive, поэтому соответствующие метаданные хранятся в MySQL под TBLS.

Шаг 9) Проверка, представляет ли созданная таблица MySQL или нет

Установка и настройка HIVE и MYSQL

Введя select * from TBLS, он отобразит таблицы, которые мы создали в режиме оболочки Hive.

На скриншоте выше мы можем наблюдать следующие вещи:

  • Имя таблицы «guru99», созданной в Hive, может отображаться в режиме оболочки MySQL.
  • Помимо этого, он также предоставит информацию, такую ​​как время создания таблицы, время доступа и другие свойства, как показано на снимке экрана выше.