使用CDH的hadoop里面有对应的组件Pig,但版本较低

1,使用CDH的hadoop里面有对应的组件Pig,但版本较低,所以放弃使用了,直接下载
Apache Pig0.15最新的版本(支持Tez,比Hive更容易集成)
下载地址:http://archive.apache.org/dist/pig/pig-0.15.0/pig-0.15.0.tar.gz
直接下载二进制包即可

2,配置Pig的环境变量如下:
#Pig
export PIG_HOME=/ROOT/server/pig
export PIG_CLASSPATH=$HADOOP_HOME/etc/hadoop 
export PATH=/ROOT/server/pig/bin:$PATH
3,直接执行pig命令,启动程序,会报如下异常
[main]ERROR org.apache.pig.Main -ERROR 2998:Unhandled internal error.Found interface jline.Terminal,but class was expected

原因是由于jline这个包和hadoop的yarn/lib下面的jline的包不一致造成的。
可参考:https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started里面的解释

解决方法:

删掉hadoop的yarn/lib下的那个jline版本较高的包,将pig/lib下的jline-1.0.jar包拷贝到yarn/lib下,然后
重新执行pig命令,可正常启动。





然后执行一个pig脚本写的MapReduce作业,发现会报如下异常,但是MR作业是跑成功的:




原因是,Hadoop的jobhistroy进程没有启动。
解决办法:
执行sbin/mr-jobhistory-daemon.sh start historyserver 命令,启动日志守护进程

然后再次跑pig作业,一切正常 !

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值