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.

  1. A. Oozie Kurulumu.
  2. 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.

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