Asenna ja määritä Apache Oozie Workflow Scheduler CDH 4.X:lle RHEL/CentOS 6/5:ssä


Oozie on avoimen lähdekoodin ajastin Hadoopille. Se yksinkertaistaa työnkulkua ja töiden välistä koordinointia. Voimme määrittää syöttötietojen riippuvuuden töiden välillä ja siten automatisoida töiden riippuvuuden ooze-aikataulun avulla.

Tässä opetusohjelmassa olen asentanut Oozie-pääsolmuuni (eli isäntä isäntänimenä ja johon namenode/JT on asennettu), mutta tuotantojärjestelmään oozie tulee asentaa erilliseen Hadoop-solmuun.

Asennusohjeet on jaettu kahteen osaan, kutsumme niitä A ja B.

  1. A. Oozie-asennus.
  2. B. Oozie-määritykset.

Vahvistataan ensin järjestelmän isäntänimi käyttämällä seuraavaa hostname-komentoa.

[root@master]# hostname

master

Tapa A: Oozie-asennus RHEL/CentOS 6/5:een

Käytämme virallista CDH-arkistoa clouderan sivustolta CDH4:n asentamiseen. Siirry viralliseen CDH-latausosioon ja lataa CDH4 (eli 4.6) -versio tai voit myös käyttää seuraavaa wget-komentoa ladataksesi arkiston ja asentaaksesi sen.

RHEL/CentOS 6:ssa
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:ssä
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

Kun olet lisännyt CDH-arkiston järjestelmääsi, voit käyttää seuraavaa komentoa asentaaksesi Oozie järjestelmään.

[root@master ~]# yum install oozie

Asenna nyt oozie client (yllä olevan komennon pitäisi kattaa asiakkaan asennusosa, mutta jos ei, kokeile alla olevaa komentoa).

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

Huomaa: Yllä oleva asennus määrittää myös oozie-palvelun toimimaan järjestelmän käynnistyksen yhteydessä. Hyvää työtä! Asennuksen ensimmäinen osa on valmis, siirrytään nyt toiseen osaan konfiguroidaksesi oozie.

Tapa B: Oozie-määritys RHEL/CentOS 6/5:ssä

Koska oozie ei ole suoraan vuorovaikutuksessa Hadoopin kanssa, emme tarvitse tässä kartoitettuja määrityksiä.

Varoitus: Määritä kaikki asetukset, kun oozie ei ole käynnissä. Tämä tarkoittaa, että sinun on noudatettava alla olevia ohjeita, kun oozie-palvelu ei ole käynnissä.

Ooziessa on DB:ssä oletuksena "Derby", mutta suosittelen käyttämään Mysql DB:tä. Joten asennataan MySQL-tietokanta seuraavan artikkelin avulla.

  1. Asenna MySQL-tietokanta RHEL/CentOS 6/5:een

Kun olet suorittanut asennusosan, siirry seuraavaksi eteenpäin luodaksesi oozie DB:n ja myöntääksesi oikeudet alla kuvatulla tavalla.

[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

Määritä seuraavaksi Oozie-ominaisuudet MySQL:lle. Avaa oozie-site.xml-tiedosto ja muokkaa seuraavia ominaisuuksia kuvan mukaisesti.

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

Anna seuraavat ominaisuudet (korvaa vain isäntä [my isäntänimi] isäntänimelläsi).

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

Lataa ja lisää MySQL JDBC -yhteysohjain JAR Oozie lib -hakemistoon. Voit tehdä tämän suorittamalla seuraavan vakavan komennon terminaalissa.

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

Luo oozie-tietokantaskeema suorittamalla alla olevat komennot ja huomaa, että tämä tulee suorittaa oozie-käyttäjänä.

[root@master ~]# sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -run
Näytelähtö
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

Sinun on ladattava ExtJS lib Internetistä ottaaksesi käyttöön oozie-verkkokonsolin. Siirry viralliselle CDH ExtJS -sivulle ja lataa ExtJS-version 2.2 kirjastot tai voit ladata paketin seuraavalla komennolla.

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

Lopuksi käynnistä oozie-palvelin suorittamalla seuraavat komennot.

[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

Avaa oozie UI suosikkiselaimellasi ja osoita IP-osoitettasi. Tässä tapauksessa IP-osoitteeni on 192.168.1.129.

http://192.168.1.129:11000

Jos nyt näet tämän käyttöliittymän. Onnittelut!! Olet onnistuneesti määrittänyt oozie.

Tämä menettely on onnistuneesti testattu RHEL/CentOS 6/5 -käyttöjärjestelmässä. Tulevissa artikkeleissani aion jakaa, kuinka konfiguroida ja ajoittaa hadoop-töitä oozie-palvelun kautta. Pysy yhteydessä saadaksesi lisää ja älä unohda kommentoida palautettasi.