扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
安装oozie经历了好长的时间,先是源码包,但是放弃了。。。
成都创新互联公司是一家专业提供弥勒企业网站建设,专注与网站设计、网站建设、H5页面制作、小程序制作等业务。10年已为弥勒众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
然后就是安装的这个CDH版本的,弄了好久,经常报各种错误。
最后整理出来这篇。
这个安装过程同样适用于oozie4.1.0的其他的CDH版本。
先对文件进行下载:
这里使用的是CDH版本的,免编译,看着编译的过程就够了。下载地址:
http://archive.cloudera.com/cdh6/cdh/5/oozie-4.1.0-cdh6.5.2.tar.gz
文件较大,1.6G
还需要下载ExjJS,这是扩展的JavaScript的UI桌面框架。
必须是2.2版本的,这是官网指定的,已经写死在oozied.sh中。下载地址:
http://download.csdn.net/download/feature_09/10015730
安装环境:
redhat5.5,64位虚拟机
hadoop2.6.0-cdh6.5.2
jdk1.8.0_11
一、解压安装oozie
[hadoop@fa01 ~]$ tar -zxvf oozie-4.1.0-cdh6.5.2.tar.gz
[hadoop@fa01 ~]$ cd oozie-4.1.0-cdh6.5.2
二、配置环境变量
[hadoop@fa01 ~]$ vim .bash_profile
export OOZIE_HOME=/home/hadoop/oozie-4.1.0-cdh6.5.2
[hadoop@fa01 ~]$ source .bash_profile
三、还需要配置一下hadoop的core-site文件。
我这里因为之前安hive的时候修改过一次这个内容了,所以没做修改。
如果修改的话,需要重新启动一下hadoop集群。
[hadoop@fa01 hadoop]$ vim core-site.xml
四、创建libext目录
[hadoop@fa01 oozie-4.1.0-cdh6.5.2]$ mkdir libext
五、解压包中的hadooplibs的tar包,并把hadooplibs目录下的内容拷贝到刚刚创建的目录下
[hadoop@fa01 oozie-4.1.0-cdh6.5.2]$ tar -zxvf oozie-hadooplibs-4.1.0-cdh6.5.2.tar.gz
解压后多了一个oozie-4.1.0-cdh6.5.2,这个名字与oozie本身名称是一样的,容易混乱~~~
[hadoop@fa01 oozie-4.1.0-cdh6.5.2]$ cd oozie-4.1.0-cdh6.5.2/hadooplibs/
[hadoop@fa01 hadooplibs]$ cp hadooplib-2.6.0-cdh6.5.2.oozie-4.1.0-cdh6.5.2/* /home/hadoop/oozie-4.1.0-cdh6.5.2/libext/
[hadoop@fa01 hadooplibs]$ cp hadooplib-2.6.0-mr1-cdh6.5.2.oozie-4.1.0-cdh6.5.2/* /home/hadoop/oozie-4.1.0-cdh6.5.2/libext/
官网说了,如果用的是不同的hadoop版本,则需要拷贝hadoop的jar文件到libext/下
六、将之前下载好的ext2.2.zip同样解压到libext/目录下
[hadoop@fa01 ~]$ unzip ExtJS-2.2.zip -d /home/hadoop/oozie-4.1.0-cdh6.5.2/libext
到解压目录看看有没有。
[hadoop@fa01 ~]$ cd oozie-4.1.0-cdh6.5.2/libext/
[hadoop@fa01 libext]$ ls
七、生成war包
[hadoop@fa01 oozie-4.1.0-cdh6.5.2]$ bin/addtowar.sh -inputwar $OOZIE_HOME/oozie.war -outputwar $OOZIE_HOME/oozie-server/webapps/oozie.war -hadoop 2.6.0 $HADOOP_HOME -extjs /home/hadoop/ExtJS-2.2.zip
显示下面这样就成功了。
八、放置JDBC驱动,三个地方+一个HDFS目录
将MySQL的JDBC驱动,放到之前创建的libext/目录下,还有lib/目录下
下载的这个版本的:mysql-connector-java-5.1.43-bin.jar
链接:http://download.csdn.net/download/feature_09/10018454
同时还要修改下权限:
[hadoop@fa01 libext]$ chmod 777 /home/hadoop/oozie-4.1.0-cdh6.5.2/lib/mysql-connector-java-5.1.43-bin.jar
[hadoop@fa01 libext]$ chmod 777 /home/hadoop/oozie-4.1.0-cdh6.5.2/libext/mysql-connector-java-5.1.43-bin.jar
最后!还得配置一个地方!
就是这个目录下/home/hadoop/oozie-4.1.0-cdh6.5.2/oozie-server/webapps/oozie/WEB-INF/lib
这个目录暂时是没有的,在开启实例后,再添加。(第十三步)
[hadoop@fa01 lib]$ cd /home/hadoop/oozie-4.1.0-cdh6.5.2/lib
[hadoop@fa01 lib]$ cp mysql-connector-java-5.1.43-bin.jar /home/hadoop/oozie-4.1.0-cdh6.5.2/oozie-server/webapps/oozie/WEB-INF/lib
[hadoop@fa01 lib]$ ls |grep mysql
mysql-connector-java-5.1.43-bin.jar
关于mysql驱动的jar包,其实,oozie在hdfs上生成share/lib目录后,还要在hdfs的share/lib/lib_timestamp/sqoop下(在第十步hdfs生成的sharelib路径),放置一份mysql的驱动。
放置成功后,还有更新一下sharelib
[hadoop@fa01 lib]$ oozie admin -oozie http://fa01:11000/oozie -sharelibupdate
九、配置conf/oozie-site.xml文件
主要是配置数据库保存源文件。
[hadoop@fa01 conf]$ vim oozie-site.xml
在文件底部添加下面这些内容:
Oozie DataBase Name
Creates Oozie DB.
If set to true, it creates the DB schema if it does not exist. If the DB schema exists is a NOP.
If set to false, it does not create the DB schema. If the DB schema does not exist it fails start up.
JDBC driver class.
JDBC URL.
DB user name.
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.
Comma separated AUTHORITY=HADOOP_CONF_DIR, where AUTHORITY is the HOST:PORT of
the Hadoop service (JobTracker, HDFS). The wildcard '*' configuration is
used when there is no exact match for an authority. The HADOOP_CONF_DIR contains
the relevant Hadoop *-site.xml files. If the path is relative is looked within
the Oozie configuration directory; though the path can be absolute (i.e. to point
to Hadoop client conf/ directories in the local filesystem.
同时,要在MySQL中,创建好用户名和密码。
mysql> create user 'oozie' identified by 'mysql';
mysql> grant all privileges on *.* to 'oozie'@'%' with grant option;
由于版本5不识别%,所以需要重新声明一下主机的地址
mysql> grant all privileges on *.* to oozie@fa01identified by 'mysql';
mysql> flush privileges;
十、在hdfs上创建包
[hadoop@fa01 oozie-4.1.0-cdh6.5.2]$ pwd
/home/hadoop/oozie-4.1.0-cdh6.5.2
[hadoop@fa01 oozie-4.1.0-cdh6.5.2]$ bin/oozie-setup.sh sharelib create -fs hdfs://192.168.20.32:9000 -locallib oozie-sharelib-4.1.0-cdh6.5.2-yarn.tar.gz
十一、给oozie-server赋予权限
[hadoop@fa01 oozie-4.1.0-cdh6.5.2]$ chmod 777 oozie-server -R
[hadoop@fa01 libext]$ chmod 777 ext-2.2 -R
十二、创建数据库脚本,并初始化数据库
[hadoop@fa01 oozie-4.1.0-cdh6.5.2]$ bin/ooziedb.sh create -sqlfile oozie.sql -run DB Connection
之后的显示:
十三、开启oozie的实例
[hadoop@fa01 oozie-4.1.0-cdh6.5.2]$ bin/oozied.sh start
十四、运行oozie
[hadoop@fa01 oozie-4.1.0-cdh6.5.2]$ bin/oozied.sh run &
十五、测试、查看
jps一下,出现Bootstrap就对了三分之一。
继续:出现NORMAL就对了三分之二。
[hadoop@fa01 oozie-4.1.0-cdh6.5.2]$ bin/oozie admin -oozie http://192.168.20.32:11000/oozie -status
System mode: NORMAL
再继续:
登录页面http://192.168.20.32:11000/oozie/,可以正常显示如下页面,就百分之百了。
参考:
http://www.cnblogs.com/zlslch/p/6118431.html
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流