原文地址:http://www.cnblogs.com/qiaoyihang/p/6995146.html

自带的为32位库,故需要把64为重编译进去

1、下载源码:http://archive-primary.cloudera.com/cdh5/cdh/5/

2、准备编译环境
  a、安装maven
  b、安装protobuffer

  ./configure --prefix=/usr/local/protobuf

  注意安装编译所需要的依赖包
  sudo yum install gcc-c++

  sudo yum -y install cmake

  sudo yum -y install zlib

  sudo yum -y install openssl-devel

  老流程:

  config > make >make check >make install

  c、配置环境变量:
  #protobuf
  export PATH=$PATH:/usr/local/protobuf/bin
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib

3、安装snappy

  ./configure --prefix=/usr/local/snappy

  config > make >make check >make install

4、编译hadoop 集成snappy

export MAVEN_OPTS="-Xms256m -Xmx512m"
mvn package -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/snappy/lib

 注意:

  编译2.6 需要1.7的JDK

  编译完成位置:/home/hadoop/hadoop-2.6.0-cdh5.4.5/hadoop-dist/target

本地库里面集成了snappy

检查本地库加载

hadoop checknative -a

查看安装的基本信息

file ./*

编译中遇到的问题:

问题1:编译的时候配置了远程仓库,但是还是会读取中央仓库

<!--配置私服镜像-->
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<mirror>
<mirrors>

该例中<mirrorOf>的值为星号,表示该配置是所有Maven仓库的镜像,任何对于远程仓库的请求都会被转至

http://maven.aliyun.com/nexus/content/groups/public/

如果该镜像仓库需要认证,则配置一个id为nexus的认证信息即可。

需要注意的是,由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。

解决办法:把*改为central

问题2:编译成功后,用 checknative 查看本地库加载情况,出现snappy:false

这个问题也困扰了许久,本地库文件检查了许多遍都没有问题,最后找到原因是因为把snappy安装在了 /usr/local/snappy这里

安装在这里的snappy,就算和hadoop 一起成功编译,最后还是不能被识别。(这里我想应该在hadoop某个配置文件配置好目录才可以,目前还不清楚是什么目录)

所以最后老老实实把snappy重装在 /usr/local/lib 下面,重编译加载snappy成功

编译hadoop2.6.0 cdh 5.4.5 集成snappy压缩的更多相关文章

  1. 编译hadoop2.6.0

    具体情况比较曲折:hadoop2.6.0编译不过 错误如下: 这个kms模块始终编译不过,最后得出结论国内的aliyun maven仓库有问题, 在编译hadoop2.2.0 可以通过,因为这个版本的 ...

  2. Ubuntu12.04-x64编译Hadoop2.2.0和安装Hadoop2.2.0集群

      本文Blog地址:http://www.cnblogs.com/fesh/p/3766656.html   本文对Hadoop-2.2.0源码进行重新编译(64位操作系统下不重新编译会有版本问题) ...

  3. CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装

    摘要 CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装 目录[-] 1.系统环境说明 2.安装前的准备工作 2.1 关闭防火墙 2.2 检查ssh安装情况,如果没有则安装ssh ...

  4. 编译hadoop2.2.0源码时报错

    编译hadoop2.2.0源码时, mvn install -DskipTests 报错: [ERROR] COMPILATION ERROR : [INFO] ------------------- ...

  5. 在Linux上编译Hadoop-2.4.0

    目录 目录 1 1. 前言 1 2. 安装依赖 1 2.1. 安装ProtocolBuffer 2 2.2. 安装CMake 2 2.3. 安装JDK 2 2.4. 安装Maven 3 3. 编译Ha ...

  6. CentOS 64位上编译 Hadoop2.6.0

    由于hadoop-2.6.0.tar.gz安装包是在32位机器上编译的,64位的机器加载本地库.so文件时会出错,比如: java.lang.UnsatisfiedLinkError: org.apa ...

  7. 在Linux上编译Hadoop-2.4.0实践与总结

    问题导读: 1.编译源码前需要安装哪些软件? 2.安装之后该如何设置环境变量? 3.为什么不要使用JDK1.8? 4.mvn package -Pdist -DskipTests -Dtar的作用是什 ...

  8. Ubuntu 14.10 下编译Hadoop2.4.0

    在http://www.aboutyun.com/thread-8130-1-1.html 这里看到到,安装过程遇到了上面说的问题,所以将此文转载过来,以备不时之需,感谢此作者. 问题导读: 1.如果 ...

  9. CentOS6.4编译Hadoop-2.4.0

      因为搭建Hadoop环境的时候,所用的系统镜像是emi-centos-6.4-x86_64,是64位的,而hadoop是默认是32的安装包.这导致我们很多操作都会遇到这个问题(Java HotSp ...

随机推荐

  1. JQuery EasyUI dialog弹出框的 close 和 destroy

    开发项目中(使用JQuery EasyUI),根据业务需要重叠弹出多个提示框的情况,会出现如下情况:页面出现两个div模块调用同一个弹出页面,页面的数据接受框元素不能实时存储数据解决方案: 使用$(t ...

  2. 写一个php小脚本辅助渗透测试

    因为一个注入要爬行一些数据,然后写的一个小脚本,能写脚本来辅助渗透,也算是里程碑.哈哈哈 <?php $num = 1; while ($num <= 39) { $web_url = & ...

  3. Action方法调用

    一.Action访问路径 Action的访问路径是由struts.xml文件中配置的Action所在包的命名空间,Action的名字和常struts.action.extension共同决定的 例如: ...

  4. CSS border-style 属性查询

    border-style 属性用于设置元素所有边框的样式,或者单独地为各边设置边框样式.只有当这个值不是 none 时边框才可能出现. none solid dotted dashed double ...

  5. Splash 笔记

    javascript rendering service a lightweight web browser can execute custom JavaScript in page context ...

  6. nested exception is java.lang.VerifyError: Expecting a stackmap frame at bra

    Caused by: java.lang.VerifyError: Expecting a stackmap frame (2016-05-19 09:56:29) 转载▼ 标签: it 分类: Ja ...

  7. git & github 菜鸟笔记

    1.概念: 最先进的分布式版本控制系统 文件修改该提交的内容:---版本 文件名 用户 说明 日期 GitHub网站上线了,它为开源项目免费提供Git存储 --CVS及SVN都是集中式的版本控制系统, ...

  8. Laravel的学习网站推荐

    Laravel官网 网址是:https://www.laravel.com,里面有优质的教程和文档 只不过是英文的. Laravel学院 网址是:http://laravelacademy.org/, ...

  9. hdu4456 Crowd(二维树状数组)

    题意:给出一个n*n的矩阵,然后m个operation,1表示坐标(x,y)的值加z,2表示与坐标(x,y)的曼哈顿距离不超过z的点的权值和. 解题思路:将矩阵側过来45度.发现询问的时候,有效的点构 ...

  10. java进阶-多线程学习笔记

    多线程学习笔记 1.什么是线程 操作系统中 打开一个程序就是一个进程 一个进程可以创建多个线程 现在系统中 系统调度的最小单元是线程 2.多线程有什么用? 发挥多核CPU的优势 如果使用多线程 将计算 ...