RHEL/CentOS 6/5'te CDH 4.X için Apache Oozie İş Akışı Zamanlayıcısını Kurun ve Yapılandırın
Oozie, Hadoop için açık kaynaklı bir planlayıcıdır; iş akışını ve işler arasındaki koordinasyonu basitleştirir. Bir giriş verisi için işler arasındaki bağımlılığı tanımlayabiliriz ve dolayısıyla sızıntı planlayıcısını kullanarak iş bağımlılığını otomatikleştirebiliriz.
Bu eğitimde, üretim sisteminde Oozie'yi ana düğümüme (yani ana bilgisayar adı olarak ana ve namenode/JT'nin kurulu olduğu yer) yükledim. oozie ayrı bir Hadoop düğümüne kurulmalıdır.
Kurulum talimatları iki bölüme ayrılmıştır; buna A ve B diyoruz.
- A. Oozie Kurulumu.
- B. Oozie Yapılandırması.
Öncelikle aşağıdaki 'ana bilgisayar adı' komutunu kullanarak sistem ana bilgisayar adını doğrulayalım.
[root@master]# hostname
master
Yöntem A: RHEL/CentOS 6/5'te Oozie Kurulumu
CDH4'ü yüklemek için cloudera'nın sitesindeki resmi CDH deposunu kullanıyoruz. Resmi CDH indirme bölümüne gidin ve CDH4 (yani 4.6) sürümünü indirin veya depoyu indirip yüklemek için aşağıdaki wget komutunu da kullanabilirsiniz.
RHEL/CentOS 6'da
wget http://archive.cloudera.com/cdh4/one-click-install/redhat/6/i386/cloudera-cdh-4-0.i386.rpm
yum --nogpgcheck localinstall cloudera-cdh-4-0.i386.rpm
wget http://archive.cloudera.com/cdh4/one-click-install/redhat/6/x86_64/cloudera-cdh-4-0.x86_64.rpm
yum --nogpgcheck localinstall cloudera-cdh-4-0.x86_64.rpm
RHEL/CentOS 5'te
wget http://archive.cloudera.com/cdh4/one-click-install/redhat/5/i386/cloudera-cdh-4-0.i386.rpm
yum --nogpgcheck localinstall cloudera-cdh-4-0.i386.rpm
wget http://archive.cloudera.com/cdh4/one-click-install/redhat/5/x86_64/cloudera-cdh-4-0.x86_64.rpm
yum --nogpgcheck localinstall cloudera-cdh-4-0.x86_64.rpm
Sisteminizin altına CDH deposunu ekledikten sonra, Oozie’yi sisteminize kurmak için aşağıdaki komutu kullanabilirsiniz.
[root@master ~]# yum install oozie
Şimdi, oozie istemcisini yükleyin (yukarıdaki komut istemci kurulum bölümünü kapsamalıdır ancak değilse aşağıdaki komutu deneyin).
[root@master ~]# yum install oozie-client
Not: Yukarıdaki kurulum aynı zamanda oozie hizmetini sistem başlangıcında çalışacak şekilde yapılandırır. Aferin! Kurulumun ilk kısmını bitirdik şimdi oozie'yi yapılandırmak için ikinci kısma geçelim.
Yöntem B: RHEL/CentOS 6/5'te Oozie Yapılandırması
Oozie, Hadoop ile doğrudan etkileşime girmediğinden burada herhangi bir eşlenmiş konfigürasyona ihtiyacımız yok.
Dikkat: Lütfen tüm ayarları oozie çalışmıyorken yapılandırın; bu, oozie hizmeti çalışmıyorken aşağıdaki adımları uygulamanız gerektiği anlamına gelir.
Oozie'nin DB'sinde varsayılan olarak "Derby" yerleşiktir ancak Mysql DB'yi kullanmanızı tavsiye ederim. O halde aşağıdaki makaleyi kullanarak MySQL veritabanı kurulumunu yapalım.
- MySQL Veritabanını RHEL/CentOS 6/5'e yükleyin
Kurulum kısmını tamamladıktan sonra, aşağıda gösterildiği gibi oozie DB'yi oluşturmak ve ayrıcalıkları vermek için daha ileri gidin.
[root@master ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.38 MySQL Community Server (GPL) by Remi
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database oozie;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on oozie.* to 'oozie'@'localhost' identified by 'oozie';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on oozie.* to 'oozie'@'%' identified by 'oozie';
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
Daha sonra MySQL için Oozie özelliklerini yapılandırın. 'oozie-site.xml' dosyasını açın ve aşağıdaki özellikleri gösterildiği gibi düzenleyin.
[root@master ~]# cd /etc/oozie/conf
[root@master conf]# vi oozie-site.xml
Aşağıdaki özellikleri girin (ana makine [ana makine adım]'ı ana makine adınızla değiştirmeniz yeterlidir).
<property>
<name>oozie.service.JPAService.jdbc.driver</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.url</name>
<value>jdbc:mysql://master:3306/oozie</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.username</name>
<value>oozie</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.password</name>
<value>oozie</value>
</property>
MySQL JDBC bağlantı sürücüsü JAR'ı indirip Oozie lib dizinine ekleyin. Bunu yapmak için terminalde aşağıdaki ciddi komutu çalıştırın.
[root@master oozie]# cd /tmp/
[root@master tmp]# wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.31.tar.gz
[root@master tmp]# tar -zxf mysql-connector-java-5.1.31.tar.gz
[root@master tmp]# cd mysql-connector-java-5.1.31
[root@master mysql-connector-java-5.1.31]# cp mysql-connector-java-5.1.31-bin.jar /var/lib/oozie/
Aşağıdaki komutları uygulayarak oozie veritabanı şemasını oluşturun ve lütfen bunun oozie kullanıcısı olarak çalıştırılması gerektiğini unutmayın.
[root@master ~]# sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -run
Örnek Çıktı
setting OOZIE_CONFIG=/etc/oozie/conf
setting OOZIE_DATA=/var/lib/oozie
setting OOZIE_LOG=/var/log/oozie
setting OOZIE_CATALINA_HOME=/usr/lib/bigtop-tomcat
setting CATALINA_TMPDIR=/var/lib/oozie
setting CATALINA_PID=/var/run/oozie/oozie.pid
setting CATALINA_BASE=/usr/lib/oozie/oozie-server-0.20
setting CATALINA_OPTS=-Xmx1024m
setting OOZIE_HTTPS_PORT=11443
...
DONE
Oozie DB has been created for Oozie version '3.3.2-cdh4.7.0'
The SQL commands have been written to: /tmp/ooziedb-8250405588513665350.sql
Oozie web konsolunu etkinleştirmek için internetten ExtJS lib'i indirmeniz gerekir. Resmi CDH ExtJS sayfasına gidin ve ExtJS sürüm 2.2 kitaplıklarını indirin veya aşağıdaki komutu kullanarak paketi indirebilirsiniz.
[root@master ~]# cd /tmp/
[root@master tmp]# wget http://archive.cloudera.com/gplextras/misc/ext-2.2.zip
[root@master tmp]# unzip ext-2.2.zip
[root@master tmp]# mv ext-2.2 /var/lib/oozie/
Son olarak aşağıdaki komutları çalıştırarak oozie sunucusunu başlatın.
[root@master tmp]# service oozie status
not running.
[root@master tmp]# service oozie start
[root@master tmp]# service oozie status
running
[root@master tmp]# oozie admin -oozie http://localhost:11000/oozie -status
System mode: NORMAL
Favori tarayıcınızı kullanarak oozie kullanıcı arayüzünü açın ve IP adresinizi işaretleyin. Bu durumda IP adresim 192.168.1.129.
http://192.168.1.129:11000
Şimdi bu kullanıcı arayüzünü görürseniz. Tebrikler!! Oozie'yi başarıyla yapılandırdınız.
Bu prosedür RHEL/CentOS 6/5'te başarıyla test edilmiştir. Gelecek yazılarımda hadoop işlerinin oozie aracılığıyla nasıl yapılandırılacağını ve planlanacağını paylaşacağım. Daha fazlası için bağlantıda kalın ve geri bildiriminize yorum yapmayı unutmayın.