Oozie 安装过程总结

最近公司要使用hue来作为hadoop图形化用户界面。hue由我一个同事搭建成功,我发现使用hue来创建工作流(workflow)时需要oozie的支持,下面给大家分享一下oozie安装过程总结。

环境说明:

1、CentOS 6.0

2、hadoop 2.6.0

3、oozie 4.1.0

安装oozie的前提条件是已经部署好hadoop集群。

安装步骤:

1、官网下载oozie

http://mirrors.cnnic.cn/apache/oozie/4.1.0/oozie-4.1.0.tar.gz
2、解压后,配置环境变量 ~/.bash_profile
3、安装Oozie Server
   在oozie解压后的文件夹中创建 libext
   mkdir libext
   Oozie Server需要一个js库 ext-2.2.zip 可以到网上下载一下,资源很多。把这个压缩包放在libext下。 然后把hadoop的jar包也都放在libext下
    cp ${HADOOP_HOME}/share/hadoop/*/*.jar libext/
   cp ${HADOOP_HOME}/share/hadoop/*/lib/*.jar libext/
   这里有个大坑,oozie server默认使用tomcat 6.0.41,而hadoop也有内置的server,如果按照上面两个命令把hadoop依赖的jar包都拷贝过去,有可能出现冲突,这两个server使用的servlet、jsp版本很可能不一样。
   删除libext下的以下jar包
   jasper-compiler-5.5.23.jar
   jasper-runtime-5.5.23.jar
   jsp-api-2.1.jar
oozie Server还需要依赖数据库,会把元数据和一些流程信息数据存储在数据库中。我们常用的是mysql,所以需要把mysql的驱动包放在libext中。
然后修改conf/core-site.xml
<property>
    <name>oozie.service.JPAService.create.db.schema</name>
    <value>true</value>
</property>
<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://localhost:3306/oozie?createDatabaseIfNotExist=true</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>
<property>
    <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
    <value>*=/opt/hadoop/etc/hadoop</value>
</property> 
<!-- 下面两个配置是hue用到的-->
<property>
    <name>oozie.service.ProxyUserService.proxyuser.hue.hosts</name>
    <value>*</value>
</property>

<property>
    <name>oozie.service.ProxyUserService.proxyuser.hue.groups</name>
    <value>*</value>
</property>
 
   确保mysql中oozie用户有创建数据库的权限,如果不放心,我们可以先创建出来:
   create database oozie;
   grant all privileges on oozie.* to oozie@'%' identified by 'oozie';
   FLUSH PRIVILEGES;

     上面的配置中,指定了hadoop配置文件位置:*=/opt/hadoop/etc/hadoop,这里的*=不能少,你根据实际情况修改你的hadoop路径即可。

    上面的步骤完成后,就可以生产server的war包了:

   bin/oozie-setup.sh prepare-war
   当看到 INFO: Oozie is ready to be started 证明执行成功
   在oozie启动之前我们还需要把下面的命令执行以下。
   bin/oozie-setup.sh sharelib create -fs hdfs://<namenode-hostname>:8020
   将hadoop的jar包上传到hdfs上。  
   在开启server之前我们要对core-site.xml做以下修改。
   <property>
      <name>hadoop.proxyuser.oozie.hosts</name>
      <value>*</value>
   </property>
   <property>
      <name>hadoop.proxyuser.oozie.groups</name> 
      <value>*</value> 
   </property>
 
上面的这两个配置是对hadoop的伪装功能,执行以下命令,可以不用重启hadoop集群
hdfs dfsadmin -refreshSuperUserGroupsConfiguration
yarn rmadmin –refreshSuperUserGroupsConfiguration
最后启动 bin/oozied.sh start 如果看到下图,说明oozie安装成功,恭喜。
image
 
posted @ 2016-11-03 14:33  David_cheng  阅读(659)  评论(0编辑  收藏  举报