您的位置:首页 > 运维架构

Oozie学习笔记-安装部署与运行实例

2014-07-13 14:42 549 查看

Oozie安装部署

1.oozie包的编译下载 
oozie-3.0.*版本或者之前的版本是可以离线安装的(例如oozie-3.0.2-distro.tar.gz),在后来往上更高的版本都是需要在线安装的(例如 oozie-3.3.2-distro.tar.gz和oozie-4.0.0-distro.tar.gz等),这个过程需要用到MAVEN工具,在编译的过程中可能会碰到依赖问题,可以修改相关的POM文件。编译之后可以在OOZIE_HOME/distro/target/下找到oozie-3.3.2-distro
或者 oozie-4.0.0-distro,这些就是编译好的版本。
 
2.解压相关tar包 
tar -xzvf oozie-3.3.2-distro.tar.gz 

3. 进入到解压好的目录下面,编辑 bin/addtowar.sh文件,修改相应的hadoop版本支持,4.0.0可以不用修改。 
if [ "${version}" = "0.20.1" ]; then 
    #List is separated by ":" 
    hadoopJars="hadoop*core*.jar" 
elif [ "${version}" = "0.20.2" ]; then 
    #List is separated by ":" 
    hadoopJars="hadoop*core*.jar" 
elif [ "${version}" = "0.20.104" ]; then 
    #List is separated by ":" 
hadoopJars="hadoop*core*.jar:jackson-core-asl-*.jar:jackson-mapper-asl-*.jar" 
elif [ "${version}" = "1.2.1" ]; then 
#List is separated by ":" 
hadoopJars="hadoop*core*.jar:jackson-core-asl-*.jar:jackson-mapper-asl-*.jar:commons-configuration-*.jar" 
修改成需要匹配的hadoop版本 

4. 修改conf/oozie-site.xml文件中的数据库配置,修改相关JPAService选项,也可不修改,使用自带的derby数据库。 
<property> 
        <name>oozie.service.JPAService.create.db.schema</name> 
        <value>true</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://192.168.9.156:3306/oozie</value> 
</property> 
<property> 
     <name>oozie.service.JPAService.jdbc.username</name> 
     <value>oozie</value> 
</property> 
<property> 
     <name>oozie.service.JPAService.jdbc.password</name> 
     <value>oozie</value> 
</property> 

5.在oozie-3.3.2下新建文件夹libext,将mysql驱动包放入其中 

6. oozie-3.3.2版本执行
./bin/oozie-setup.sh -hadoop 1.2.1 ${HADOOP_HOME} -extjs ../ext-2.2.zip,
命令会拷贝hadoop、ext相应的包到oozie的war中,
4.4.0的版本是把相关的hadoop、ext包拷贝到libext下, 执行
./bin/oozie-setup.sh prepare-war 

4.0.0以前版本:

$OOZIE_HOME/bin/oozie-setup.sh -hadoop 2.2.0 ${HADOOP_PREFIX}  -extjs  /ext-2.2.zip

4.0.0版本:

$ bin/oozie-setup.sh prepare-war [-d directory] [-secure]

                     sharelib create -fs <FS_URI> [-locallib <PATH>]

                     sharelib upgrade -fs <FS_URI> [-locallib <PATH>]

                     db create|upgrade|postupgrade -run [-sqlfile <FILE>]     

7.启动oozie 

./bin/oozie-run.sh 或者用 ./bin/oozied.sh run 
在浏览器中查看 http://namenode:11000/oozie 看到相关页面则表示安装成功 
如果在访问过程中报访问拒绝异常,查看hadoop conf/core-site.xml文件是否有以下内容 
<property> 
   <name>hadoop.proxyuser.hadoop.hosts</name> 
   <value>namenode</value> 
</property> 
<property> 
    <name>hadoop.proxyuser.hadoop.groups</name> 
    <value>hadoop</value> 
</property> 

Oozie运行Hadoop

1.解压oozie目录下的oozie-client-3.3.2.tar.gz、oozie-examples.tar.gz、oozie-sharelib-3.3.2.tar.gz 

2.拷贝examples目录到HDFS上面 

hadoop fs –copyFromLocal examples /user/hadoop/ 

3.修改oozie目录下examples/apps/map-reduce/job.properties 

主要是修改NameNode和JobTracker的值 

nameNode=hdfs://centos.master:9000 

jobTracker=centos.master:9001 

4.执行相关命令 

bin/oozie job -oozie http://centos.master:11000/oozie -config ../examples/apps/map-reduce/job.properties -run 

可以修改/etc/profile 

export OOZIE_URL=http://centos.master:11000/oozie 

以后执行就不必在带上 

-oozie http://centos.master:11000/oozie 

Oozie运行Hive 

1.运行Hive需要用到hive-site.xml文件以及对应版本的hive的jar包,于是将hive-site.xml文件和当前所用hive版本下相关的jar包上传到HDFS上面。 

2.修改examples/apps/hive/workflow.xml文件,主要添加对hive-site.xml配置的支持 

<job-xml>${hiveSitePath}</job-xml> 

其中需要注意事项:job-xml顺序 

<xs:sequence> 

    <xs:element name="job-tracker" type="xs:string" minOccurs="1" maxOccurs="1"/> 

    <xs:element name="name-node" type="xs:string" minOccurs="1" maxOccurs="1"/> 

    <xs:element name="prepare" type="hive:PREPARE" minOccurs="0" maxOccurs="1"/> 

    <xs:element name="job-xml" type="xs:string" minOccurs="0" maxOccurs="1"/> 

    <xs:element name="configuration" type="hive:CONFIGURATION" minOccurs="0" maxOccurs="1"/> 

    <xs:element name="script" type="xs:string" minOccurs="1" maxOccurs="1"/> 

    <xs:element name="param" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

    <xs:element name="file" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 

    <xs:element name="archive" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 

</xs:sequence> 

3.修改examples/apps/hive/job.properties文件,在文件中添加相关位置的配置 

hiveSitePath=${nameNode}/user/${user.name}/hive/hive-site.xml 

oozie.libpath=${nameNode}/user/${user.name}/share/lib/hive 

4.执行命令 

bin/oozie job -config ../examples/apps/hive/job.properties -run 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oozie Hadoop Hive