Įdiekite ir sukonfigūruokite „Apache Oozie Workflow Scheduler“, skirtą CDH 4.X, RHEL/CentOS 6/5


Oozie yra atvirojo kodo planavimo priemonė, skirta Hadoop, ji supaprastina darbo eigą ir darbų koordinavimą. Galime apibrėžti įvesties duomenų priklausomybę tarp užduočių, taigi galime automatizuoti užduočių priklausomybę naudodami ooze planuoklį.

Šiame vadove pagrindiniame mazge įdiegiau Oozie (t. y. pagrindinį kaip pagrindinio kompiuterio pavadinimą ir kur yra įdiegtas namenode/JT), tačiau gamybinėje sistemoje oozie turėtų būti įdiegta atskirame Hadoop mazge.

Diegimo instrukcijos suskirstytos į dvi dalis, vadiname A ir B.

  1. A. „Oozie“ diegimas.
  2. B. „Oozie“ konfigūracija.

Pirmiausia patikrinkime sistemos prieglobos pavadinimą naudodami komandą hostname.

[root@master]# hostname

master

A metodas: „Oozie“ diegimas naudojant RHEL/CentOS 6/5

Norėdami įdiegti CDH4, naudojame oficialią CDH saugyklą iš cloudera svetainės. Eikite į oficialų CDH atsisiuntimo skyrių ir atsisiųskite CDH4 (t. y. 4.6) versiją arba taip pat galite naudoti šią komandą wget, kad atsisiųstumėte saugyklą ir ją įdiegtumėte.

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

Kai prie sistemos pridėsite CDH saugyklą, galite naudoti šią komandą, kad įdiegtumėte „Oozie“ sistemoje.

[root@master ~]# yum install oozie

Dabar įdiekite „Oozie“ klientą (aukščiau pateikta komanda turėtų apimti kliento diegimo dalį, tačiau jei ne, išbandykite žemiau esančią komandą).

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

Pastaba: pirmiau įdiegtas diegimas taip pat sukonfigūruoja „Oozie“ paslaugą, kad ji veiktų paleidžiant sistemą. Šaunuolis! Baigėme pirmąją diegimo dalį, pereikime prie antrosios dalies, kad sukonfigūruotume oozie.

B metodas: „Oozie“ konfigūracija naudojant RHEL/CentOS 6/5

Kadangi oozie tiesiogiai nesąveikauja su „Hadoop“, mums čia nereikia jokios susietos konfigūracijos.

Atsargiai: sukonfigūruokite visus nustatymus, kol „oozie“ neveikia. Tai reiškia, kad turite atlikti toliau nurodytus veiksmus, kol „Oozie“ paslauga neveikia.

„Oozie“ yra numatytasis DB įtaisytas „Derby“, tačiau rekomenduočiau naudoti Mysql DB. Taigi, įdiegkime MySQL duomenų bazę naudodami šį straipsnį.

  1. Įdiekite MySQL duomenų bazę RHEL/CentOS 6/5

Baigę diegti, eikite toliau, kad sukurtumėte oozie DB ir suteiktumėte teises, kaip parodyta toliau.

[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

Tada sukonfigūruokite „Oozie“ ypatybes, skirtas „MySQL“. Atidarykite failą oozie-site.xml ir redaguokite toliau nurodytas ypatybes, kaip parodyta.

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

Įveskite šias ypatybes (tiesiog pakeiskite pagrindinį kompiuterį [mano prieglobos serverio pavadinimas] savo prieglobos serverio pavadinimu).

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

Atsisiųskite ir pridėkite MySQL JDBC ryšio tvarkyklę JAR į Oozie lib katalogą. Norėdami tai padaryti, terminale paleiskite šią rimtą komandą.

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

Sukurkite oozie duomenų bazės schemą vykdydami toliau pateiktas komandas ir atkreipkite dėmesį, kad tai turėtų būti paleista kaip oozie vartotojas.

[root@master ~]# sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -run
Pavyzdžio išvestis
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

Turite atsisiųsti ExtJS lib iš interneto, kad įgalintumėte „Oozie“ žiniatinklio konsolę. Eikite į oficialų CDH ExtJS puslapį ir atsisiųskite ExtJS versijos 2.2 bibliotekas arba galite atsisiųsti paketą naudodami šią komandą.

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

Galiausiai paleiskite oozie serverį vykdydami šias komandas.

[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

Atidarykite oozie UI naudodami savo mėgstamą naršyklę ir nukreipkite į savo IP adresą. Šiuo atveju mano IP yra 192.168.1.129.

http://192.168.1.129:11000

Dabar, jei matote šią vartotojo sąsają. Sveikinu!! Sėkmingai sukonfigūravote oozie.

Ši procedūra sėkmingai išbandyta naudojant RHEL/CentOS 6/5. Būsimuose straipsniuose pasidalinsiu, kaip sukonfigūruoti ir suplanuoti hadoop darbus per oozie. Palaikykite ryšį, kad sužinotumėte daugiau, ir nepamirškite komentuoti savo atsiliepimų.