MySQL Neden Metastore Olarak Hive'da Kullanılmalı:
- Varsayılan olarak Hive, metastore olarak derbi veritabanı ile birlikte gelir.
- Derby veritabanı aynı anda yalnızca tek bir aktif kullanıcıyı destekleyebilir
- Üretim ortamında Derby tavsiye edilmez
Yani buradaki çözüm şudur:
- Bir seferde Hive ile birden fazla kullanıcıyı bağlamak için arka uçta Meta depolama olarak MYSQL kullanın
- MYSQL, bağımsız meta depo için en iyi seçimdir
Hadoop'ta Hive'da MySQL veritabanını kurma ve yapılandırma adımları
Adım 1) Bu adımda iki görevi yerine getireceğiz
- Mysql-server kurulumu
- Mysql sunucusunu ve sürecini kontrol etme
- Kullanılması -get apt mysql-server komutunu yüklemek, biz MySQL sunucusunu indirebilirsiniz Sudo
MySQL'i ekran görüntüsünde gösterildiği gibi yükleyin
- Sonunda başarılı bir kurulumun ardından, MySQL aşağıdaki ekran resminde gösterildiği gibi çalışacaktır.
Adım 2) MySQL Java Bağlayıcısını Kurmak. Bu, java bağımlılıkları ve bağlantı amacı içindir
Adım 3) Hive lib dizininde bağlayıcı için yazılım bağlantısı oluşturma . Bu, Java ve MySql arasındaki yumuşak bağlantı içindir.
Adım 4) Hive'da MySql depolamayı yapılandırma
- MySql -u root -p ve ardından şifre yazın
- Burada -u kök kullanıcı adını, p şifreyi gösterir
- Yukarıdaki komutu girdikten sonra, kullanıcının geçerli şifreyi girmesi ve ardından enter tuşuna basması gerekir.
- Ardından MySql kabuk moduna girecek
Adım 5) MySql için kullanıcı adı ve şifre oluşturma, ayrıcalıklar verme.
Komutları aşağıda gösterildiği gibi yürütmeliyiz,
mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword';mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';mysql> flush privileges;
Adım 6) hive-site.xml'yi yapılandırma
- Adım 5'ten sonra MySQL veritabanına kullanıcı adı ve şifre atayın ve verilen ayrıcalıklar.
- Burada, MySQL veritabanıyla bağlantı kurmak için Hive'daki bazı özellikleri yapılandıracağız .
Yukarıdaki ekran görüntüsünden aşağıdakileri gözlemliyoruz. Burada, MYSQL'i Hive'da Meta deposu olarak kurmak için gerekli olabilecek 4 özelliği tanımlıyoruz.
Bunlar aşağıdaki gibidir:
- Bu özellik, bağlantı URL amacı içindir. Burada, bu özellikte ConnectionURL'yi tanımlıyoruz. JDBC bağlantısı ve aynı zamanda metastore konumunu temsil eder
- Bu özellik, Bağlantı sürücüsü adı içindir. Burada mysql.jdbc.Driver, değer etiketinde belirtmemiz gereken saygı duyulan değerdir.
- Bu özellik, Bağlantı Kullanıcı adını tanımlamak için kullanılır. Bunda "hiveguru" yu kullanıcı adı olarak tanımladık
- Bu özellik, Bağlantı Şifresinden bahsetmek için kullanılır. Burada şifreyi kullanıcı şifresi olarak tanımladık.
Özellikler hive -site.xml'ye yerleştirildikten sonra manuel olarak kaydetmeli (Ctrl + S) ve dosyayı kapatmalıyız. Bu dosyayı kapattıktan sonra Hive tablosu oluşturmalı ve MySQL depolamadaki tablo detaylarını kontrol etmeliyiz.
Bu kodu hive-site.xml içine yerleştirin
hive-site.xml
javax.jdo.option.ConnectionURL jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true metadata is stored in a MySQL server javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver MySQL JDBC driver class javax.jdo.option.ConnectionUserName hiveuser user name for connecting to mysql server javax.jdo.option.ConnectionPassword hivepassword password for connecting to mysql server
Adım7 ) Hive'da "guru99" tablosu oluşturun.
Yukarıdaki ekran görüntüsünden aşağıdakileri gözlemleyebiliriz
- İki sütun adıyla "guru99" tablo adının oluşturulması
- Biri tamsayı ve diğeri dize türünde veri türü ile belirtilen sütun adları
Bir sonraki adımda MySql'de saklanıp saklanmadığını kontrol edeceğiz.
Adım 8) MySql kabuk moduna girme
Yukarıdaki ekran görüntüsünden aşağıdakileri gözlemleyebiliriz
- Öncelikle veritabanını "metastore kullan" olarak kullanmalıyız.
- Meta depoyu seçtikten sonra, ekran görüntüsünde gösterildiği gibi "tabloları göster" komutunu kullanarak burada bulunan tabloları kontrol edebiliriz.
- Hive'da oluşturulan tablolar ne olursa olsun, meta veriler MySQL veritabanında TBLS altında depolanan tablolara karşılık gelir.
- Hive'da "Guur99 tablosu" oluşturulur, böylece ilgili meta veriler TBLS altında MySQL'de saklanır.
Adım 9) Oluşturulan tablonun MySQL gösterip göstermediğini kontrol etme
TBLS'den select * girerek, Hive kabuk modunda oluşturduğumuz tabloları görüntüleyecektir.
Yukarıdaki ekran görüntüsünden şu şeyleri gözlemleyebiliriz:
- Oluşturulan "guru99" tablo adı, MySQL kabuk modunda görüntülenebilir
- Bunun yanı sıra, yukarıdaki ekran görüntüsünde gösterildiği gibi tablo oluşturma zamanı, erişilen zaman ve diğer özellikler gibi bilgileri de sağlayacaktır.