Εγκαταστήστε και ρυθμίστε το Apache Oozie Workflow Scheduler για CDH 4.X σε RHEL/CentOS 6/5
Το Oozie είναι ένας προγραμματιστής ανοιχτού κώδικα για το Hadoop, απλοποιεί τη ροή εργασίας και τον συντονισμό μεταξύ των εργασιών. Μπορούμε να ορίσουμε την εξάρτηση μεταξύ εργασιών για δεδομένα εισόδου και ως εκ τούτου μπορούμε να αυτοματοποιήσουμε την εξάρτηση εργασιών χρησιμοποιώντας τον προγραμματιστή ooze.
Σε αυτό το σεμινάριο, έχω εγκαταστήσει το Oozie στον κύριο κόμβο μου (δηλαδή το master ως όνομα κεντρικού υπολογιστή και όπου είναι εγκατεστημένο το namenode/JT), ωστόσο στο σύστημα παραγωγής Το oozie θα πρέπει να εγκατασταθεί σε ξεχωριστό κόμβο Hadoop.
Οι οδηγίες εγκατάστασης χωρίζονται σε δύο μέρη, τα ονομάζουμε A και B.
- A. Εγκατάσταση Oozie.
- B. Διαμόρφωση Oozie.
Ας επαληθεύσουμε πρώτα το όνομα κεντρικού υπολογιστή συστήματος, χρησιμοποιώντας την παρακάτω εντολή όνομα κεντρικού υπολογιστή.
[]# hostname master
Μέθοδος Α: Εγκατάσταση Oozie σε RHEL/CentOS 6/5
Χρησιμοποιούμε επίσημο αποθετήριο CDH από τον ιστότοπο της cloudera για να εγκαταστήσουμε το CDH4. Μεταβείτε στην επίσημη ενότητα λήψης CDH και κατεβάστε την έκδοση CDH4 (δηλαδή 4.6) ή μπορείτε επίσης να χρησιμοποιήσετε την ακόλουθη εντολή wget για να κάνετε λήψη του αποθετηρίου και να το εγκαταστήσετε.
Στο 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
Μόλις προσθέσετε το αποθετήριο CDH στο σύστημά σας, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να εγκαταστήσετε το Oozie στο σύστημα.
[ ~]# yum install oozie
Τώρα, εγκαταστήστε το πρόγραμμα-πελάτη oozie (η παραπάνω εντολή πρέπει να καλύπτει το τμήμα εγκατάστασης του προγράμματος-πελάτη, ωστόσο, αν όχι, δοκιμάστε την παρακάτω εντολή).
[ ~]# yum install oozie-client
Σημείωση: Η παραπάνω εγκατάσταση διαμορφώνει επίσης την υπηρεσία oozie ώστε να εκτελείται κατά την εκκίνηση του συστήματος. Καλή δουλειά! Τελειώσαμε με το πρώτο μέρος της εγκατάστασης τώρα ας περάσουμε στο δεύτερο μέρος για να διαμορφώσουμε το oozie.
Μέθοδος Β: Διαμόρφωση 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 [ conf]# vi oozie-site.xml
Εισαγάγετε τις ακόλουθες ιδιότητες (απλώς αντικαταστήστε το κύριο [my hostname] με το 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>
Κατεβάστε και προσθέστε το πρόγραμμα οδήγησης συνδεσιμότητας JAR MySQL JDBC στον κατάλογο Oozie lib. Για να το κάνετε αυτό, εκτελέστε την ακόλουθη σειρά εντολών στο τερματικό.
[ oozie]# cd /tmp/ [ tmp]# wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.31.tar.gz [ tmp]# tar -zxf mysql-connector-java-5.1.31.tar.gz [ tmp]# cd mysql-connector-java-5.1.31 [ 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
Πρέπει να κάνετε λήψη του ExtJS lib από το διαδίκτυο για να ενεργοποιήσετε την κονσόλα ιστού oozie. Μεταβείτε στην επίσημη σελίδα CDH ExtJS και κατεβάστε τις βιβλιοθήκες ExtJS έκδοσης 2.2 ή μπορείτε να κάνετε λήψη του πακέτου χρησιμοποιώντας την ακόλουθη εντολή.
[ ~]# cd /tmp/ [ tmp]# wget http://archive.cloudera.com/gplextras/misc/ext-2.2.zip [ tmp]# unzip ext-2.2.zip [ tmp]# mv ext-2.2 /var/lib/oozie/
Τέλος, ξεκινήστε τον διακομιστή oozie, εκτελώντας τις ακόλουθες εντολές.
[ tmp]# service oozie status not running. [ tmp]# service oozie start [ tmp]# service oozie status running [ tmp]# 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. Στα επόμενα άρθρα μου, θα μοιραστώ τον τρόπο διαμόρφωσης και προγραμματισμού εργασιών hadoop μέσω του oozie. Μείνετε συνδεδεμένοι για περισσότερα και μην ξεχάσετε να σχολιάσετε τα σχόλιά σας.