Oozie --入门安装介绍

Oozie的介绍

Oozie是运行在hadoop平台上的一种工作流调度引擎,它可以用来调度与管理hadoop任务,如,MapReduce、Pig等。

oozie的组件介绍

workFlow:工作流,定义工作流任务的执行,主要由一个个的action组成,每个action都是一个任务,在xml中进行配置即可

Coordinator :协作器,可以理解为工作流的协调器,可以将多个工作流协调成一个工作流来进行处理。也是oozie当中的定时任务调度的模块,

Bundle :捆,束。多个Coordinator 的抽象,可以通过bundle将多个Coordinator 进行组装集合起来,形成一个bundle

 

oozie的架构

 

oozie的安装

第一步:修改core-site.xml

修改core-site.xml添加我们hadoop集群的代理用户

cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop

vim  core-site.xml  
<property>

<name>hadoop.proxyuser.root.hosts</name>

<value>*</value>

</property>

<property>

<name>hadoop.proxyuser.root.groups</name>

<value>*</value>

</property>

注意:hadoop的历史任务的服务必须启动,即19888端口可以查看,具体如何配置19888请查看hadoop课程的环境搭建

修改完成之后,记得重启hadoop的hdfs与yarn集群,还要记得启动jobhistory

重启hdfs与yarn集群

cd /export/servers/hadoop-2.6.0-cdh5.14.0

sbin/stop-dfs.sh

sbin/start-dfs.sh

sbin/stop-yarn.sh

sbin/start-yarn.sh

 

第二步:上传oozie的安装包并解压

将oozie的安装包上传到/export/softwares

cd /export/softwares/

tar -zxvf oozie-4.1.0-cdh5.14.0.tar.gz -C ../servers/

 

第三步:解压hadooplibs到oozie平行的目录

cd /export/servers/oozie-4.1.0-cdh5.14.0

tar -zxvf oozie-hadooplibs-4.1.0-cdh5.14.0.tar.gz -C ../

 

第四步:创建libext目录

在oozie的安装路径下创建libext目录

cd /export/servers/oozie-4.1.0-cdh5.14.0

mkdir -p libext

 

第五步拷贝依赖包到libext

拷贝一些依赖包到libext目录下面去

拷贝所有的依赖包

cd /export/servers/oozie-4.1.0-cdh5.14.0

cp -ra hadooplibs/hadooplib-2.6.0-cdh5.14.0.oozie-4.1.0-cdh5.14.0/* libext/

拷贝mysql的驱动包

cp /export/servers/hive-1.1.0-cdh5.14.0/lib/mysql-connector-java-5.1.38.jar /export/servers/oozie-4.1.0-cdh5.14.0/libext/

第六步添加ext-2.2.zip压缩包

拷贝ext-2.2.zip这个包到libext目录当中去

将我们准备好的软件ext-2.2.zip拷贝到libext目录当中去

 

第七步修改oozie-site.xml

cd /export/servers/oozie-4.1.0-cdh5.14.0/conf

vim oozie-site.xml

如果没有这些属性,直接添加进去即可,oozie默认使用的是UTC的时区,我们需要在我们oozie-site.xml当中记得要配置时区为GMT+0800时区

<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://node03.hadoop.com:3306/oozie</value>

    </property>





<property>

<name>oozie.service.JPAService.jdbc.username</name>

<value>root</value>

</property>



    <property>

        <name>oozie.service.JPAService.jdbc.password</name>

        <value>123456</value>

    </property>



<property>

<name>oozie.processing.timezone</name>

<value>GMT+0800</value>

</property>





<property>

<name>oozie.service.ProxyUserService.proxyuser.hue.hosts</name>

        <value>*</value>

    </property>





    <property>   <name>oozie.service.ProxyUserService.proxyuser.hue.groups</name>

        <value>*</value>

    </property>



<property>

        <name>oozie.service.coord.check.maximum.frequency</name>

<value>false</value>

    </property>     





<property>

<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>

        <value>*=/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop</value>

    </property>

第八步:创建mysql数据库

mysql -uroot -p

create database oozie;

 

第九步:上传oozie依赖的jar包到hdfs上面去

上传oozie的解压后目录的yarn.tar.gz到hdfs目录去

bin/oozie-setup.sh  sharelib create -fs hdfs://node01:8020 -locallib oozie-sharelib-4.1.0-cdh5.14.0-yarn.tar.gz

实际上就是将这些jar包解压到了hdfs上面的路径下面去了

第十步:创建oozie的数据库

cd /export/servers/oozie-4.1.0-cdh5.14.0

bin/oozie-setup.sh  db create -run -sqlfile oozie.sql

第十一步:打包项目,生成war包

cd /export/servers/oozie-4.1.0-cdh5.14.0

bin/oozie-setup.sh  prepare-war

 

第十二步:配置oozie的环境变量

vim /etc/profile
export OOZIE_HOME=/export/servers/oozie-4.1.0-cdh5.14.0

export OOZIE_URL=http://node03.hadoop.com:11000/oozie

export PATH=:$OOZIE_HOME/bin:$PATH

source /etc/profile

 

第十三步:启动与关闭oozie服务

启动命令

cd /export/servers/oozie-4.1.0-cdh5.14.0

bin/oozied.sh start

关闭命令

bin/oozied.sh stop

 

第十四步:浏览器页面访问oozie

http://node03:11000/oozie/

 

解决oozie的页面的时区问题:

我们页面访问的时候,发现oozie使用的还是GMT的时区,与我们现在的时区相差一定的时间,所以我们需要调整一个js的获取时区的方法,将其改成我们现在的时区

 

修改js当中的时区问题

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie-server/webapps/oozie

vim oozie-console.js
function getTimeZone() {

    Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

    return Ext.state.Manager.get("TimezoneId","GMT+0800");

}

重启oozie即可

cd /export/servers/oozie-4.1.0-cdh5.14.0

关闭oozie服务

bin/oozied.sh stop

启动oozie服务

bin/oozied.sh start

 

猜你喜欢

转载自blog.csdn.net/weixin_44036154/article/details/106496382