ຕິດຕັ້ງແລະ ກຳ ຫນົດຄ່າວາງແຜນ Apache Oozie Workflow ສຳ ລັບ CDH 4.X ໃນ RHEL/CentOS 6/5


Oozie ແມ່ນຜູ້ ກຳ ນົດເວລາເປີດແຫຼ່ງ ສຳ ລັບ Hadoop, ມັນງ່າຍຕໍ່ການເຮັດວຽກແລະການປະສານງານລະຫວ່າງວຽກ. ພວກເຮົາສາມາດ ກຳ ນົດຄວາມເພິ່ງພາອາໄສລະຫວ່າງວຽກ ສຳ ລັບຂໍ້ມູນທີ່ປ້ອນເຂົ້າແລະເພາະສະນັ້ນຈຶ່ງສາມາດອັດຕະໂນມັດການເອື່ອຍອີງຂອງວຽກໂດຍ ນຳ ໃຊ້ຕາຕະລາງເວລາ.

ໃນບົດແນະ ນຳ ນີ້, ຂ້າພະເຈົ້າໄດ້ຕິດຕັ້ງ Oozie ໃສ່ master node ຂອງຂ້ອຍ (ເຊັ່ນ: master ເປັນຊື່ໂຮດແລະບ່ອນທີ່ namenode/JT ຖືກຕິດຕັ້ງ) ເຖິງຢ່າງໃດກໍ່ຕາມໃນລະບົບການຜະລິດ oozie ຄວນຕິດຕັ້ງຢູ່ Hadoop ແຍກຕ່າງຫາກ ຂໍ້.

ຄຳ ແນະ ນຳ ໃນການຕິດຕັ້ງແມ່ນແບ່ງອອກເປັນສອງພາກ, ພວກເຮົາເອີ້ນມັນວ່າ A ແລະ B.

<

  • ກ. ການຕິດຕັ້ງໂອໂຊຊີ.
  • ຂ. ການຕັ້ງຄ່າ Oozie.
  • ໃຫ້ກວດສອບລະບົບ hostname ທຳ ອິດ, ໂດຍໃຊ້ ຄຳ ສັ່ງ ‘hostname’ ຕໍ່ໄປນີ້.

     hostname
    
    master

    ວິທີການ A: ການຕິດຕັ້ງ Oozie ໃນ RHEL/CentOS 6/5

    ພວກເຮົາໃຊ້ຫໍສະ ໝຸດ CDH ຢ່າງເປັນທາງການຈາກເວັບໄຊທ໌ cloudera ເພື່ອຕິດຕັ້ງ CDH4. ໄປທີ່ສ່ວນດາວໂຫລດ CDH ຢ່າງເປັນທາງການແລະດາວໂຫລດຮຸ່ນ CDH4 (i.e. 4.6) ຫຼືທ່ານຍັງສາມາດໃຊ້ ຄຳ ສັ່ງ wget ຕໍ່ໄປນີ້ເພື່ອດາວໂຫລດຫໍສະມຸດແລະຕິດຕັ້ງມັນ.

    # 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

    ເມື່ອໃດທີ່ທ່ານໄດ້ເພີ່ມຫໍສະ ໝຸດ CDH ພາຍໃຕ້ລະບົບຂອງທ່ານ, ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອຕິດຕັ້ງ Oozie ໃນລະບົບ.

     yum install oozie

    ໃນປັດຈຸບັນ, ຕິດຕັ້ງລູກຄ້າ oozie (ຄໍາສັ່ງຂ້າງເທິງຄວນກວມເອົາສ່ວນການຕິດຕັ້ງຂອງລູກຄ້າຢ່າງໃດກໍ່ຕາມຖ້າບໍ່ແມ່ນຫຼັງຈາກນັ້ນພະຍາຍາມຢູ່ລຸ່ມຄໍາສັ່ງ).

     yum install oozie-client

    ໝາຍ ເຫດ: ການຕິດຕັ້ງຂ້າງເທິງນີ້ຍັງ ກຳ ນົດຄ່າບໍລິການ oozie ເພື່ອເຮັດວຽກໃນການເລີ່ມຕົ້ນລະບົບ. ວຽກດີ! ພວກເຮົາ ສຳ ເລັດກັບສ່ວນ ທຳ ອິດຂອງການຕິດຕັ້ງຕອນນີ້ໃຫ້ຍ້າຍໄປສ່ວນທີສອງເພື່ອ ກຳ ນົດຄ່າ oozie.

    ວິທີການ B: ການ ກຳ ນົດຄ່າ Oozie ໃນ RHEL/CentOS 6/5

    ໃນຂະນະທີ່ oozie ບໍ່ພົວພັນໂດຍກົງກັບ Hadoop, ພວກເຮົາບໍ່ ຈຳ ເປັນຕ້ອງມີການຕັ້ງຄ່າແຜນທີ່ຢູ່ບ່ອນນີ້.

    ຂໍ້ຄວນລະວັງ: ກະລຸນາຕັ້ງຄ່າການຕັ້ງຄ່າທັງ ໝົດ ໃນຂະນະທີ່ oozie ບໍ່ເຮັດວຽກ, ນັ້ນ ໝາຍ ຄວາມວ່າທ່ານຕ້ອງເຮັດຕາມຂັ້ນຕອນຂ້າງລຸ່ມນີ້ໃນຂະນະທີ່ການບໍລິການ oozie ບໍ່ເຮັດວຽກຢູ່.

    Oozie ມີ 'Derby' ເປັນຄ່າເລີ່ມຕົ້ນທີ່ສ້າງຂຶ້ນໃນ DB ຢ່າງໃດກໍ່ຕາມ, ຂ້ອຍຂໍແນະ ນຳ ໃຫ້ເຈົ້າໃຊ້ Mysql DB. ສະນັ້ນ, ໃຫ້ຕິດຕັ້ງຖານຂໍ້ມູນ MySQL ໂດຍໃຊ້ບົດຄວາມຕໍ່ໄປນີ້.

    <

  • ຕິດຕັ້ງຖານຂໍ້ມູນ MySQL ໃນ RHEL/CentOS 6/5
  • ເມື່ອທ່ານເຮັດ ສຳ ເລັດກັບພາກສ່ວນການຕິດຕັ້ງ, ໃຫ້ກ້າວຕໍ່ໄປເພື່ອສ້າງ oozie DB ແລະໃຫ້ສິດທິພິເສດດັ່ງຮູບຂ້າງລຸ່ມນີ້.

     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

    ຕໍ່ໄປ, ກຳ ນົດຄຸນສົມບັດ Oozie ສຳ ລັບ MySQL. ເປີດເອກະສານ ‘oozie-site.xml’ ແລະດັດແກ້ຄຸນສົມບັດຕາມທີ່ສະແດງໄວ້.

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

    ໃສ່ຄຸນສົມບັດຕໍ່ໄປນີ້ (ພຽງແຕ່ປ່ຽນແທນແມ່ບົດ [ຊື່ໂຮດຂອງຂ້ອຍ] ກັບຊື່ໂຮດຂອງເຈົ້າ).

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

    ດາວໂຫລດແລະເພີ່ມໂປແກຼມເຊື່ອມຕໍ່ MySQL JDBC JAR ໃສ່ໄດເລກະທໍລີ lib Oozie. ເພື່ອເຮັດແນວນັ້ນ, ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງດັ່ງຕໍ່ໄປນີ້ທີ່ ສຳ ຄັນຢູ່ປາຍຍອດ.

     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/

    ສ້າງລະບົບຖານຂໍ້ມູນ oozie ໂດຍການປະຕິບັດ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ແລະກະລຸນາສັງເກດວ່າສິ່ງນີ້ຄວນຈະຖືກ ດຳ ເນີນການເປັນຜູ້ໃຊ້ oozie.

     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

    ທ່ານ ຈຳ ເປັນຕ້ອງໄດ້ດາວໂຫລດ lib ExtJS ຈາກອິນເຕີເນັດເພື່ອໃຫ້ສາມາດໃຊ້ງານ web console ຂອງ oozie. ໄປທີ່ ໜ້າ CDH ExtJS ຢ່າງເປັນທາງການ, ແລະດາວໂຫລດຫ້ອງສະຫມຸດ ExtJS ຮຸ່ນ 2.2 ຫຼືທ່ານສາມາດດາວໂຫລດແພັກເກັດໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

     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/

    ສຸດທ້າຍ, ເລີ່ມຕົ້ນເຄື່ອງແມ່ຂ່າຍ oozie, ໂດຍການແລ່ນຄໍາສັ່ງຕໍ່ໄປນີ້.

     service oozie status
    not running.
    
     service oozie start
    
     service oozie status
    running
    
     oozie admin -oozie http://localhost:11000/oozie -status
    System mode: NORMAL

    ເປີດ oozie UI ໂດຍໃຊ້ໂປແກຼມທ່ອງເວັບທີ່ທ່ານມັກ, ແລະຊີ້ໄປທີ່ IP ຂອງທ່ານ. ໃນກໍລະນີນີ້ IP ຂອງຂ້ອຍແມ່ນ 192.168.1.129.

    http://192.168.1.129:11000

    ດຽວນີ້ຖ້າທ່ານເຫັນ UI ນີ້ແລ້ວ. ຊົມເຊີຍ !! ທ່ານໄດ້ຕັ້ງຄ່າ oozie ສຳ ເລັດແລ້ວ.

    ຂັ້ນຕອນນີ້ໄດ້ຖືກທົດສອບຢ່າງ ສຳ ເລັດຜົນໃນ RHEL/CentOS 6/5. ໃນບົດຂຽນທີ່ ກຳ ລັງຈະມາເຖິງຂອງຂ້ອຍ, ຂ້ອຍຈະແບ່ງປັນວິທີການ ກຳ ຫນົດແລະ ກຳ ນົດເວລາການຈ້າງງານຜ່ານ oozie ຕິດຕໍ່ໄດ້ຫຼາຍແລະຢ່າລືມໃຫ້ ຄຳ ເຫັນຈາກ ຄຳ ເຫັນຂອງທ່ານ.