oozie3.3.2-cdh4.5.0运行官方示例sqoop

来源:互联网 发布:敏感词过滤算法 python 编辑:程序博客网 时间:2024/06/05 14:31

使用oozie把官方示例hive运行成功,费了我好大劲,下面把过程描述一下,新手请看。

oozie执行错误日志查看

起初,我并不知道怎么查看oozie的日志,在运行官方示例sqoop时,就老显示job killed,只去看/var/log/oozie下的日志,也没看到什么有用的信息。后来,我装了hue,使用hue去查看跟踪,才定位到问题。
在浏览器打开hue的网页,http://hostname:8888/,然后点击oozie,就打开了oozie的控制面板。
我是使用命令行运行job的。
在已完成下,每一个job都对应一个id,点击id,进到另一个页面,点击操作,接着点击外部id,便链接到mapreduce的job里,点击任务---》尝试id--》,会出来三个选项卡,元数据,计数器,日志,点击日志选项卡,分四类日志,任务诊断日志,stdout,stderr,syslog。这四类日志均能帮助找到任务失败的原因,非常有用。

oozie执行sqoop

oozie执行hive能成功,还源于运行sqoop示例。下面将我遇到的问题解决方法总结一下:
1. 操作系统上须装jdk,不能是openjdk或者jre。我之前就是openjdk,执行sqoop遇到不能编译之类的错误。
2. sqoop执行的操作是将mysql中的数据导入到hdfs上,所以,需把mysql的驱动放在/user/oozie/share/lib/sqoop/下
3. sqoop将mysql中的表导入到hive中,报错:org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient,解决办法是在workflow中,configuration节点中加入
<property>  <name>hive.metastore.uris</name>   <value>thrift://xx.xx.xx.xx:9083</value>  </property> 
4. 经过3的修改后,又报一错:error in semantic analysis: Line 2:17 Path is not legal。解决办法:
我将core-site.xml中以下属性的配置改成:
<property>        <name>fs.defaultFS</name>        <value>hdfs://TelDB1:8020</value>    </property>
之前的配置是:
<property>        <name>fs.defaultFS</name>        <value>hdfs://TelDB1.com</value>    </property>
重启所有服务,再次运行job,就成功了。
其它关于hdfs上的权限错误,这个就不说了,很好改的。

0 0