在Hadoop环境中安装了pig工具,安装过程中碰到了一些问题,在此做一下记录:

  主要安装流程参考:http://www.cnblogs.com/yanghuahui/p/3768270.html

主要碰到的问题:

   由于是从直接下载的pig包,所以在mapreduce模式中会报:

     Hadoop: java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected

根据步骤,需要运行:ant clean jar-all -Dhadoopversion=23重新编译,通过yum安装完ant之后,运行命令发现报错:Buildfile: build.xml

BUILD FAILED
/home/hadoop/pig-0.12.1/build.xml:720: Problem: failed to create task or type scriptdef
Cause: the class org.apache.tools.ant.taskdefs.optional.script.ScriptDef was not found.
This looks like one of Ant's optional components.
Action: Check that the appropriate optional JAR exists in
-/usr/share/ant/lib
-/home/hadoop/.ant/lib
-a directory added on the command line with the -lib argument Do not panic, this is a common problem.
The commonest cause is a missing JAR. This is not a bug; it is a configuration problem Total time: 0 seconds

而且此时,jdk环境应为ant原因已经变成Openjdk1.6。

研究Ant的官方文档,通过运行命令:

#ant -diagnostics

发现通过yum安装的ant环境,缺少了所有的的option Task,造成build.xml中使用optionTask时报错。

官方文档提示,可以通过ant -f fetch.xml -Ddest=option来安装缺少的Option Task。

但是从本地的环境中发现,缺少基本的文件fetch.xml ,造成无法运行。

因此删除原有环境

rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-6.1.13.4.el6_5.x86_64
rpm -e --nodeps java-1.6.0-openjdk-devel-1.6.0.0-6.1.13.4.el6_5.x86_64
rpm -e --nodeps tzdata-java-2014e-1.el6.noarch
rpm -e --nodeps java_cup-0.10k-5.el6.x86_64
rpm -e --nodeps ant-1.7.1-13.el6.x86_64

从官网下载二进制包来配置ant环境:

#tar zxvf apache-ant-1.9.4-bin.tar.gz

在环境变量中设置:

export ANT_HOME=/home/hadoop/apache-ant-1.9.4
PATH=$PATH:$ANT_HOME/bin
作者:sdjnzqr

出处:http://www.cnblogs.com/sdjnzqr/

版权:本文版权归作者和博客园共有

转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任

Hadoop集群中pig工具的安装过程记录的更多相关文章

  1. Hadoop集群中添加硬盘

    Hadoop工作节点扩展硬盘空间 接到老板任务,Hadoop集群中硬盘空间不够用,要求加一台机器到Hadoop集群,并且每台机器在原有基础上加一块2T硬盘,老板给力啊,哈哈. 这些我把完成这项任务的步 ...

  2. 在Hadoop集群中添加机器和删除机器

    本文转自:http://www.cnblogs.com/gpcuster/archive/2011/04/12/2013411.html 无论是在Hadoop集群中添加机器和删除机器,都无需停机,整个 ...

  3. 如何使用Hive&R从Hadoop集群中提取数据进行分析

    一个简单的例子! 环境:CentOS6.5 Hadoop集群.Hive.R.RHive,具体安装及调试方法见博客内文档. 1.分析题目 --有一个用户数据样本(表名huserinfo)10万数据左右: ...

  4. hadoop集群的搭建(分布式安装)

    集群 计算机集群是一种计算机系统,他通过一组松散集成的计算机软件和硬件连接起来高度紧密地协同完成计算工作. 集群系统中的单个计算机通常称为节点,通常通过局域网连接. 集群技术的特点: 1.通过多台计算 ...

  5. hadoop集群中动态添加新的DataNode节点

    集群中现有的计算能力不足,须要另外加入新的节点时,使用例如以下方法就能动态添加新的节点: 1.在新的节点上安装hadoop程序,一定要控制好版本号,能够从集群上其它机器cp一份改动也行 2.把name ...

  6. Hadoop集群搭建-Hadoop2.8.0安装(三)

    一.准备安装介质 a).hadoop-2.8.0.tar b).jdk-7u71-linux-x64.tar 二.节点部署图 三.安装步骤 环境介绍: 主服务器ip:192.168.80.128(ma ...

  7. 一:MetaMq集群中单个节点的安装配置示意图

    MetaMQ集群一个节点的安装和配置示意图[1]:下载metaMQ的安装包

  8. hadoop集群中客户端修改、删除文件失败

    这是因为hadoop集群在启动时自动进入安全模式 查看安全模式状态:hadoop fs –safemode get 进入安全模式状态:hadoop fs –safemode enter 退出安全模式状 ...

  9. hadoop集群中动态添加节点

    集群的性能问题需要增加服务器节点以提高整体性能 https://www.cnblogs.com/fefjay/p/6048269.html hadoop集群之间hdfs文件复制 https://www ...

随机推荐

  1. 【网络收集】如何修改vs tfs的登录名和密码 .

    连接TFS时,如果本机保存了用户的网络密码,不会出现用户名和密码的输入框,若要更换TFS的用户名和密码,需按以下步骤操作:控制面板--->用户账号--->管理网络密码,此时会列出所有保存了 ...

  2. javascript遍历控件(实例详解)

    js遍历页面控件, 代码如下 复制代码  var inputArr = document.forms[0];   for( var i = 0; i < inputArr.length; i++ ...

  3. server——小记

    问题 Step 1   Start the server in Directory Services Restore Mode   Windows Server 2003/2008 Directory ...

  4. Access时间日期比较查询的方法总结

    Access日期时间比较查询语句困扰过很多网友,种豆网整理了一下Access日期比较查询的几种方法,假定数据表明为TblName,日期/时间字段名为FDate(这里不能讲FDate设置为字符串,否则比 ...

  5. 在别的地方看的<<给程序员介绍一些C++开源库>>,记录给大家共同学习

    首先说明这篇文章不是出自我手,大家共同学习. 引用地址:http://oss.org.cn/?action-viewnews-itemid-61998. C++开源库,欢迎补充. C++在“商业应用” ...

  6. 【风马一族_git_github】gitGui与github的SSH

    权限校验 首先,您的数据保存在远端服务器一份,服务器需要对您的身份识别.一段RSA加密字符串. 启动GUI,菜单-帮助,[Step1-创建密钥]Generate SSH KEY 步骤一: 步骤二: 步 ...

  7. Mysql数据库常用的命令 数据备份 恢复 远程

    远程数据库 格式: mysql -h主机地址 -u用户名 -p用户密码数据库 mysql -h 42.51.150.68 -u yang -p discuz mysql设置密码 mysql>us ...

  8. [转]bat中的特殊字符,以及需要在bat中当做字符如何处理

    bat中的特殊字符,以及需要在bat中当做字符如何处理 批处理.Bat 中特殊符号的实际作用,Windows 批处理中特殊符号的作用: @ \\隐藏命令的回显. ~ \\在for中表示使用增强的变量扩 ...

  9. ASP.NET对HTML元素进行权限控制(二)

    这是这个权限控制的第一步,扫描界面把要分配权限的元素的信息获取出来存入到数据库中. 这一步分三小步: (1).标出界面所要分配权限的元素 (2).扫描界面获取所要分配权限的元素信息.(ID,标题,层级 ...

  10. CentOS thrift python demo

    编辑接口文件 hellowworld.thrift service HelloWorld { string ping(), string say(1:string msg) } 编辑 server.p ...