hadoop2.7.1_Snappy64位编译完成后的软件与编译方法

hadoop2.7.1_Snappy64位编译完成后的软件与编译方法

 

编译完成软件下载地址:

http://yunpan.cn/cL3jJa7XEMtHy  访问密码66de

第一步:编译前环境要求

第二步:snappy编译

第三步:hadoop-snappy编译

第四步:64Hadoop支持snappy编译

第五步:相关配置

第六步:测试

1、             我的是CentOS6.7 64位系统:

yum  install gcc-c++ autoconfautomake libtool

安装JDKMaven(网上教程很多,但建议用3.2的版本,JDK1.7.0-1.7.45,否则在编译Hadoop时可能出现问题)

 

2、             snappy编译

  wget http://snappy.googlecode.com/files/snappy-1.1.1.tar.gz

然后解压后,执行三步骤:

   ./configure

   make

   sudo make install

   默认安装路径:/usr/local/lib下面

    

检查安装是否成功

         ls /usr/local/lib/libsn*

 

3、             hadoop-snappy编译

3.1下载hadoop-snappy源码

 svn checkout http://hadoop-snappy.googlecode.com/svn/trunk/hadoop-snappy

3.2.安装hadoop-snappy

 cd hadoop-snappy

  mvn package

 

4、             64Hadoop支持snappy编译(32位不用此步骤)

4.1  yum install cmakezlib1g-dev pkg-config libssl-dev

4.2 安装protobuf-2.5.0(下载protobuf

然后解压后,执行三步骤:

   ./configure

   make && make install

4.3 下载并解压Hadoop2.7.1-src

         进入源码目录,执行如下命令:

mvn package -Pdist,native-DskipTests -Dtar -rf :hadoop-common -Drequire.snappy -X

(过程很漫长,如果Maven依赖包以前没有下载过,按照中国下载的速度,一般要用5个小时以上)

 

5、             相关配置

解压hadoop-snappy-0.0.1-SNAPSHOT.tar.gz文件,会生成hadoop-snappy-0.0.1-SNAPSHOT目录,拷贝这个目录下相关文件到$HADOOP_HOME/lib/native/Linux-amd64-64

cp -r /hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-amd64-64/*$HADOOP_HOME/lib/native/Linux-amd64-64(这种测试没有通过)

cp-r /hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-amd64-64/*$HADOOP_HOME/lib/native(这个测试没问题)

 

target目录下的hadoop-snappy-0.0.1-SNAPSHOT.jar拷贝到$HADOOP_HOME/lib/目录下。

 

修改hadoop-env.sh,增加内容如下:

exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native/Linux-amd64-64/:/usr/local/lib/

修改core-site.xml文件,增加红色字体部分

<property>

   <name>io.compression.codecs</name> 

  <value>

  org.apache.hadoop.io.compress.GzipCodec,

  org.apache.hadoop.io.compress.DefaultCodec, 

  org.apache.hadoop.io.compress.BZip2Codec,

  com.hadoop.compression.lzo.LzoCodec,

  com.hadoop.compression.lzo.LzopCodec,

  org.apache.hadoop.io.compress.SnappyCodec

  </value>

<property>

           <name>io.compression.codec.snappy.class</name>

           <value>org.apache.hadoop.io.compress.SnappyCodec</value>

  </property>

</property>

修改map-site.xml文件

以下是只有Map输出压缩

<property>

      <name>mapred.compress.map.output</name>

       <value>true</value>

     </property>

     <property>

      <name>mapred.map.output.compression.codec</name>

      <value>org.apache.hadoop.io.compress.SnappyCodec</value>

     </property>

reduce输出压缩

<property>

      <name>mapreduce.output.fileoutputformat.compress.codec</name>

      <value>org.apache.hadoop.io.compress.SnappyCodec</value>

     </property>    

 

6、             重启Hadoop系统,测试程序如下:

进入目录:$HADOOP_HOME /share/hadoop/mapreduce

hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount /tmp/t1.txt/output

测试结果:出现如下结果说明配置成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章