I-install ug I-configure ang Apache Oozie Workflow Scheduler para sa CDH 4.X sa RHEL/CentOS 6/5


Ang Oozie usa ka open source scheduler alang sa Hadoop, gipasimple niini ang workflow ug koordinasyon tali sa mga trabaho. Mahimo natong ipasabut ang pagsalig tali sa mga trabaho alang sa usa ka data sa pag-input ug busa mahimo nga awtomatiko ang pagsalig sa trabaho gamit ang ooze scheduler.

Sa kini nga panudlo, akong gi-install ang Oozie sa akong master node (ie master ingon hostname ug kung diin gi-install ang namenode/JT) bisan pa sa sistema sa produksiyon kinahanglan nga i-install ang oozie sa bulag nga Hadoop node.

Ang mga panudlo sa pag-install gibahin sa duha ka bahin, gitawag namon kini nga A ug B.

  1. A. Pag-instalar sa Oozie.
  2. B. Oozie Configuration.

Atong susihon una ang hostname sa sistema, gamit ang pagsunod sa 'hostname' nga mando.

 hostname

master

Pamaagi A: Pag-install sa Oozie sa RHEL/CentOS 6/5

Gigamit namo ang opisyal nga CDH repository gikan sa site sa cloudera aron i-install ang CDH4. Lakaw ngadto sa opisyal nga seksyon sa pag-download sa CDH ug i-download ang bersyon sa CDH4 (ie 4.6) o mahimo usab nimo gamiton ang pagsunod sa wget command aron i-download ang repository ug i-install kini.

# 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

Sa higayon nga, imong gidugang ang CDH repository ubos sa imong sistema, mahimo nimong gamiton ang mosunod nga sugo aron i-install ang Oozie sa sistema.

 yum install oozie

Karon, i-install ang oozie nga kliyente (ibabaw sa sugo kinahanglan nga maglakip sa bahin sa pag-instalar sa kliyente bisan pa kung dili dayon sulayi sa ubos nga sugo).

 yum install oozie-client

Hinumdomi: Ang pag-instalar sa ibabaw nag-configure usab sa serbisyo sa oozie nga modagan sa pagsugod sa sistema. Maayong trabaho! Nahuman na kita sa unang bahin sa pag-instalar karon mobalhin kita sa ikaduhang bahin aron ma-configure ang oozie.

Pamaagi B: Oozie Configuration sa RHEL/CentOS 6/5

Tungod kay ang oozie dili direktang makig-uban sa Hadoop, wala kami magkinahanglan og bisan unsang mapa nga configuration dinhi.

Pagbantay: Palihug i-configure ang tanan nga mga setting samtang ang oozie wala nagdagan, kana nagpasabut nga kinahanglan nimo nga sundon ang mga lakang sa ubos samtang ang serbisyo sa oozie wala nagdagan.

Ang Oozie adunay 'Derby' isip default nga gitukod sa DB bisan pa, akong irekomendar nga gamiton nimo ang Mysql DB. Busa, atong i-install ang MySQL database gamit ang mosunod nga artikulo.

  1. I-install ang MySQL Database sa RHEL/CentOS 6/5

Kung nahuman na nimo ang bahin sa pag-install, sunod nga paglihok aron makahimo og oozie DB ug maghatag mga pribilehiyo sama sa gipakita sa ubos.

 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

Sunod, i-configure ang Oozie properties alang sa MySQL. Ablihi ang 'oozie-site.xml' nga file ug i-edit ang mosunod nga mga kabtangan sama sa gipakita.

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

Pagsulod sa mosunod nga mga kabtangan (ilisan lang ang master [akong hostname] sa imong hostname).

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

I-download ug idugang ang MySQL JDBC connectivity driver JAR sa Oozie lib directory. Aron mahimo kini, pagdagan ang mosunud nga seryoso nga mando sa 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/

Paghimo oozie database schema pinaagi sa pagpatuman sa ubos nga mga sugo ug palihug timan-i nga kini kinahanglan nga ipadagan ingon oozie user.

 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

Kinahanglan nimo nga i-download ang ExtJS lib gikan sa internet aron mahimo ang oozie web console. Adto sa opisyal nga panid sa CDH ExtJS, ug i-download ang ExtJS nga bersyon 2.2 nga mga librarya o mahimo nimong i-download ang package gamit ang mosunod nga sugo.

 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/

Sa katapusan, sugdi ang oozie server, pinaagi sa pagpadagan sa pagsunod sa mga sugo.

 service oozie status
not running.

 service oozie start

 service oozie status
running

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

Ablihi ang oozie UI gamit ang imong paborito nga browser, ug itudlo ang imong IP address. Sa kini nga kaso, ang akong IP mao ang 192.168.1.129.

http://192.168.1.129:11000

Karon kung makita nimo kini nga UI. Congratulations!! Malampuson nimong na-configure ang oozie.

Kini nga pamaagi malampuson nga nasulayan sa RHEL/CentOS 6/5. Sa akong umaabot nga mga artikulo, akong ipaambit kung giunsa ang pag-configure ug pag-iskedyul sa mga trabaho sa hadoop pinaagi sa oozie. Magpabilin nga konektado alang sa dugang ug ayaw kalimot sa pagkomento sa imong feedback.