这玩意儿装起来真是呕心沥血。
网上找不到编译后的文件,下载下来是源码,大小只有2.27 MB……编译完变成2GB了。
得装mysql
得装maven(这个尤其重要)
得配置hadoop代理等等
/etc/hosts里面的问题尤其无语:
一定记得要进hadoop-master2-namenode-ubuntu.log查看日志,会发现很多exception。这回是非常恶心的问题,装oozie的时候有的教程叫关掉
hosts里面对于ubuntu 127.0.1.1的设置。
结果hadoop说:UnknownHostException: ubuntu: Temporary failure in name resolution 而去掉ubuntu设置,又会导致
上传oozie任务的时候出现:
Connection exception has occurred [ java.net.ConnectException Connection refused (Connection refused) ]. Trying after 1 sec.
Retry count = 1
Connection exception has occurred [ java.net.ConnectException Connection refused (Connection refused) ]. Trying after 2 sec.
Retry count = 2
Connection exception has occurred [ java.net.ConnectException Connection refused (Connection refused) ]. Trying after 4 sec.
Retry count = 3
Connection exception has occurred [ java.net.ConnectException Connection refused (Connection refused) ]. Trying after 8 sec.
Retry count = 4
Error: IO_ERROR : java.io.IOException: Error while connecting Oozie server. No of retries = 4. Exception = Connection
refused (Connection refused)
连接错误,这不是特么冲突么!
OOZIE能够成功启动,用 ./oozie admin -oozie http://localhost:11000/oozie -status 命令检查状态也显示normal,但http://ooziehost:11000/就是不能用,出错如下:
type Exception report
message java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
description The server encountered an internal error that prevented it from fulfilling this request.
因为tomcat出错了,进入oozie-server目录里面的conf目录,修改context.xml文件:
在文件中的context元素下添加
重启tomcat就可以了。( 参考、 参考2)
OOZIE安装教程汇总:
Oozie4.0.1详细安装教程
简单之美,Oozie-3.3.2安装配置运行实践
oozie java api提交作业
oozie:hadoop中的工作流引擎
Hadoop平台上Oozie调度系统的安装配置
Oozie官网Apache文档、 样例文档(包含Java API编程的介绍)
OOZIE安装过程中可能需要使用到的命令:
一、MySQL 连接本地数据库,用户名为“root”,密码“123”(注意:“-p”和“123” 之间不能有空格)
C:\>mysql -h localhost -u root -p123
二、MySQL 连接远程数据库(192.168.0.201),端口“3306”,用户名为“root”,密码“123”
C:\>mysql -h 192.168.0.201 -P 3306 -u root -p123
OOZIE问题汇总:
一、可能由于文件权限引发的问题:
1.1、在主机通过netbeans附带OOZIE的jar包编写了一个oozie调度程序,在连接虚拟机里的oozie服务器的时候,发生Error: E0501 : E0501: Could not perform authorization operation, User: master2 is not allowed to impersonate windowsflash问题。
【解决】在虚拟机里面添加一个叫做windowsflash的账户,其用户组跟master2是一个用户组,即可。添加方法:
useradd 选项 用户名
其中各选项含义如下:
代码:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名 指定新账号的登录名。 —— 参考
1.2、 Oozie build failure Cannot lock storage build/test/data/dfs/name1. The directory is already locked
1.3、 Running an Oozie workflow without having installed the sharelib
1.4、 oozie 调度异常 JA009: Filesystem closed
二、NoXXX等缺包、缺方法的问题
2.1、java.lang.NoSuchMethodError: org.hsqldb.DatabaseURL.parseURL maven runtime问题:
【解决】一怒之下把oozie文件夹里面libext文件夹里面所有跟
hsqldb jar字眼沾边的jar包全删除了,重新生成一遍war:Linux命令$
oozie-setup.sh prepare-war
并部署。( 参考
)
2.2、java.lang.NoClassDefFoundError: org/apache/hadoop/util/ReflectionUtils问题
【解决】把hadoop相应的包拷贝到libext然后重新编译:
Linux命令$
oozie-setup.sh prepare-war