1.常用的调度框架
1.1 linux crontab
1.1.1 编写一个crontab,每一分钟向/opt/data/cronlogs文件中添加当前时间 crontab -e
1.1.2 查看当前所用的定时任务 crontab -l
1.1.3删除当前的定时任务 crontab -r
1.2 azkaban (https://azkaban.github.io/)
1.3 oozie (http://oozie.apache.org/)
1.4 zeus (https://github.com/michael8335/zeus2) 阿里开源项目
2.安装oozie
2.1 配置oozie对hadoop的使用权限
修改/opt/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop/core-site.xml文件,添加
<!-- 配置oozie的用户代理 -->
<property>
<name>hadoop.proxyuser.yanglin.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.yanglin.groups</name>
<value>*</value>
</property>
2.2 配置hadoop所需jar包
2.2.1 解压/opt/cdh/oozie-4.0.0-cdh5.3.6/oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz
tar -zxf oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz
2.2.2 在oozie安装目录下创建 libext 目录,并将/opt/cdh/oozie-4.0.0-cdh5.3.6/oozie-4.0.0-cdh5.3.6/hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6目录下的所有ja 拷贝到libext目录下
mkdir libext
cp oozie-4.0.0-cdh5.3.6/hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6/* ./libext/
2.2.3 配置oozie使用的hadoop配置文件
修改/opt/cdh/oozie-4.0.0-cdh5.3.6/conf/oozie-site.xml文件
2.3 配置oozie元数据到mysql数据库中
2.3.1 修改/opt/cdh/oozie-4.0.0-cdh5.3.6/conf/oozie-site.xml文件
2.3.2 添加mysql所需要的jar到libext目录中
2.4 生成oozie的war包
bin/oozie-setup.sh prepare-war
出现以下信息表示war生成成功
2.5 添加公用的jar包到hdfs系统
bin/oozie-setup.sh sharelib create -fs hdfs://life-hadoop.life.com:8020 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz
如果出现下面目录,表示jar上传成功
2.6 生成oozie所需的元数据
bin/ooziedb.sh create -sqlfile oozie.sql -run DB Connection
如果mysql中生成以下数据库,表示元素生成完成
2.7 启动oozie
bin/oozied.sh start
查看是否启动成功