Konfigurasi Metastore HIVE dengan MYSQL

Anonim

Mengapa Menggunakan MySQL di Hive sebagai Metastore:

  • Secara default, sarang dilengkapi dengan database derby sebagai metastore.
  • Database derby hanya dapat mendukung satu pengguna aktif pada satu waktu
  • Derby tidak dianjurkan di lingkungan produksi

Jadi solusinya di sini adalah

  • Gunakan MYSQL sebagai penyimpanan Meta di backend untuk menghubungkan banyak pengguna dengan Hive sekaligus
  • MYSQL adalah pilihan terbaik untuk metastore mandiri

Langkah-langkah untuk menginstal dan mengkonfigurasi database MySQL di Hive on Hadoop

Langkah 1) Pada langkah ini, kita akan melakukan dua tugas

  1. Pemasangan mysql-server
  2. Memeriksa server mysql dan prosesnya
  1. Menggunakan perintah sudo apt-get install mysql-server, kita dapat mengunduh server mysql

Instal MySQL seperti yang ditunjukkan pada tangkapan layar

  1. Setelah instalasi berhasil di akhir, MySQL akan berjalan seperti yang ditunjukkan pada gambar di bawah ini

Langkah 2) Memasang Konektor Java MySQL. Ini untuk dependensi java dan tujuan koneksi

Langkah 3) Membuat soft link untuk konektor di direktori lib Hive . Ini untuk soft link antara Java dan MySql.

Langkah 4) Konfigurasi penyimpanan MySql di Hive

  • Ketik MySql -u root -p diikuti dengan kata sandi
  • Di sini -u mewakili nama pengguna root, p menunjukkan kata sandi
  • Setelah memasukkan perintah di atas, pengguna harus memasukkan kata sandi yang valid lalu klik enter
  • Kemudian akan masuk ke mode shell MySql

Langkah 5) Membuat nama pengguna dan kata sandi untuk MySql, memberikan hak istimewa.

Kami harus menjalankan perintah seperti yang ditunjukkan di bawah ini,

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

Langkah 6) Konfigurasi sarang-situs.xml

  • Setelah Langkah 5, tetapkan nama pengguna dan kata sandi ke database MySQL dan berikan hak istimewa.
  • Di sini kita akan mengkonfigurasi beberapa properti di Hive untuk mendapatkan koneksi dengan database MySQL .

Dari tangkapan layar di atas, kami mengamati yang berikut ini. Di sini kami mendefinisikan 4 properti yang mungkin diperlukan untuk menetapkan MYSQL sebagai penyimpanan Meta di Hive

Ini adalah sebagai berikut:

  1. Properti ini untuk tujuan sambungan URL. Di sini kami mendefinisikan ConnectionURL di properti ini. Ini bertindak sebagai koneksi JDBC dan mewakili lokasi metastore juga
  2. Properti ini adalah untuk nama driver koneksi. Di sini mysql.jdbc.Driver adalah nilai yang dihormati yang harus kami sebutkan di tag nilai
  3. Properti ini digunakan untuk menentukan nama Pengguna Koneksi. Dalam hal ini, kami mendefinisikan "hiveguru" sebagai nama pengguna
  4. Properti ini digunakan untuk menyebutkan Kata Sandi Koneksi. Dalam hal ini, kami mendefinisikan kata sandi sebagai kata sandi pengguna.

Setelah properti ditempatkan di sarang -site.xml kita harus menyimpan secara manual (Ctrl + S) dan menutup file. Setelah menutup file ini, kita harus membuat tabel Hive dan memeriksa detail tabel di penyimpanan MySQL.

Tempatkan kode ini di hive-site.xml

sarang-situs.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

Step7) Buat tabel "guru99" di Hive.

Dari tangkapan layar di atas, kita dapat mengamati yang berikut ini

  • Pembuatan nama tabel "guru99" dengan dua nama kolom
  • Nama kolom yang disebutkan dengan tipe datanya sebagai satu adalah integer, dan satu lagi adalah tipe string

Pada langkah selanjutnya, kita akan memeriksa apakah itu disimpan di MySql atau tidak

Langkah 8) Masuk ke mode shell MySql

Dari tangkapan layar di atas, kita dapat mengamati yang berikut ini

  • Pertama kita harus menggunakan database sebagai "gunakan metastore"
  • Setelah memilih toko meta, kita dapat memeriksa tabel yang ada di sini dengan menggunakan perintah "tampilkan" tabel seperti yang ditunjukkan pada tangkapan layar
  • Apapun tabel yang dibuat di Hive, metadata yang sesuai dengan tabel tersebut disimpan di bawah TBLS dalam database MySQL.
  • "Tabel Guur99" dibuat di Hive, sehingga metadata yang sesuai disimpan di MySQL di bawah TBLS.

Langkah 9) Memeriksa apakah tabel yang dibuat menampilkan MySQL atau Tidak

Dengan memasukkan select * dari TBLS, maka akan muncul tabel yang kita buat dalam mode Hive shell

Dari tangkapan layar di atas kita dapat mengamati hal-hal berikut:

  • Nama tabel "guru99" yang dibuat adalah Hive yang dapat ditampilkan dalam mode shell MySQL
  • Selain itu, ini juga akan memberikan informasi seperti waktu pembuatan tabel, waktu akses dan properti lainnya seperti yang ditunjukkan pada tangkapan layar di atas.