Поиск по сайту:

Установите и настройте планировщик рабочих процессов Apache Oozie для CDH 4.X на RHEL/CentOS 6/5.


Oozie — планировщик с открытым исходным кодом для Hadoop. Он упрощает рабочий процесс и координацию между заданиями. Мы можем определить зависимость между заданиями для входных данных и, следовательно, автоматизировать зависимость заданий с помощью планировщика ooze.

В этом руководстве я установил Oozie на свой главный узел (т. е. master в качестве имени хоста и где установлен namenode/JT), однако в производственной системе. oozie следует установить на отдельный узел Hadoop.

Инструкции по установке разделены на две части, мы называем их A и B.

  1. A. Установка Oozie.
  2. B. Конфигурация Oozie.

Давайте сначала проверим имя хоста системы, используя следующую команду «имя хоста».

[root@master]# hostname

master

Метод А: установка Oozie на RHEL/CentOS 6/5

Для установки CDH4 мы используем официальный репозиторий CDH с сайта Cloudera. Перейдите в официальный раздел загрузки 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 в системе.

[root@master ~]# yum install oozie

Теперь установите клиент oozie (команда выше должна охватывать часть установки клиента, однако если нет, попробуйте команду ниже).

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

Примечание. Приведенная выше установка также настраивает запуск службы oozie при запуске системы. Хорошая работа! Мы закончили с первой частью установки, теперь давайте перейдем ко второй части, чтобы настроить oozie.

Метод Б: настройка Oozie в RHEL/CentOS 6/5

Поскольку oozie не взаимодействует напрямую с Hadoop, нам не нужна никакая отображаемая конфигурация.

Внимание. Настройте все параметры, пока oozie не запущен. Это означает, что вам придется выполнить следующие шаги, пока служба oozie не запущена.

В Oozie по умолчанию встроена БД «Derby», однако я бы рекомендовал вам использовать БД Mysql. Итак, давайте установим базу данных MySQL, используя следующую статью.

  1. Установите базу данных MySQL в RHEL/CentOS 6/5.

Как только вы закончите установку, перейдите дальше, чтобы создать базу данных oozie и предоставить привилегии, как показано ниже.

[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

Затем настройте свойства Oozie для MySQL. Откройте файл «oozie-site.xml» и отредактируйте следующие свойства, как показано.

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

Введите следующие свойства (просто замените master [мое имя хоста] на свое имя хоста).

<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. Для этого выполните на терминале следующую команду:

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

Создайте схему базы данных oozie, выполнив приведенные ниже команды. Обратите внимание, что ее следует запускать от имени пользователя oozie.

[root@master ~]# 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 или загрузите пакет с помощью следующей команды.

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

Наконец, запустите сервер oozie, выполнив следующие команды.

[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

Откройте пользовательский интерфейс oozie с помощью любимого браузера и укажите свой IP-адрес. В данном случае мой IP — 192.168.1.129.

http://192.168.1.129:11000

Теперь, если вы видите этот пользовательский интерфейс. Поздравляем!! Вы успешно настроили oozie.

Эта процедура была успешно протестирована на RHEL/CentOS 6/5. В своих следующих статьях я расскажу, как настраивать и планировать задания Hadoop через oozie. Оставайтесь на связи, чтобы узнавать больше, и не забывайте комментировать свои отзывы.