在RHEL / CentOS 6/5上为CDH 4.X安装和配置Apache Oozie工作流调度程序

在本教程中,我在我的主节点上安装了Oozie(即master作为主机名),但是在生产系统中oozie应该安装在单独的Hadoop

Oozie的Hadoop的一个开源的调度,它简化了工作流程之间的协调。 我们可以定义输入数据的作业之间的依赖关系,因此可以使用ooze调度程序自动执行作业依赖性。

在Centos和RHEL中安装Oozie

在Centos和RHEL中安装Oozie

在本教程中,我有我的主节点上安装了Oozie(的主机名和namenode的在哪里/安装JT)但是,在生产系统Oozie的应安装独立的Hadoop节点上。

安装说明分为两部分,我们把它称为AB.

  1. A. Oozie的安装。
  2. B. Oozie的配置。

让我们先来验证系统的主机名,使用下面的“ 主机名 ”命令。

[root@master]# hostname
master

方法A:在RHEL / CentOS 6/5上安装Oozie

我们使用cloudera官方站点的CDH存储库来安装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。

[root@master ~]# yum install oozie

现在,安装oozie客户端(上面的命令应该覆盖客户端安装部分,但如果没有,那么尝试下面的命令)。

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

:以上的安装还配置了Oozie服务在系统启动时运行。 做得好! 我们完成了安装的第一部分,现在让我们移动到第二部分来配置oozie。

方法B:RHEL / CentOS 6/5上的Oozie配置

由于oozie不直接与Hadoop交互,我们不需要任何映射配置。

注意 :当Oozie的不运行,请配置所有的设置,这意味着你必须遵循以下步骤,同时Oozie的服务没有运行。

Oozie的有“ 德比 ”作为缺省内置DB不过,我会建议你使用MySQL数据库。 所以,让我们使用下面的文章安装MySQL数据库。

  1. 在RHEL / CentOS 6/5中安装MySQL数据库

一旦完成安装部分,接下来进一步创建oozie DB并授予权限,如下所示。

[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

接下来,配置MySQL的Oozie属性。 打开“Oozie的-site.xml中 ”文件和编辑,如图以下属性。

[root@master ~]# cd /etc/oozie/conf
[root@master 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>

下载并添加MySQLJDBC连接驱动程序JAR到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的Web控制台。 去官方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 UI,并指向您的IP地址。 在这种情况下,我的IP是192.168.1.129。

http://192.168.1.129:11000
Oozie Dashoard

Oozie Dashoard

现在,如果你看到这个UI。 恭喜! 您已成功配置oozie。

这个程序在RHEL / CentOS的6/5测试成功。 在我的即将到来的文章中,我将分享如何通过oozie配置和计划hadoop作业。 保持联系更多,不要忘记评论您的反馈。