Instal dan Konfigurasikan Penjadwal Alur Kerja Apache Oozie untuk CDH 4.X di RHEL/CentOS 6/5


Oozie adalah penjadwal sumber terbuka untuk Hadoop, yang menyederhanakan alur kerja dan koordinasi antar pekerjaan. Kita dapat menentukan ketergantungan antar pekerjaan untuk data masukan dan karenanya dapat mengotomatiskan ketergantungan pekerjaan menggunakan penjadwal ooze.

Dalam tutorial ini, saya telah menginstal Oozie pada node master saya (yaitu master sebagai nama host dan tempat namenode/JT diinstal) namun dalam sistem produksi oozie harus diinstal pada node Hadoop terpisah.

Petunjuk pemasangan dibagi menjadi dua bagian, kami menyebutnya A dan B.

  1. A. Instalasi Oozie.
  2. B. Konfigurasi Oozie.

Pertama-tama mari kita verifikasi nama host sistem, menggunakan perintah 'nama host' berikut.

[root@master]# hostname

master

Metode A: Instalasi Oozie di RHEL/CentOS 6/5

Kami menggunakan repositori CDH resmi dari situs cloudera untuk menginstal CDH4. Buka bagian pengunduhan CDH resmi dan unduh versi CDH4 (yaitu 4.6) atau Anda juga dapat menggunakan perintah wget berikut untuk mengunduh repositori dan menginstalnya.

Di RHEL/CentOS 6
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
Di RHEL/CentOS 5
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

Setelah Anda menambahkan repositori CDH di sistem Anda, Anda dapat menggunakan perintah berikut untuk menginstal Oozie di sistem.

[root@master ~]# yum install oozie

Sekarang, instal klien oozie (perintah di atas harus mencakup bagian instalasi klien namun jika tidak, coba perintah di bawah).

[root@master ~]# yum install oozie-client

Catatan: Instalasi di atas juga mengonfigurasi layanan oozie untuk dijalankan saat startup sistem. Kerja bagus! Kita telah selesai dengan instalasi bagian pertama, sekarang mari beralih ke bagian kedua untuk mengkonfigurasi oozie.

Metode B: Konfigurasi Oozie di RHEL/CentOS 6/5

Karena oozie tidak berinteraksi langsung dengan Hadoop, kita tidak memerlukan konfigurasi yang dipetakan di sini.

Perhatian: Harap konfigurasikan semua pengaturan saat oozie tidak berjalan, artinya Anda harus mengikuti langkah-langkah di bawah ini saat layanan oozie tidak berjalan.

Oozie memiliki 'Derby' sebagai default bawaan DB, namun saya menyarankan Anda menggunakan DB Mysql. Jadi, mari instal database MySQL menggunakan artikel berikut.

  1. Instal Basis Data MySQL di RHEL/CentOS 6/5

Setelah Anda selesai dengan bagian instalasi, selanjutnya lanjutkan dengan membuat oozie DB dan memberikan hak istimewa seperti yang ditunjukkan di bawah ini.

[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

Selanjutnya, konfigurasikan properti Oozie untuk MySQL. Buka file 'oozie-site.xml' dan edit properti berikut seperti yang ditunjukkan.

[root@master ~]# cd /etc/oozie/conf
[root@master conf]# vi oozie-site.xml

Masukkan properti berikut (ganti saja master [nama host saya] dengan nama host Anda).

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

Unduh dan tambahkan driver konektivitas MySQL JDBC JAR ke direktori lib Oozie. Untuk melakukannya, jalankan perintah serius berikut di terminal.

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

Buat skema database oozie dengan menjalankan perintah di bawah ini dan harap dicatat bahwa ini harus dijalankan sebagai pengguna oozie.

[root@master ~]# sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -run
Contoh Keluaran
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

Anda perlu mengunduh ExtJS lib dari internet untuk mengaktifkan konsol web oozie. Buka halaman resmi CDH ExtJS, dan unduh pustaka ExtJS versi 2.2 atau Anda dapat mengunduh paket menggunakan perintah berikut.

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

Terakhir, mulai server oozie, dengan menjalankan perintah berikut.

[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

Buka oozie UI menggunakan browser favorit Anda, dan arahkan ke alamat IP Anda. Dalam hal ini, IP saya adalah 192.168.1.129.

http://192.168.1.129:11000

Sekarang jika Anda melihat UI ini. Selamat!! Anda telah berhasil mengkonfigurasi oozie.

Prosedur ini telah berhasil diuji pada RHEL/CentOS 6/5. Dalam artikel saya yang akan datang, saya akan membagikan cara mengkonfigurasi dan menjadwalkan pekerjaan hadoop melalui oozie. Tetap terhubung untuk informasi lebih lanjut dan jangan lupa mengomentari masukan Anda.