Installer og konfigurer Apache Oozie Workflow Scheduler for CDH 4.X på RHEL/CentOS 6/5


Oozie er en åpen kildekodeplanlegger for Hadoop, den forenkler arbeidsflyt og koordinering mellom jobber. Vi kan definere avhengighet mellom jobber for inndata og kan dermed automatisere jobbavhengighet ved å bruke ooze-planlegger.

I denne opplæringen har jeg installert Oozie på masternoden min (dvs. master som vertsnavn og hvor namenode/JT er installert), men i produksjonssystemet bør oozie installeres på separat Hadoop node.

Installasjonsveiledningen er delt inn i to deler, vi kaller den A og B.

  1. A. Oozie installasjon.
  2. B. Oozie-konfigurasjon.

La oss først bekrefte systemets vertsnavn ved å bruke følgende 'vertsnavn'-kommando.

 hostname

master

Metode A: Oozie-installasjon på RHEL/CentOS 6/5

Vi bruker offisielt CDH-lager fra clouderas nettsted for å installere CDH4. Gå til den offisielle CDH-nedlastingsseksjonen og last ned CDH4 (dvs. 4.6) versjon, eller du kan også bruke følgende wget-kommando for å laste ned depotet og installere det.

# 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

Når du har lagt til CDH-depot under systemet ditt, kan du bruke følgende kommando for å installere Oozie på systemet.

 yum install oozie

Installer nå oozie-klienten (kommandoen over skal dekke klientinstallasjonsdelen, men hvis ikke, prøv under kommandoen).

 yum install oozie-client

Merk: Installasjonen ovenfor konfigurerer også oozie-tjenesten til å kjøre ved systemstart. Godt jobbet! Vi er ferdige med den første delen av installasjonen, la oss nå gå til den andre delen for å konfigurere oozie.

Metode B: Oozie-konfigurasjon på RHEL/CentOS 6/5

Siden oozie ikke samhandler direkte med Hadoop, trenger vi ingen kartlagt konfigurasjon her.

Forsiktig: Vennligst konfigurer alle innstillingene mens oozie ikke kjører, det betyr at du må følge trinnene nedenfor mens oozie-tjenesten ikke kjører.

Oozie har 'Derby' som standard innebygd i DB, men jeg vil anbefale at du bruker Mysql DB. Så la oss installere MySQL-databasen ved å bruke følgende artikkel.

  1. Installer MySQL-database i RHEL/CentOS 6/5

Når du er ferdig med installasjonsdelen, gå videre for å lage oozie DB og gi privilegier som vist nedenfor.

 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

Deretter konfigurerer du Oozie-egenskaper for MySQL. Åpne 'oozie-site.xml'-filen og rediger følgende egenskaper som vist.

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

Skriv inn følgende egenskaper (bare bytt ut master [mitt vertsnavn] med vertsnavnet ditt).

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

Last ned og legg til MySQL JDBC-tilkoblingsdriveren JAR til Oozie lib-katalogen. For å gjøre det, kjør følgende seriøse kommando på terminalen.

 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/

Lag oozie-databaseskjema ved å utføre kommandoene nedenfor og vær oppmerksom på at dette skal kjøres som oozie-bruker.

 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

Du må laste ned ExtJS lib fra internett for å aktivere oozie nettkonsoll. Gå til den offisielle CDH ExtJS-siden, og last ned ExtJS versjon 2.2-biblioteker, eller du kan laste ned pakken ved å bruke følgende kommando.

 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/

Til slutt, start oozie-serveren ved å kjøre følgende kommandoer.

 service oozie status
not running.

 service oozie start

 service oozie status
running

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

Åpne oozie-grensesnittet ved å bruke favorittnettleseren din, og pek på IP-adressen din. I dette tilfellet er IP-en min 192.168.1.129.

http://192.168.1.129:11000

Nå hvis du ser dette brukergrensesnittet. Gratulerer!! Du har konfigurert oozie.

Denne prosedyren har blitt testet på RHEL/CentOS 6/5. I mine kommende artikler kommer jeg til å dele hvordan du konfigurerer og planlegger hadoop-jobber via oozie. Hold kontakten for mer og ikke glem å kommentere tilbakemeldingen din.