Apache Oozie Workflow Scheduler for CDH 4.X: n asentaminen ja määrittäminen RHEL/CentOS 6/5: ssä


Oozie on Hadoopin avoimen lähdekoodin ajoittaja, se yksinkertaistaa työnkulkua ja koordinointia töiden välillä. Voimme määritellä riippuvuuden töiden välillä syötetiedoille ja siten automatisoida työn riippuvuuden ooze-ajastimen avulla.

Tässä opetusohjelmassa olen asentanut Oozien pääsolmuun (ts. pääkäyttäjä isäntänimeksi ja missä namenode/JT on asennettu), mutta tuotantojärjestelmässä oozie tulisi asentaa erilliseen Hadoopiin solmu.

Asennusohjeet on jaettu kahteen osaan, kutsumme sitä A: ksi ja B.

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

Tarkistetaan ensin järjestelmän isäntänimi seuraavalla 'isäntänimi' -komennolla.

 hostname

master

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

Käytämme virallista CDH-arkistoa clouderan sivustolta CDH4: n asentamiseen. Siirry viralliseen CDH-latausosioon ja lataa CDH4 (eli 4.6) -versio. Voit myös ladata seuraavan arkiston ja asentaa sen seuraavalla wget-komennolla.

# 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
# 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ään, voit asentaa Oozie järjestelmään seuraavan komennon avulla.

 yum install oozie

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

 yum install oozie-client

Huomautus: Yllä oleva asennus määrittää myös oozie-palvelun suoritettavaksi järjestelmän käynnistyksen yhteydessä. Hyvää työtä! Asennuksen ensimmäinen osa on valmis, siirrymme nyt toiseen osaan oozien määrittämiseksi.

Menetelmä B: Oozie-kokoonpano RHEL/CentOS 6/5: ssä

Koska oozie ei ole suoraan vuorovaikutuksessa Hadoopin kanssa, emme tarvitse tässä mitään yhdistettyä kokoonpanoa.

Varoitus: Määritä kaikki asetukset, kun oozie ei ole käynnissä, joten sinun on noudatettava alla olevia vaiheita, kun oozie-palvelu ei ole käynnissä.

Ooziella on oletusarvoisesti 'Derby' rakennettu DB: ään, mutta suosittelen, että käytät Mysql DB: tä. Asennetaan siis MySQL-tietokanta seuraavan artikkelin avulla.

  1. Asenna MySQL-tietokanta RHEL/CentOS 6/5 -käyttöjärjestelmään

Kun asennusosa on valmis, siirry seuraavaksi eteenpäin luodaksesi oozie DB: n ja myöntämällä käyttöoikeudet alla olevan kuvan mukaisesti.

 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 Oozien ominaisuudet MySQL: lle. Avaa oozie-site.xml-tiedosto ja muokkaa seuraavia ominaisuuksia kuvan osoittamalla tavalla.

 cd /etc/oozie/conf
 vi oozie-site.xml

Anna seuraavat ominaisuudet (korvaa vain isäntä [oma 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. Suorita näin suorittamalla seuraava vakava komento päätelaitteessa.

 cd /tmp/
 wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.31.tar.gz
 tar -zxf mysql-connector-java-5.1.31.tar.gz	
 cd mysql-connector-java-5.1.31
 cp mysql-connector-java-5.1.31-bin.jar /var/lib/oozie/

Luo oozie-tietokantamalli suorittamalla alla olevat komennot ja huomaa, että tämä on suoritettava oozie-käyttäjänä.

 sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -run
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ä, jotta oozie-verkkokonsoli voidaan ottaa käyttöön. Siirry viralliselle CDH ExtJS -sivulle ja lataa ExtJS version 2.2 kirjastot tai voit ladata paketin seuraavalla komennolla.

 cd /tmp/
 wget http://archive.cloudera.com/gplextras/misc/ext-2.2.zip
 unzip ext-2.2.zip
 mv ext-2.2 /var/lib/oozie/

Käynnistä lopuksi oozie-palvelin suorittamalla seuraavat komennot.

 service oozie status
not running.

 service oozie start

 service oozie status
running

 oozie admin -oozie http://localhost:11000/oozie -status
System mode: NORMAL

Avaa oozie-käyttöliittymä suosikkiselaimellasi ja osoita IP-osoitettasi. Tässä tapauksessa IP-osoitteeni on 192.168.1.129.

http://192.168.1.129:11000

Jos näet tämän käyttöliittymän. Onnittelut!! Oozie on määritetty onnistuneesti.

Tämä menettely on testattu onnistuneesti RHEL/CentOS 6/5 -laitteessa. Tulevissa artikkeleissani aion jakaa kuinka määritellä ja ajoittaa hadoop-töitä oozien kautta. Pysy yhteydessä lisää ja älä unohda kommentoida palautettasi.