Instalirajte i konfigurirajte Apache Oozie Workflow Scheduler za CDH 4.X na RHEL/CentOS 6/5


Oozie je planer otvorenog koda za Hadoop, pojednostavljuje radni tok i koordinaciju između poslova. Možemo definirati ovisnost između poslova za ulazne podatke i stoga možemo automatizirati ovisnost posla koristeći planer ooze.

U ovom tutorijalu, instalirao sam Oozie na moj glavni čvor (tj. master kao ime hosta i gdje su namenode/JT instalirani) međutim u proizvodnom sistemu oozie treba instalirati na zasebnom Hadoop čvoru.

Uputstva za instalaciju podijeljena su u dva dijela, zovemo ih A i B.

  1. A. Oozie instalacija.
  2. B. Oozie konfiguracija.

Prvo provjerimo sistemsko ime hosta, koristeći sljedeću naredbu „hostname“.

[root@master]# hostname

master

Metoda A: Oozie instalacija na RHEL/CentOS 6/5

Za instalaciju CDH4 koristimo službeni CDH repozitorijum sa clouderinog sajta. Idite na zvanični odjeljak za preuzimanje CDH i preuzmite CDH4 (tj. 4.6) verziju ili također možete koristiti sljedeću naredbu wget da preuzmete spremište i instalirate ga.

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

Nakon što dodate CDH spremište pod vaš sistem, možete koristiti sljedeću naredbu da instalirate Oozie na sistem.

[root@master ~]# yum install oozie

Sada instalirajte oozie client (gornja naredba bi trebala pokriti dio instalacije klijenta, ali ako ne, pokušajte ispod naredbe).

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

Napomena: Gornja instalacija također konfigurira uslugu oozie za pokretanje pri pokretanju sistema. Dobar posao! Završili smo s prvim dijelom instalacije, sada prijeđimo na drugi dio da konfigurišemo oozie.

Metoda B: Oozie konfiguracija na RHEL/CentOS 6/5

Kako oozie nema direktnu interakciju s Hadoop-om, ovdje nam nije potrebna nikakva mapirana konfiguracija.

Oprez: Konfigurišite sve postavke dok oozie nije pokrenut, što znači da morate slijediti donje korake dok usluga oozie nije pokrenuta.

Oozie ima 'Derby' kao zadanu ugrađenu DB, međutim, preporučio bih vam da koristite Mysql DB. Dakle, instalirajmo MySQL bazu podataka koristeći sljedeći članak.

  1. Instalirajte MySQL bazu podataka u RHEL/CentOS 6/5

Kada završite s instalacijskim dijelom, sljedeći korak dalje da kreirate oozie DB i dodijelite privilegije kao što je prikazano ispod.

[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

Zatim konfigurirajte Oozie svojstva za MySQL. Otvorite datoteku „oozie-site.xml“ i uredite sljedeća svojstva kao što je prikazano.

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

Unesite sljedeća svojstva (samo zamijenite master [my hostname] with your hostname).

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

Preuzmite i dodajte MySQL JDBC upravljački program za povezivanje JAR u Oozie lib direktorij. Da biste to učinili, pokrenite sljedeću ozbiljnu naredbu na terminalu.

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

Kreirajte oozie shemu baze podataka izvršavanjem naredbi ispod i imajte na umu da ovo treba pokrenuti kao oozie korisnik.

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

Morate preuzeti ExtJS lib sa interneta da omogućite oozie web konzolu. Idite na zvaničnu CDH ExtJS stranicu i preuzmite ExtJS biblioteke verzije 2.2 ili možete preuzeti paket koristeći sljedeću naredbu.

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

Konačno, pokrenite oozie server, pokretanjem sljedećih naredbi.

[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

Otvorite oozie UI koristeći svoj omiljeni pretraživač i pokažite na svoju IP adresu. U ovom slučaju, moj IP je 192.168.1.129.

http://192.168.1.129:11000

Sada ako vidite ovo korisničko sučelje. Congratulations!! Uspješno ste konfigurirali oozie.

Ova procedura je uspješno testirana na RHEL/CentOS 6/5. U svojim nadolazećim člancima ću podijeliti kako konfigurirati i zakazati hadoop poslove putem oozie-a. Ostanite povezani za više i ne zaboravite komentirati svoje povratne informacije.