Konfiguracja HIVE Metastore z MYSQL

Anonim

Dlaczego używać MySQL w Hive jako Metastore:

  • Domyślnie Hive jest dostarczany z bazą danych Derby jako magazynem metastore.
  • Baza danych Derby może obsługiwać jednocześnie tylko jednego aktywnego użytkownika
  • Derby nie jest zalecane w środowisku produkcyjnym

Więc rozwiązanie tutaj jest

  • Użyj MYSQL jako magazynu Meta na zapleczu, aby połączyć wielu użytkowników z Hive naraz
  • MYSQL to najlepszy wybór dla samodzielnego magazynu metastore

Kroki instalacji i konfiguracji bazy danych MySQL w Hive na Hadoop

Krok 1) W tym kroku wykonamy dwa zadania

  1. Instalacja serwera mysql
  2. Sprawdzanie serwera mysql i jego procesu
  1. Za pomocą polecenia sudo apt-get install mysql-server możemy pobrać serwer mysql

Zainstaluj MySQL, jak pokazano na zrzucie ekranu

  1. Po pomyślnym zakończeniu instalacji MySQL będzie działać, jak pokazano na poniższym zrzucie ekranu

Krok 2) Instalowanie łącznika MySQL Java. Dotyczy to zależności Java i celu połączenia

Krok 3) Utworzenie miękkiego linku do łącznika w katalogu biblioteki Hive . Służy do miękkiego połączenia między Javą a MySql.

Krok 4) Konfiguracja magazynu MySql w gałęzi

  • Wpisz MySql -u root -p, a następnie hasło
  • Tutaj -u reprezentuje nazwę użytkownika root, p oznacza hasło
  • Po wpisaniu powyższej komendy użytkownik musi wprowadzić prawidłowe hasło, a następnie kliknąć enter
  • Następnie przejdzie do trybu powłoki MySql

Krok 5) Utworzenie nazwy użytkownika i hasła do MySql, nadanie uprawnień.

Musimy wykonać polecenia, jak pokazano poniżej,

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

Krok 6) Konfiguracja hive-site.xml

  • Po Kroku 5 przypisz nazwę użytkownika i hasło do bazy danych MySQL oraz nadaj uprawnienia.
  • Tutaj skonfigurujemy niektóre właściwości w Hive, aby uzyskać połączenie z bazą danych MySQL .

Na powyższym zrzucie ekranu obserwujemy, co następuje. Tutaj definiujemy 4 właściwości, które mogą być niezbędne do ustalenia MYSQL jako magazynu Meta w Hive

Są to następujące:

  1. Ta właściwość służy do celów adresu URL połączenia. Tutaj definiujemy ConnectionURL w tej właściwości. Działa jako połączenie JDBC i reprezentuje również lokalizację metastore
  2. Ta właściwość dotyczy nazwy sterownika połączenia. Tutaj mysql.jdbc.Driver jest szanowaną wartością, o której musimy wspomnieć w tagu value
  3. Ta właściwość służy do definiowania nazwy użytkownika połączenia. W tym przypadku zdefiniowaliśmy „hiveguru” jako nazwę użytkownika
  4. Ta właściwość służy do wymieniania hasła połączenia. W tym przypadku zdefiniowaliśmy hasło jako hasło użytkownika.

Po umieszczeniu właściwości w gałęzi -site.xml musimy ręcznie zapisać (Ctrl + S) i zamknąć plik. Po zamknięciu tego pliku musimy utworzyć tabelę Hive i sprawdzić szczegóły tabeli w magazynie MySQL.

Umieść ten kod w hive-site.xml

hive-site.xml


javax.jdo.option.ConnectionURLjdbc:mysql://localhost/metastore?createDatabaseIfNotExist=truemetadata is stored in a MySQL server
javax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.DriverMySQL JDBC driver class
javax.jdo.option.ConnectionUserNamehiveuseruser name for connecting to mysql server
javax.jdo.option.ConnectionPasswordhivepasswordpassword for connecting to mysql server

Krok 7) Utwórz tabelę „guru99” w Hive.

Na powyższym zrzucie ekranu możemy zauważyć, co następuje

  • Utworzenie nazwy tabeli „guru99” z dwoma nazwami kolumn
  • Nazwy kolumn wymienione z ich typem danych jako jedna to liczba całkowita, a druga to łańcuch

W następnym kroku sprawdzimy, czy jest on przechowywany w MySql, czy nie

Krok 8) Wejście w tryb powłoki MySql

Na powyższym zrzucie ekranu możemy zauważyć, co następuje

  • Najpierw musimy użyć bazy danych jako „użyj metastore”
  • Gdy wybierze meta-store, możemy sprawdzić obecne w nim tabele za pomocą polecenia "show" table, jak pokazano na zrzucie ekranu
  • Niezależnie od tabel utworzonych w programie Hive metadane odpowiadają tym, że tabele są przechowywane w TBLS w bazie danych MySQL.
  • „Tabela Guur99” jest tworzona w Hive, więc odpowiednie metadane są przechowywane w MySQL jako TBLS.

Krok 9) Sprawdzenie, czy utworzona tabela przedstawia MySQL czy nie

Wpisanie select * z TBLS spowoduje wyświetlenie tabel, które utworzyliśmy w trybie powłoki Hive

Na powyższym zrzucie ekranu możemy zaobserwować następujące rzeczy:

  • Nazwa tabeli „guru99”, która została utworzona, to Hive, może być wyświetlana w trybie powłoki MySQL
  • Oprócz tego zapewni również informacje, takie jak czas utworzenia tabeli, czas dostępu i inne właściwości, jak pokazano na powyższym zrzucie ekranu.