Installéieren a konfiguréieren Apache Oozie Workflow Scheduler fir CDH 4.X op RHEL/CentOS 6/5


Oozie ass en Open Source Scheduler fir Hadoop, et vereinfacht Workflow a Koordinatioun tëscht Aarbechtsplazen. Mir kënnen Ofhängegkeet tëscht Aarbechtsplaze fir eng Input Daten definéieren an dofir kann Aarbecht Ofhängegkeet automatiséieren Ooze Scheduler benotzt.

An dësem Tutorial hunn ech Oozie op mengem Master Node installéiert (dh Master als Hostnumm a wou namenode/JT installéiert sinn) awer am Produktiounssystem sollt oozie op getrennten Hadoop installéiert ginn node.

Installatiounsinstruktiounen sinn an zwee Deeler opgedeelt, mir nennen et A a B.

  1. A. Oozie Installatioun.
  2. B. Oozie Configuratioun.

Loosst eis als éischt de System Hostnumm verifizéieren, andeems Dir de Kommando Hostname benotzt.

 hostname

master

Method A: Oozie Installatioun op RHEL/CentOS 6/5

Mir benotzen offiziell CDH Repository vum Cloudera Site fir CDH4 z'installéieren. Gitt op den offiziellen CDH Download Sektioun an luet d'CDH4 (dh 4.6) Versioun erof oder Dir kënnt och folgend wget Kommando benotzen fir de Repository erofzelueden an z'installéieren.

# 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

Eemol hutt Dir CDH Repository ënner Ärem System bäigefüügt, kënnt Dir folgend Kommando benotze fir Oozie um System z'installéieren.

 yum install oozie

Elo, installéiert oozie Client (uewen Kommando soll Client Installatioun Deel Cover awer wann net dann probéieren ënnert Kommando).

 yum install oozie-client

Opgepasst: Déi uewe Installatioun konfiguréiert och den oozie Service fir beim Startup vum System ze lafen. Gutt gemaach! Mir si mam éischten Deel vun der Installatioun gemaach, loosst eis op den zweeten Deel goen fir oozie ze konfiguréieren.

Method B: Oozie Configuratioun op RHEL/CentOS 6/5

Well oozie net direkt mat Hadoop interagéiert, brauche mir keng kartéiert Konfiguratioun hei.

Opgepasst: W.e.g. konfiguréieren all d'Astellunge wärend oozie net leeft, dat heescht datt Dir ënnert Schrëtt verfollegt wann oozie Service net leeft.

Oozie huet 'Derby' als Standard an DB gebaut, awer ech géif recommandéieren datt Dir Mysql DB benotzt. Also, loosst eis MySQL Datebank installéieren mam folgenden Artikel.

  1. Installéiere MySQL Datebank an RHEL/CentOS 6/5

Wann Dir fäerdeg sidd mat der Installatiounsdeel, gitt weider weider fir oozie DB ze kreéieren an Privilegien ze ginn wéi hei ënnendrënner.

 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

Als nächst konfiguréiert Oozie Eegeschafte fir MySQL. Open 'oozie-site.xml' Datei an ännert folgend Eegeschafte wéi gewisen.

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

Gitt folgend Eegeschaften (ersetzt just de Master [meng Hostnumm] mat Ärem Hostnumm).

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

Eroflueden a füügt de MySQL JDBC Konnektivitéit Treiber JAR un Oozie lib Verzeechnes. Fir dat ze maachen, fuert de folgende eeschte Kommando um Terminal.

 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/

Erstellt oozie Datebank Schema andeems Dir ënnert Kommandoen ausféiert an notéiert w.e.g. datt dëst als oozie Benotzer ausgefouert soll ginn.

 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

Dir musst ExtJS lib vum Internet eroflueden fir oozie Webkonsole z'aktivéieren. Gitt op d'offiziell CDH ExtJS Säit, a luet d'ExtJS Versioun 2.2 Bibliothéiken erof oder Dir kënnt de Package eroflueden mat dem folgenden 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/

Endlech, fänkt den oozie Server un, andeems Dir folgend Kommandoen leeft.

 service oozie status
not running.

 service oozie start

 service oozie status
running

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

Open oozie UI Äre Léifsten Browser benotzt, a Punkt op Är IP Adress. An dësem Fall ass meng IP 192.168.1.129.

http://192.168.1.129:11000

Elo wann Dir dës UI gesitt. Gratulatioun!! Dir hutt oozie erfollegräich konfiguréiert.

Dës Prozedur gouf erfollegräich op RHEL/CentOS 6/5 getest. A meng zukünfteg Artikelen wäert ech deelen wéi een Hadoop Jobs iwwer oozie konfiguréieren an plangen. Bleift verbonne fir méi a vergiesst net Äre Feedback ze kommentéieren.