阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hadoop平台上Oozie调度系统的安装配置

111次阅读
没有评论

共计 6691 个字符,预计需要花费 17 分钟才能阅读完成。

OOZIE 是 Hadoop 平台上的开源调度工具,在项目中使用 OOZIE 将近一年时间了,OOZIE 的安装配置还是挺复杂的。为了使用起来方便顺手,需要进行很多配置。下面整理了一下 OOZIE 安装配置的步骤,供使用 Hadoop 和 OOZIE 的童鞋们参考,也方便自己查看。

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm
 
1    解压安装包
 
tar -xzf oozie-3.3.2-distro.tar.gz
 
2    修改 addtowar.sh 脚本
 
由于 OOZIE 声明支持的 Hadoop 版本不包括 1.0.4,而实际上是可以和 Hadoop-1.0.4 配合工作的。所以需要修改 $OOZIE_HOME/bin 下的 addtowar.sh 脚本,在 function getHadoopJars()的最后增加:
 
elif [“${version}” = “1.0.4” ]; then
 
    #List is separated by “:” 

hadoopJars=”hadoop-ant-1.0.4.jar:hadoop-client-1.0.4.jar:hadoop-core-1.0.4.jar:hadoop-minicluster-1.0.4.jar:hadoop-tools-1.0.4.jar:jackson-core-asl-1.8.8.jar:jackson-mapper-asl-1.8.8.jar:log4j-1.2.15.jar: commons-configuration-1.6.jar”
 
3    拷贝所需依赖
 
因为 OOZIE 需要将所有的依赖打成 War 包部署到内置的 Tomcat 上,所以需要将相应 Jar 包和 ExtJS 拷贝至 $OOZIE_HOME/libext 目录下,包括以下依赖:

4    环境变量设置
 
vi ~/.bash_profile
 
添加
 
export OOZIE_URL=http://localhost:11000/oozie/
 
export OOZIE_HOME=/home/hadoop/oozie-3.3.2
 
 
 
PATH 中添加:$OOZIE_HOME/bin
 
5    代理设置
 
如果不进行代理设置的话,提交任务时会遇到类似的报错:
 
hadoop is not allowed to impersonate hadoop
 
翻译过来意思是 hadoop 不允许模仿 hadoop,也就是说 hadoop 没有代替 hadoop 提交任务的权限。
 
出现这个问题的原因在于 OOZIE 本身并不执行任何任务,也不会分发任务至 Tasktracker。OOZIE 和 Hadoop 集群唯一的交互是向 Jobtracker 提交任务,并通过回调 URL 或轮询的方式获取任务执行情况。
 
我们假定 Hadoop 集群安装在 A 账户下,OOZIE 安装在某节点的 B 账户下,该账户属于 C 用户组。那么代理设置表示如下含义:A 账户在该节点拥有代替 C 用户组提交任务的权限。
 
在 core-site.xml 中添加
 
        <!– OOZIE –>
 
        <property>
 
                <name>hadoop.proxyuser.hadoop.hosts</name>
 
                <value>IP</value>
 
        </property>
 
        <property>
 
                <name>hadoop.proxyuser.hadoop.groups</name>
 
                <value>hadoop</value>
 
        </property>
 
在配置项中,hadoop.proxyuser.hadoop.hosts 和 hadoop.proxyuser.hadoop.groups 中的两个 hadoop 是我们上文提到的账户 A,hadoop.proxyuser.hadoop.hosts 对应的 value 需要填写 OOZIE 安装节点的 IP,hadoop.proxyuser.hadoop.groups 对应的 value 需要填写我们上文提到的用户组 C。
 
由于一般 Hadoop 和 OOZIE 都安装在 hadoop 账户下,而 hadoop 账户又属于 hadoop 用户组。所以就出现了这种搞笑的配置,hadoop 代替 hadoop 提交任务。
 
注意由于该配置项是在 core-site.xml,所以修改该配置后,需要重启集群才能生效。
 
6    时区设置
 
时区设置的目的是在配置中使用东八区时间。
 
在 oozie-site.xml 中添加:
 
  <!– timezone configuration –>
 
  <property>
 
        <name>oozie.processing.timezone</name>
 
        <value>GMT+0800</value>
 
    </property>
 
7    端口号设置
 
如需修改端口号,在 $OOZIE_HOME/conf/oozie-env.sh 中修改端口号,防止端口冲突。默认端口号为 11000。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-04/100382p2.htm

8 数据库设置

OOZIE 使用 RDBMS 存储元信息,默认使用 Apache 的嵌入式纯 Java 数据库 Derby。使用时可能出现问题,推荐使用 Mysql,配置如下:

<property>

<name>oozie.db.schema.name</name>

<value>oozie</value>

<description>

Oozie DataBase Name

</description>

</property>

<property>

<name>oozie.service.JPAService.create.db.schema</name>

<value>true</value>

<description>

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.

</description>

</property>

<property>

<name>oozie.service.JPAService.jdbc.driver</name>

<value>com.mysql.jdbc.Driver</value>

<description>

JDBC driver class.

</description>

</property>

<property>

<name>oozie.service.JPAService.jdbc.url</name>

<value>jdbc:mysql://localhost:3306/oozie?createDatabaseIfNotExist=true</value>

<description>

JDBC URL.

</description>

</property>

<property>

<name>oozie.service.JPAService.jdbc.username</name>

<value>root</value>

<description>

DB user name.

</description>

</property>

<property>

<name>oozie.service.JPAService.jdbc.password</name>

<value>abc</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>

9 运行 oozie-setup.sh

$OOZIE_HOME/bin/oozie-setup.sh -Hadoop 1.0.4 /home/hadoop/hadoop -extjs /home/hadoop/oozie-3.3.2/libext/

10 创建数据库

$OOZIE_HOME/bin/ooziedb.sh create -sqlfile oozie.sql -run

11 运行 oozie-start.sh

$OOZIE_HOME/bin/oozie-start.sh

12 运行 oozie-run.sh

nohup /home/hadoop/oozie-3.3.2/bin/oozie-run.sh > /home/hadoop/oozie-3.3.2/logs/log 2>/home/hadoop/oozie-3.3.2/logs/errorlog &

13 验证 oozie 的状态正常

oozie admin -oozie http://IP:11000/oozie -status

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

OOZIE 是 Hadoop 平台上的开源调度工具,在项目中使用 OOZIE 将近一年时间了,OOZIE 的安装配置还是挺复杂的。为了使用起来方便顺手,需要进行很多配置。下面整理了一下 OOZIE 安装配置的步骤,供使用 Hadoop 和 OOZIE 的童鞋们参考,也方便自己查看。

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm
 
1    解压安装包
 
tar -xzf oozie-3.3.2-distro.tar.gz
 
2    修改 addtowar.sh 脚本
 
由于 OOZIE 声明支持的 Hadoop 版本不包括 1.0.4,而实际上是可以和 Hadoop-1.0.4 配合工作的。所以需要修改 $OOZIE_HOME/bin 下的 addtowar.sh 脚本,在 function getHadoopJars()的最后增加:
 
elif [“${version}” = “1.0.4” ]; then
 
    #List is separated by “:” 

hadoopJars=”hadoop-ant-1.0.4.jar:hadoop-client-1.0.4.jar:hadoop-core-1.0.4.jar:hadoop-minicluster-1.0.4.jar:hadoop-tools-1.0.4.jar:jackson-core-asl-1.8.8.jar:jackson-mapper-asl-1.8.8.jar:log4j-1.2.15.jar: commons-configuration-1.6.jar”
 
3    拷贝所需依赖
 
因为 OOZIE 需要将所有的依赖打成 War 包部署到内置的 Tomcat 上,所以需要将相应 Jar 包和 ExtJS 拷贝至 $OOZIE_HOME/libext 目录下,包括以下依赖:

4    环境变量设置
 
vi ~/.bash_profile
 
添加
 
export OOZIE_URL=http://localhost:11000/oozie/
 
export OOZIE_HOME=/home/hadoop/oozie-3.3.2
 
 
 
PATH 中添加:$OOZIE_HOME/bin
 
5    代理设置
 
如果不进行代理设置的话,提交任务时会遇到类似的报错:
 
hadoop is not allowed to impersonate hadoop
 
翻译过来意思是 hadoop 不允许模仿 hadoop,也就是说 hadoop 没有代替 hadoop 提交任务的权限。
 
出现这个问题的原因在于 OOZIE 本身并不执行任何任务,也不会分发任务至 Tasktracker。OOZIE 和 Hadoop 集群唯一的交互是向 Jobtracker 提交任务,并通过回调 URL 或轮询的方式获取任务执行情况。
 
我们假定 Hadoop 集群安装在 A 账户下,OOZIE 安装在某节点的 B 账户下,该账户属于 C 用户组。那么代理设置表示如下含义:A 账户在该节点拥有代替 C 用户组提交任务的权限。
 
在 core-site.xml 中添加
 
        <!– OOZIE –>
 
        <property>
 
                <name>hadoop.proxyuser.hadoop.hosts</name>
 
                <value>IP</value>
 
        </property>
 
        <property>
 
                <name>hadoop.proxyuser.hadoop.groups</name>
 
                <value>hadoop</value>
 
        </property>
 
在配置项中,hadoop.proxyuser.hadoop.hosts 和 hadoop.proxyuser.hadoop.groups 中的两个 hadoop 是我们上文提到的账户 A,hadoop.proxyuser.hadoop.hosts 对应的 value 需要填写 OOZIE 安装节点的 IP,hadoop.proxyuser.hadoop.groups 对应的 value 需要填写我们上文提到的用户组 C。
 
由于一般 Hadoop 和 OOZIE 都安装在 hadoop 账户下,而 hadoop 账户又属于 hadoop 用户组。所以就出现了这种搞笑的配置,hadoop 代替 hadoop 提交任务。
 
注意由于该配置项是在 core-site.xml,所以修改该配置后,需要重启集群才能生效。
 
6    时区设置
 
时区设置的目的是在配置中使用东八区时间。
 
在 oozie-site.xml 中添加:
 
  <!– timezone configuration –>
 
  <property>
 
        <name>oozie.processing.timezone</name>
 
        <value>GMT+0800</value>
 
    </property>
 
7    端口号设置
 
如需修改端口号,在 $OOZIE_HOME/conf/oozie-env.sh 中修改端口号,防止端口冲突。默认端口号为 11000。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-04/100382p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计6691字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中