前言 

做为大数据入门的基础,hadoop是每个大数据开发人员几乎不可避免的基础,目前hadoop已经发展到3.x.x版本,但当前企业使用的主流还是2.x.x版本,hadoop官网提供了编译后的hadoop,但这个是32位的,并且未供带C程序访问的接口,我们在使用本地库(可以用来做压缩,以及支持C程序等等)的时候就会出问题,所以需要自己再编译,之前自己编译过一次,但没有做总结,这次重新编译,做个总结记录一下。

一、环境准备

我是用的是 hadoop-2.8.5-src.tar.gz 版本,解压后找到BUILDING.txt

此文件列出了我们需要使用的一些环境,官方给的是在Ubuntu上进行编译,这里我使用的是CentOS7 minimal,部分软件下载 Ubuntu和CentOS不同,这里给大家总结了出来,执行以下命令即可

 yum install -y gcc
yum install -y gcc-c++
yum install -y cmake
yum install -y snappy
yum install -y snappy-devel
yum install -y openssl
yum install -y autoconf
yum install -y libtool
yum install -y zlib-devel
yum install -y pkgconfig
yum install -y openssl-devel
yum install -y bzip2
yum install -y bzip2-devel
yum install -y bzip2-libs

上面是直接使用yum即可安装的,下面是需要我们自己下载相关文件编译安装,这里就不写这些软件的安装方式了,其中protobuf必须使用 2.5.0版本(注:谷歌将protobuf buffers放到github上后,已经找不到2.5.0官方版本了,这里提供一个从别人那里Fork到的提供给大家,protobuf-2.5.0)

  1. 系统:CentOS Linux release 7.4.1708(minimal)
  2. JDK:  java version "1.8.0_202"
  3. MAVEN: apache-maven-3.6.0
  4. ant: apache-ant-1.10.5
  5. protobuf: protobuf-2.5.0  (必须)

二、执行安装

进入解压后的hadoop-2.8.5-src,执行  (这里maven可以将仓库挂载到宿主机的maven仓库,减少网络压力,挂载方法可以参考这里)

mvn package -Pdist,native -Drequire.snappy -DskipTests -Dtar

要确保网络的通常,此过程比较耗时,中间可能会出现有关jar包下载失败导致编译失败,再次编译即可

编译完成后,hadoop-2.8.5-src/hadoop-dist/target  目录下即可找到我们编译后的文件

解压  hadoop-2.8.5-src/hadoop-dist/target/hadoop-2.8.5.tar.gz  , bin文件夹下执行 ./hadoop checknative,即可查看是否成功将本地相关库编译成功

最后啰嗦一下:

 java -version       #java查看版本
mvn -v #maven查看版本
ant -version #ant查看版本
protoc --version #protocol查看版本

最新文章

  1. ASP.NET五步打包下载Zip文件
  2. Oracle学习总结_day01_day02_表的创建_增删改查_约束
  3. 扩展HT for Web之HTML5表格组件的Renderer和Editor
  4. jquery的insertBefore(),insertAfter(),after(),before()
  5. js队列
  6. Java 线程Thread.Sleep详解
  7. iOS:Xcode8以下真机测试iOS10.0和iOS10.1配置包
  8. Release时error c1083 无法打开包括文件
  9. 遍历所有的选中的radio的个数和值
  10. 使用Git进行代码管理心得
  11. DataGrid的打印预览和打印
  12. hdu 4665
  13. flumeng-kafka-plugin
  14. 解决Thinkpad E450 外接显示器后没有声音的问题
  15. 三千万数据量下redis2.4的一统计情况
  16. KDJ计算公式
  17. Excel公式使用
  18. python测试开发django-47.xadmin上传图片和文件
  19. MySQL权限和用户安全
  20. MySQL的启动和关闭

热门文章

  1. Centos7防火墙使用
  2. Django Model里的__str__以及Meta
  3. 牛客练习赛53 B 美味果冻
  4. 菩提圣心诀---zabbix自定义key监控oracle连接状态(python脚本)
  5. mongo聚合命令
  6. App加载主要流程
  7. Gabor滤波器的理解
  8. Zookeeper用作注册中心的原理
  9. PowerPoint for Mac 中的键盘快捷方式汇总
  10. vue 页面回退mounted函数不执行的问题及解决方法