Wyszukiwanie w witrynie

Zainstaluj i skonfiguruj harmonogram przepływu pracy Apache Oozie dla CDH 4.X w systemie RHEL/CentOS 6/5


Oozie to program planujący typu open source dla Hadoop, który upraszcza przepływ pracy i koordynację między zadaniami. Możemy zdefiniować zależność między zadaniami dla danych wejściowych, a tym samym możemy zautomatyzować zależność zadań za pomocą narzędzia planującego śluz.

W tym samouczku zainstalowałem Oozie na moim węźle głównym (tj. master jako nazwa hosta i gdzie zainstalowano namenode/JT), jednak w systemie produkcyjnym oozie należy zainstalować w oddzielnym węźle Hadoop.

Instrukcje instalacji są podzielone na dwie części, nazywamy je A i B.

  1. A. Instalacja Oozie.
  2. B. Konfiguracja Oozie.

Najpierw zweryfikujmy nazwę hosta systemu, używając następującego polecenia „nazwa hosta”.

[root@master]# hostname

master

Metoda A: Instalacja Oozie na RHEL/CentOS 6/5

Do instalacji CDH4 używamy oficjalnego repozytorium CDH ze strony Cloudera. Przejdź do oficjalnej sekcji pobierania CDH i pobierz wersję CDH4 (tj. 4.6) lub możesz także użyć następującego polecenia wget, aby pobrać repozytorium i zainstalować je.

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

Po dodaniu repozytorium CDH do swojego systemu możesz użyć następującego polecenia, aby zainstalować Oozie w systemie.

[root@master ~]# yum install oozie

Teraz zainstaluj klienta oozie (powyższe polecenie powinno obejmować część instalacji klienta, ale jeśli nie, spróbuj poniższego polecenia).

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

Uwaga: powyższa instalacja konfiguruje również usługę oozie tak, aby działała przy starcie systemu. Dobra robota! Zakończyliśmy pierwszą część instalacji, teraz przejdźmy do drugiej części, aby skonfigurować oozie.

Metoda B: Konfiguracja Oozie w RHEL/CentOS 6/5

Ponieważ oozie nie wchodzi w bezpośrednią interakcję z Hadoopem, nie potrzebujemy tutaj żadnej mapowanej konfiguracji.

Uwaga: skonfiguruj wszystkie ustawienia, gdy usługa oozie nie jest uruchomiona, co oznacza, że musisz wykonać poniższe kroki, gdy usługa oozie nie jest uruchomiona.

Oozie ma domyślnie wbudowaną bazę danych „Derby”, jednak polecam korzystanie z bazy danych Mysql. Zainstalujmy więc bazę danych MySQL, korzystając z poniższego artykułu.

  1. Zainstaluj bazę danych MySQL w RHEL/CentOS 6/5

Po zakończeniu części instalacyjnej przejdź dalej, aby utworzyć oozie DB i przyznać uprawnienia, jak pokazano poniżej.

[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

Następnie skonfiguruj właściwości Oozie dla MySQL. Otwórz plik „oozie-site.xml” i edytuj następujące właściwości, jak pokazano.

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

Wprowadź następujące właściwości (po prostu zamień master [moja nazwa hosta] na swoją nazwę hosta).

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

Pobierz i dodaj sterownik łączności MySQL JDBC JAR do katalogu lib Oozie. Aby to zrobić, uruchom następujące polecenie na terminalu.

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

Utwórz schemat bazy danych oozie, wykonując poniższe polecenia i pamiętaj, że należy go uruchomić jako użytkownik oozie.

[root@master ~]# sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -run
Przykładowe wyjście
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

Musisz pobrać ExtJS lib z Internetu, aby włączyć konsolę internetową oozie. Przejdź na oficjalną stronę CDH ExtJS i pobierz biblioteki ExtJS w wersji 2.2 lub możesz pobrać pakiet za pomocą poniższego polecenia.

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

Na koniec uruchom serwer oozie, uruchamiając następujące polecenia.

[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

Otwórz interfejs użytkownika oozie w swojej ulubionej przeglądarce i wskaż swój adres IP. W tym przypadku mój adres IP to 192.168.1.129.

http://192.168.1.129:11000

Teraz, jeśli zobaczysz ten interfejs użytkownika. Gratulacje!! Pomyślnie skonfigurowałeś oozie.

Ta procedura została pomyślnie przetestowana na RHEL/CentOS 6/5. W nadchodzących artykułach pokażę, jak skonfigurować i zaplanować zadania hadoop za pośrednictwem oozie. Pozostań w kontakcie, aby uzyskać więcej informacji i nie zapomnij skomentować swojej opinii.