Apache Hive Kurulumu | 12 Adımda Hive Kurulumu | MySQL Metastore

Apache Hive’ ın ne olduğundan önceki yazımda bahsetmiştim. Bugün 12 Adımda sunucunuza Apache Hive Kurulumunu anlatacağım. Hive kurulumundan sonra da MySQL metastore yapılandırması gerçekleştireceğim.

Öncelikle kısaca Hive’ın ne olduğuna tekrar değineyim.

Hive, Hadoop üzerinde  sorgulama ve analiz işlemlerini yapmak amacıyla geliştirilmiş açık kaynak kodlu yazılımdır.

Peki nasıl kuracağız bu Hive’ı?

Bu sorunun yanıtı için aşağıdaki adımları izlemeniz gerekiyor, Hive için  öncelikle bilgisayarınıza veya sunucunuza Hadoop’u kurmanız gerekmekte. Bunun için Hadoop Kurulumu yazımı inceleyebilirsiniz.

Hive kurulumunu olabildiğince açık ve anlaşılır biçimde anlatmaya çalışacağım. Sorun yaşadığınız aşamada Bana Ulaşın panelinden mesaj bırakarak veya aşağıya yorum olarak yazmanız yeterli.

Ben Hive’ı kendi sunucuma kurdum. Configürasyon ayarlarını ona uygun yapacağım. Siz kendi localinize kuracaksanız onun için configürasyon ayarları değişecektir.

Adım 1:  Aşağıdaki linke tıkayın. Ardından kırmızı işaretli linklere tıklayarak resimdeki adımları izleyin.

http://www.apache.org/dyn/closer.cgi/hive/

hive-2.3.0 versionu indireceğiz.

apache-hive-2.3.0-bin.tar.gz dosyasını indirin.


Not: Eğer wget kullanıyorsanız linki kopyala diyerek terminal üzerinden direkt indirebilirsiniz.

Adım 2: Terminal ile Sunucunuza bağlanın.

Hive’ı kurmak istediğiniz dizine girin. Ben kurulum için /usr/local dizinini kullanacağım. Bu dizinin altına önce bir hive klasörü oluşturun.

$ mkdir hive
$ cd /usr/local/hive

Adım 3: Oluşturduğunuz hive klasörünün içine indirdiğiniz apache-hive-2.3.0-bin.tar.gz dosyasını kopyalayın. Bunun için [email protected]‘ den sonra, sucunuIP yazan kısmı dilip kendi sunucunuzun IP adresini yazmalısınız.

$scp ~/Users/gulcanertop/Downloads/apache-hive-2.3.0-bin.tar.gz [email protected]:/usr/local/hive

Adım 4: Kopyaladığınız hive kurulum dosyanızı bu sıkıştırılmış formattan çıkartmamız gerekiyor. Bunun için aşağıdaki komutu yazın.

$ tar zxvf apache-hive-0.14.0-bin.tar.gz
$ ls

Eğer herşey yolundaysa ekranda şunları göreceksiniz:

apache-hive-0.14.0-bin apache-hive-0.14.0-bin.tar.gz

Şimdi diğer ayarlar için hazırsınız.

Adım 5: ~/.bashrc dosyanızı açın ve aşağıdaki satırları ekleyin. Bu satırlar sizin Hive’ı kurduğunuz dizin yolunu tanımlamanızı sağlıyor. Kendi dosya yolunuzu düzgün biçimde yazmaya özen gösterin.(Ben editör olarak nano kullanıyorum, siz farklı bir editörle de açabilirsiniz. )

$ nano ~/.bashrc

şimdi bunları en alta yapıştırın. (Editörden çıkmak için CTRL+X’e basın, ardından ’Y’ yazın ve ENTER a basın.)

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:/usr/local/Hadoop/lib/*:.
export CLASSPATH=$CLASSPATH:/usr/local/hive/lib/*:.

şimdi  ~/.bashrc dosyasını derleyin

$ source ~/.bashrc

Adım 6: Hive’ın congif ayarlarını yapacağız.

apache-hive-0.14.0-bin klasörünün altındaki conf klasöründe hive-env.sh.template dosyası mevcut.

hive-env.sh.template -> hive-env.sh

olarak kopyalayacağız ve yeniden yapılandıracağız

$ cd $HIVE_HOME/conf
$ ls
$ cp hive-env.sh.template hive-env.sh

Şimdi hive-env.sh içine girin

$ nano hive-env.sh

Aşağıdaki komutu yapıştırın.(Buraya mutlaka Hadoop’u kurduğunuz dizinin yolunu(path) yazmalısınız.)

export HADOOP_HOME=/usr/local/hadoop

Kaydedin ve editörden çıkın.

Adım 7: Şimdi Metastore’u yapılandırmak için harici bir veritabanı sunucusuna ihtiyacımız var. Ben bunun için mysql veritabanını kullanıyorum. Size de onu tavsiye ederim.

Aşağıdaki komut ile MySQL’i indirin.

$ sudo apt-get install mysql-server

Adım 8: MySQL Java Connector yükleyeyin.

$ sudo apt-get install libmysql-java

Şimdi Hive dizinin içindeki lib klasörüne Java Connector’ün jar dosyasının linkini verin.

$ ln -s /usr/share/java/mysql-connector-java.jar $HIVE_HOME/lib/mysql-connector-java.jar

Adım 9: $ HIVE_HOME/scripts/metastore/upgrade/mysql dizininde bulunan hive-schema-0.14.0.mysql.sql dosyasını (veya yüklü Hive sürümünüze karşılık gelen dosyayı) kullanarak Başlangıç veritabanı şemasını(Initial database schema)oluşturun.

$ mysql -u root -p

Enter password:

mysql> CREATE DATABASE metastore;
mysql> USE metastore;
mysql> SOURCE $HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-0.14.0.mysql.sql;

Adım 10: Metastore erişirken Hive’ın kullanması için bir MySQL kullanıcı hesabına da ihtiyacınız var. Bu kullanıcı hesabının haricinde başka bir müdehale ile metastore veritabanı şemasındaki tabloların oluşturulmasını veya değiştirilmesini önlemek çok önemlidir.

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

Not: Buradaki oluşturduğunuz hiveuser, ileride hive-site.xml dosyasını yapılandırırken kullanacağımız ConnectionUserName dir.

Dip Not: MySQL’den exit; komutu ile çıkış yapabilirsiniz.

Adım 11: Şimdi de $HIVE_HOME/conf dizinindeki hive-default.xml.template dosyasını kopyalayıp hive-site.xml ismi ile kaydedin.

$ cp $HIVE_HOME/conf/hive-default.xml.template hive-site.xml

Şimdi hive-site.xml’i yapılandıralım.
hive-site.xml’in içinde default değer olarak tanımlı olan propertyleri overrite etmeniz gerekiyor.

<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>

Not: Eğer bu aşamada “com.mysql.jdbc.Driver not found” hatası alırsanız, Adım 8’e gidin ve mysql-java connector jar dosyası için link verebildiğinizden emin olun. Herşey yolunda ise artık Hive’i çalıştırabiliriz.

Adım 12: Hive’ı çalıştırın ve bir tablo yaratın.

$ cd $HIVE_HOME
$ bin/hive

Hive çalıştığında hive> şeklinde görüntülenecek. Şimdi aşağıdaki komutları kullanarak bir tablo yaratalım.

hive> create table kizgibikodla(id int, name string);

Tablomuz tanımlandı. Şuan bunu tabloyu MySQL’de görüntüleyelim.

mysql -u root -p

Enter password:

mysql> use metastore;
mysql> show tables ;

Hive’da oluşturduğunuz metastore şemalarını (veritabanları), MySQL’de aşağıdaki gibi bir query ile görüntüleyebilirsiniz.

mysql> select * from TBLS;

Bu adımdan sonra oluşturduğunuz tablolar burada göüntülenecektir.

İşte Apache Hive’ı kurdunuz!

Soru ve önerileriniz için yorum bırakabilirsiniz.

Keyifli kodlamalar dilerim.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir