oozie4.3.0的安装与配置 + hadoop2.7.3
安装步骤
- mysql的配置
- oozie的安装
- oozie的配置
- oozie的启动与登录
- 常用oozie的命令
创建oozie数据库,创建oozie用户名和密码,并赋值oozie账号登陆oozie数据库的权限。
mysql -u root -proot
create database oozie;
//(设置oozie数据库的访问权限)
grant all privileges on oozie.* to 'oozie'@'%' identified by 'password';
FLUSH PRIVILEGES;
注意要删除msyql中两个空的用户,否则会一直报用户无权限。

2. oozie的安装
2.1 oozie的下载与编译
https://mirrors.tuna.tsinghua.edu.cn/apache/oozie/4.3.0/oozie-4.3.0.tar.gz

官方提供的oozie只是源码,需要自己编译,解压缩,使用以下命令编译:
./mkdistro.sh -Phadoop- -Dhadoop.auth.version=2.7. -Ddistcp.version=2.7. -Dhadoop.version=2.7. -Dsqoop.version=1.4. -DskipTests
编译过程中会有3处错误(点这里参考这篇文章),都是镜像库中包找不到,所以需要自己下载,然后放到本地maven仓库目录下即可。
编译成功后,打包的文件路径为:oozie-4.3.0/distro/target/oozie-4.3.0-distro.tar.gz
2.2 oozie的安装
1) 解压缩包oozie-4.3.0-distro.tar.gz到/usr/local/目录下,然后进入目录oozie-4.3.0,分别解压缩里面的三个压缩包oozie-client-4.3.0.tar.gz、oozie-examples.tar.gz、oozie-sharelib-4.3.0.tar.gz
完成后的文件列表如下:

2) 在hdfs上创建/user/oozie目录,然后将share目录上传到hdfs中的/user/oozie目录。
将mysql驱动和oracle驱动放到share/lib目录下, 后面使用sqoop的时候,会使用hdfs的/user/oozie/share/lib/sqoop/目录下的jar包。
cp ojdbc*.jar /usr/local/oozie-4.3./share/lib/sqoop/
cp mysql-connector-java-5.1.-bin.jar /usr/local/oozie-4.3./share/lib/sqoop/
hdfs dfs -copyFromLocal /usr/local/oozie-4.3./share/ /user/oozie
3) 在/usr/local/oozie目录下创建libext文件夹,然后复制hadoop的lib目录下的文件到/usr/local/oozie/libext下。
ln -s oozie-4.3. oozie
cd oozie
mkdir libext
cp ${HADOOP_HOME}/share/hadoop/*/*.jar libext/
cp ${HADOOP_HOME}/share/hadoop/*/lib/*.jar libext/
添加ext-2.2.zip和mysql驱动包、oracle驱动包到libext
cp ext-2.2.zip /usr/local/oozie/libext/
cp mysql-connector-java-5.1.-bin.jar /usr/local/oozie/libext/
4) 修改oozie-4.3.0/oozie-server/conf/server.xml文件,注释掉下面的记录
<!--<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />-->
5) 打war包
在bin目录下执行命令:
./oozie-setup.sh prepare-war
war文件最终保存在/usr/local/oozie/oozie-server/webapps目录下


3. oozie的配置
3.1 设置环境变量/etc/profile
#180112 oozie path
export OOZIE_HOME=/usr/local/oozie
export PATH=$OOZIE_HOME/bin:$PATH
export OOZIE_CONFIG=/usr/local/oozie/conf
# 这里要注意地址后面要带/oozie,否则报404错误, 踩过的坑只有自己知道痛苦
export OOZIE_URL=http://dwtest-name1:11000/oozie
3.2 修改配置文件/usr/local/oozie/conf/oozie-site.xml
默认conf文件夹下的oozie-site.xml文件都是注释的,需要自己添加以下内容。
<?xml version="1.0"?>
<configuration> <!--
Refer to the oozie-default.xml file for the complete list of
Oozie configuration properties and their default values.
--> <!-- Proxyuser Configuration --> <property>
<name>oozie.service.ProxyUserService.proxyuser.hadoop.hosts</name>
<value>*</value>
<description>
List of hosts the '#USER#' user is allowed to perform 'doAs'
operations. The '#USER#' must be replaced with the username o the user who is
allowed to perform 'doAs' operations. The value can be the '*' wildcard or a list of hostnames. For multiple users copy this property and replace the user name
in the property name.
</description>
</property> <property>
<name>oozie.service.ProxyUserService.proxyuser.hadoop.groups</name>
<value>*</value>
<description>
List of groups the '#USER#' user is allowed to impersonate users
from to perform 'doAs' operations. The '#USER#' must be replaced with the username o the user who is
allowed to perform 'doAs' operations. The value can be the '*' wildcard or a list of groups. For multiple users copy this property and replace the user name
in the property name.
</description>
</property> <!-- 20180110 add -->
<property>
<name>oozie.service.JPAService.create.db.schema</name>
<value>false</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://dwtest-name1:33061/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>password</value>
<description>
DB user password.
IMPORTANT: if password is emtpy leave a 1 space string, the service trims the value,
if empty Configuration assumes it is NULL.
</description>
</property> <property>
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/usr/local/hadoop/etc/hadoop</value>
</property> <property>
<name>oozie.service.HadoopAccessorService.action.configurations</name>
<value>*=/usr/local/hadoop/etc/hadoop</value>
</property> <property>
<name>oozie.service.SparkConfigurationService.spark.configurations</name>
<value>*=/usr/local/spark/conf</value>
</property> <!-- 这里是保存在hdfs上的路径 -->
<property>
<name>oozie.service.WorkflowAppService.system.libpath</name>
<value>/user/oozie/share/lib</value>
</property> <property>
<name>oozie.use.system.libpath</name>
<value>true</value>
<description>
Default value of oozie.use.system.libpath. If user haven't specified =oozie.use.system.libpath=
in the job.properties and this value is true and Oozie will include sharelib jars for workflow.
</description>
</property> <property>
<name>oozie.subworkflow.classpath.inheritance</name>
<value>true</value>
</property> </configuration>
3.3 创建元数据表
在/usr/local/oozie/bin目录下执行以下命令生成sql文件,并创建元数据表
bin/ooziedb.sh create -sqlfile oozie.sql -run

可以在mysql的oozie数据库中看到以下表被创建:

3.4 修改core-site.xml文件(视具体环境设置)
如果调用oozie job的账号与hadoop不一致,则需要修改hadoop的配置文件core-site.xml,添加调用oozie job的用户组,由于我使用的都是hadoop账户,则不需要做任何修改。
修改完后,拷贝到Second name节点。使用以下命令来刷新,不需要重启hadoop集群。
scp core-site.xml hadoop@dwtest-name2:/usr/local/hadoop/etc/hadoop/
hdfs dfsadmin -refreshSuperUserGroupsConfiguration
yarn rmadmin -refreshSuperUserGroupsConfiguration

4. oozie的启动与登录
启动与停止的脚本
bin/oozied.sh start
bin/oozied.sh stop
启动时,显示如下:

登录: http://dwtest-name1:11000/oozie/

不兼容包的删除:
oozie启动后会自动将war包解压生成一个oozie文件夹。
此时需要将/usr/local/oozie/oozie-server/webapps/oozie/WEB-INF/lib中包含hadoop2.6.0版本的包删除或者移走,
否则启动job会提示错误Error, java.lang.NoSuchFieldError: HADOOP_CLASSPATH
5. 常用oozie的命令
|
desc |
command |
|
查看共享库pig包 |
oozie admin -oozie http://localhost:11000/oozie -shareliblist spark |
|
查看共享库 |
oozie admin -oozie http://localhost:11000/oozie -shareliblist |
|
提交任务 |
oozie job -oozie http://localhost:11000/oozie -config job.properties -submit |
|
执行任务 |
oozie job -oozie http://localhost:11000/oozie -config job.properties -run |
|
杀死任务 |
oozie job -oozie http://localhost:11000/oozie -kill jobid |
|
重新运行任务 |
oozie job -oozie http://localhost:11000/oozie -config job.properties -rerun jobid |
|
改变作业参数 |
oozie job -oozie http://localhost:11000/oozie -change jobid -value concurrency=1000;endtime=2018-01-10 |
|
检查作业状态 |
oozie job -oozie http://localhost:11000/oozie -info jobid |
|
查看作业日志 |
oozie job -oozie http://localhost:11000/oozie -log jobid |
|
检查XML是否符合规范 |
oozie calidate myapp/workflow.xml |
help查询:
oozie help calidata //查询所有命令
oozie help admin
oozie help job
oozie4.3.0的安装与配置 + hadoop2.7.3的更多相关文章
- CentOS-7.0.中安装与配置Tomcat-7的方法
安装说明 安装环境:CentOS-7.0.1406安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/down ...
- Solr(5.1.0) 与Tomcat 从0开始安装与配置
1.什么是Solr? Solr是一个基于Lucene的Java搜索引擎服务器.Solr 提供了层面搜索.命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式).它易于安装和配置 ...
- Yii2.0的安装与配置教程
版权声明:本文为博主原创文章,未经博主允许不得转载. PHP版本需求:PHP5.4.0以上,因为Yii2.0基于PHP5.4以上版本进行了完全重写. 目前有两种方法可以安装Yii2.0,一种是安装Co ...
- Win10+vs2012+cuda8.0的安装与配置
安装环境说明:NVDIA GeForce 930M.Intel(R) HD Graphics 520 显卡和cuda需要兼容匹配,我一开始下载的cuda6.5无法安装,所以又重新下了比较新的cuda8 ...
- mongodb 3.0下载安装、配置及mongodb最新特性、基本命令教程详细介绍
mongoDB简介(本文由www.169it.com搜集整理) MongoDB是一个高性能,开源,无模式的文档型数据库,是目前在IT行业非常流行的一种非关系型数据库(NoSql).它在许多场景下可用于 ...
- Apache2.4.34 + php 7.28 + MySQL8.0.12 安装及配置
服务端的学习 Apache2.4.34 的安装及配置 1.基本安装 最新的 Apache 已经不提供 Windows 的安装版本,所以我们这里使用的是解压版 -下载地址:https://www.apa ...
- AndroidStudio3.0的安装和配置笔记
开发Android项目要搭建开发环境.可以选择使用Eclipse安装ADT插件来开发安卓项目,也可以使用谷歌的官方IDE——AndroidStudio3.0. AndroidStudio3.0安装的具 ...
- 怎样在 CentOS 7.0 上安装和配置 VNC 服务器
这是一个关于怎样在你的 CentOS 7 上安装配置 VNC 服务的教程.当然这个教程也适合 RHEL 7 .在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置 VNC ...
- MySql 8.0.12安装、配置
1. 参考:① 菜鸟教程下载安装MySQl ② 8.0.12安装方法 以下是我遇到的问题: 2.执行 mysqd --initialize --console 后,这个时候运行突然报"无法启 ...
随机推荐
- 在 WF 4 中编写自定义控制流活动
在 WF 4 中编写自定义控制流活动 Leon Welicki 控制流是指组织和执行程序中各个指令的方法. 在 Windows Workflow Foundation 4 (WF 4) 中,控制流活动 ...
- [AngularJS] $scope.$watch
/** * Created by Answer1215 on 11/13/2014. */ function MainCtrl($scope){ function isLongEnough (pwd) ...
- data目录和binlog目录搬迁的方法
刚开始安装时使用了默认目录,使用一段时间,数据慢慢变在,发现当前设置的目录空间不够时,就要搬迁数据到另一个目录了 如果全过程使用的是Mysql用户,应该可以正常启动. 如果用的ROOT用户,可能不能正 ...
- Chrome插件-把网页图片上传到七牛空间一
功能:图片上右键,点击上传图片到七牛,把图片上传的指定空间并返回图片URL. Chrome插件本质就是js代码,但是里面有一些限制,比如事件绑定等和普通js的绑定是有区别的,主要是为了安全性考虑. 做 ...
- iOS 去掉tabaar上面的 一条线
iOS 去掉tabaar上面的 一条线 利用一个 1像素高的图片 [[UITabBar appearance] setShadowImage:[UIImage imageNamed:@"tr ...
- 区域医疗移动医疗影像解决方案--基于HTML5的PACS--HTML5图像处理【转】
基于HTML5的PACS--图像伪彩 摘要: 要查看此系统更多的图像处理功能请参考:区域医疗移动医疗影像解决方案--基于HTML5的PACS--HTML5图像处理套用句广告语:哪里不会点哪里,so e ...
- C++(一)——HelloWorld
之前学C.学Python,学的比較多的是Java,作为大家口中更强大的C++,要学学,这次的话,以了解主要的特性和做个小游戏作为目标吧. 1)HelloWorld Eclipse执行C++之Launc ...
- JavaScript操作符
一元操作符 只能操作一个值的操作符叫做一元操作符. 递增和递减操作符 递增和递减操作符遵循下列规则: 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减 1 的操作 ...
- Quercus-基于 Java 的 PHP 框架
Quercus是Caucho公司采用纯Java开发的一个PHP5引擎.基于开源授权协议GPL发布.Quercus自带很多个PHP模块和扩展如 PDF,PDO,MySQL和JSON.可以利用这个引擎在一 ...
- 【laravel54】报错:No supported encrypter found (加密类未找到)
原因:配置环境未生产 key 密钥,直接cmd,进入项目根目录,执行:php artisan key:generate 即可