Zoeken op website

Installeer en configureer Apache Oozie Workflow Scheduler voor CDH 4.X op RHEL/CentOS 6/5


Oozie is een open source planner voor Hadoop, het vereenvoudigt de workflow en de coördinatie tussen taken. We kunnen de afhankelijkheid tussen taken voor invoergegevens definiëren en zo de taakafhankelijkheid automatiseren met behulp van ooze planner.

In deze tutorial heb ik Oozie geïnstalleerd op mijn masternode (d.w.z. master als hostnaam en waar naamode/JT is geïnstalleerd), maar in het productiesysteem oozie moet op een afzonderlijk Hadoop-knooppunt worden geïnstalleerd.

De installatie-instructies zijn verdeeld in twee delen, we noemen deze A en B.

  1. A. Oozie-installatie.
  2. B. Oozie-configuratie.

Laten we eerst de hostnaam van het systeem verifiëren met behulp van de opdracht ‘hostnaam’.

[root@master]# hostname

master

Methode A: Oozie-installatie op RHEL/CentOS 6/5

We gebruiken de officiële CDH-repository van de site van cloudera om CDH4 te installeren. Ga naar de officiële CDH-downloadsectie en download de CDH4-versie (d.w.z. 4.6), of u kunt ook de volgende wget-opdracht gebruiken om de repository te downloaden en te installeren.

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

Nadat u de CDH-repository aan uw systeem hebt toegevoegd, kunt u de volgende opdracht gebruiken om Oozie op het systeem te installeren.

[root@master ~]# yum install oozie

Installeer nu de oozie-client (het bovenstaande commando zou het installatiegedeelte van de client moeten omvatten, maar als dit niet het geval is, probeer dan het onderstaande commando).

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

Opmerking: de bovenstaande installatie configureert ook de oozie-service zodat deze wordt uitgevoerd bij het opstarten van het systeem. Goed gedaan! We zijn klaar met het eerste deel van de installatie, laten we nu naar het tweede deel gaan om oozie te configureren.

Methode B: Oozie-configuratie op RHEL/CentOS 6/5

Omdat oozie niet rechtstreeks communiceert met Hadoop, hebben we hier geen toegewezen configuratie nodig.

Let op: configureer alle instellingen terwijl oozie niet actief is. Dit betekent dat u de onderstaande stappen moet volgen terwijl de oozie-service niet actief is.

Oozie heeft ‘Derby’ standaard ingebouwd in DB, maar ik zou u aanraden Mysql DB te gebruiken. Laten we dus de MySQL-database installeren met behulp van het volgende artikel.

  1. Installeer MySQL-database in RHEL/CentOS 6/5

Zodra u klaar bent met het installatiegedeelte, gaat u verder om oozie DB te maken en rechten te verlenen, zoals hieronder weergegeven.

[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

Configureer vervolgens Oozie-eigenschappen voor MySQL. Open het bestand ‘oozie-site.xml’ en bewerk de volgende eigenschappen zoals weergegeven.

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

Voer de volgende eigenschappen in (vervang gewoon master [mijn hostnaam] door uw hostnaam).

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

Download en voeg het MySQL JDBC connectiviteitsstuurprogramma JAR toe aan de Oozie lib-map. Om dit te doen, voert u de volgende opdracht uit op de terminal.

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

Maak een oozie-databaseschema door onderstaande opdrachten uit te voeren en houd er rekening mee dat dit moet worden uitgevoerd als oozie-gebruiker.

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

U moet ExtJS lib downloaden van internet om de oozie-webconsole in te schakelen. Ga naar de officiële CDH ExtJS-pagina en download ExtJS versie 2.2 bibliotheken of u kunt het pakket downloaden met de volgende opdracht.

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

Start ten slotte de oozie-server door de volgende opdrachten uit te voeren.

[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

Open de gebruikersinterface van oozie met uw favoriete browser en wijs naar uw IP-adres. In dit geval is mijn IP 192.168.1.129.

http://192.168.1.129:11000

Als u nu deze gebruikersinterface ziet. Gefeliciteerd!! Je hebt oozie succesvol geconfigureerd.

Deze procedure is met succes getest op RHEL/CentOS 6/5. In mijn komende artikelen ga ik delen hoe je hadoop-taken kunt configureren en plannen via oozie. Blijf verbonden voor meer informatie en vergeet niet uw feedback te geven.