Hadoop 2.2.0下Pig安装及Pig的基础使用

准备工作:

1、正常运行的Hadoop2.2.0环境;

2、自行编译好适用于Hadoop2.2.0环境的的Pig 0.12.0版本。

    1)NameNode的机器上安装apache-ant,将ant的可执行文件路径放入环境变量PATH中;

    2)确定NameNode能够连接网络,我使用的是虚拟机桥接的方式,可以连接互联网;

    3)下载Pig 0.12.0的src文件,tar包解压后,在解压的目录下执行命令:

      ant clean jar-withouthadoop -Dhadoopversion=23

3、准备数据,拷贝到Hdfs中,数据格式如下:

  James,Network,Tom,98
  James,Computer,Jim,86
  Lily,Network,Tom,86
  Lily,Philosophy,Lilei,77
  Lucy,Korean,Piao,98
  Lucy,Network,Tom,98
James,Database,Tom,88

   

编译完成后:

1、设置环境变量,修改.bash_profile文件,而后source .bash_profile

PATH=/opt/pig-0.12.0-src/bin:$JAVA_HOME/bin:$PATH
export PATH
PIG_CLASSPATH=/opt/hadoop-2.2.0/etc/hadoop
export PIG_CLASSPATH

2、Shell下运行pig命令,默认进入mapreduce模式,执行如下命令:

A = LOAD 'chengji.txt' USING PigStorage(',') AS (student,course,teacher,score:int);

DUMP A;

遗留问题:

PIG中能运行出结果,但是在运行过程中报错:

Call From cloud001/192.168.1.105 to cloud001:10020 failed on connection exception:

cloud001是我的namenode,net -an | grep 10020查看这个端口确实没打开

在mapred-site.xml文件中配置:

<property>
        <name>mapreduce.jobhistory.address</name>
        <value>hdfs://cloud001:10020</value>
</property>
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hdfs://cloud001:19888</value>
</property>

目前还是不知道原因,暂作记录,后续如果知道原理再排查。

猜你喜欢

转载自blog.csdn.net/wendll/article/details/21776717
今日推荐