CentOS6.4编译Hadoop-2.4.0
以下是具体的编译步骤:
1. 安装下面的软件
[root@hd1 software]# yum install lzo-devel zlib-devel gcc autoconf automake libtool ncurses-devel openssl-deve
2. 安装Maven
[hxiaolong@hd1 software]$ wget http://mirror.esocc.com/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz
[hxiaolong@hd1 software]$ tar zxf apache-maven-3.0.-bin.tar.gz -C /opt [hxiaolong@hd1 software]$ vi /etc/profile
export MAVEN_HOME=/opt/apache-maven-3.0.
export PATH=$PATH:$MAVEN_HOME/bin
3. 安装Ant
[hxiaolong@hd1 software]$ wget http://mirror.bit.edu.cn/apache/ant/binaries/apache-ant-1.9.4-bin.tar.gz
[hxiaolong@hd1 software]$ tar zxf apache-ant-1.9.-bin.tar.gz -C /opt [hxiaolong@hd1 software]$ vi /etc/profile
export ANT_HOME=/opt/apache-ant-1.9.
export PATH=$PATH:$ANT_HOME/bin
4. 安装Findbugs
[hxiaolong@hd1 software]$ wget http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.tar.gz?download
[hxiaolong@hd1 software]$ tar zxf findbugs-2.0..tar.gz -C /opt [hxiaolong@hd1 software]$ vi /etc/profile
export FINDBUGS_HOME=/opt/findbugs-2.0.
export PATH=$PATH:$FINDBUGS_HOME/bin
5. 安装protobuf
[hxiaolong@hd1 software]$ tar zxf protobuf-2.5..tar.gz
[hxiaolong@hd1 software]$ cd protobuf-2.5.
[hxiaolong@hd1 software]$ ./configure
[hxiaolong@hd1 software]$ make
[hxiaolong@hd1 software]$ make install
说实话,上面这种编译、安装方式挺麻烦的。很容易碰到各种依赖问题。这里推荐用yum install来安装。
[root@hd1 protobuf-2.5.]# yum install protobuf
6. 编译Hadoop
1) 在name节点上先编译hadoop
[hxiaolong@hd1 software]$ wget http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.4.0/hadoop-2.4.0-src.tar.gz
[hxiaolong@hd1 software]$ cd hadoop-2.4.-src [hxiaolong@hd1 software]$ mvn package -DskipTests -Pdist,native -Dtar
中间过程出错了,错误信息如下:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project hadoop-common: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "cmake" (in directory "/home/hxiaolong/software/hadoop-2.4.0-src/hadoop-common-project/hadoop-common/target/native"): error=, No such file or directory
[ERROR] around Ant part ...<exec dir="/home/hxiaolong/software/hadoop-2.4.0-src/hadoop-common-project/hadoop-common/target/native" executable="cmake" failonerror="true">... @ : in /home/hxiaolong/software/hadoop-2.4.-src/hadoop-common-project/hadoop-common/target/antrun/build-main.xml
[ERROR] -> [Help ]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help ] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :hadoop-common
网上看了下,是因为cmake没安装引起的。安装一下再试。
[root@hd1 hadoop-2.4.-src]# yum instsall cmake
重新编译,最终成功了。
[hxiaolong@hd1 software]$ mvn package -DskipTests -Pdist,native -Dtar main:
[exec] $ tar cf hadoop-2.4..tar hadoop-2.4.
[exec] $ gzip -f hadoop-2.4..tar
[exec]
[exec] Hadoop dist tar available at: /home/hxiaolong/software/hadoop-2.4.-src/hadoop-dist/target/hadoop-2.4..tar.gz [INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: :.833s
[INFO] Finished at: Wed Jul :: UTC
[INFO] Final Memory: 159M/646M
[INFO] ------------------------------------------------------------------------
2) 把编译后的hadoop的native目录copy到/opt/hadoop-2.4.0/lib/
[hxiaolong@hd1 lib]$ rm -rf /opt/hadoop-2.4./lib/native
[hxiaolong@hd1 lib]$ cp -R /home/hxiaolong/software/hadoop-2.4.-src/hadoop-dist/target/hadoop-2.4./lib/native /opt/hadoop-2.4./lib/
这是非常重要的一个步骤。
3) 把编译后的hadoop的native目录scp其它节点
[root@hd1 lib]# scp -r /home/hxiaolong/software/hadoop-2.4.-src/hadoop-dist/target/hadoop-2.4./lib/native/ hd2:/opt/hadoop-2.4./lib/
[root@hd1 lib]# scp -r /home/hxiaolong/software/hadoop-2.4.-src/hadoop-dist/target/hadoop-2.4./lib/native/ hd3:/opt/hadoop-2.4./lib/
如果不把重新编译过后的native目录同步到其它节点,那在其它节点也会遇到同样的问题。
4) 验证
[hxiaolong@hd2 native]$ hadoop fs -ls /
Found items
drwxr-xr-x - hxiaolong supergroup -- : /input
OK了,不会报错了。
CentOS6.4编译Hadoop-2.4.0的更多相关文章
- mac OS X Yosemite 上编译hadoop 2.6.0/2.7.0及TEZ 0.5.2/0.7.0 注意事项
1.jdk 1.7问题 hadoop 2.7.0必须要求jdk 1.7.0,而oracle官网已经声明,jdk 1.7 以后不准备再提供更新了,所以趁现在还能下载,赶紧去down一个mac版吧 htt ...
- 64位CentOS上编译 Hadoop 2.2.0
下载了Hadoop预编译好的二进制包,hadoop-2.2.0.tar.gz,启动起来后.总是出现这样的警告: WARN util.NativeCodeLoader: Unable to load n ...
- 在docker容器中编译hadoop 3.1.0
在docker容器中编译hadoop 3.1.0 优点:docker安装好之后可以一键部署编译环境,不用担心各种库不兼容等问题,编译失败率低. Hadoop 3.1.0 的源代码目录下有一个 `sta ...
- 利用Docker编译Hadoop 3.1.0
前言 为什么要使用Docker编译,请自行百度 操作系统环境:Centos 6.8 uname -r 内核版本:2.6.32-642.el6.x86_64 除非有把握否则不要在Centos6.8中直接 ...
- 64位centos 下编译 hadoop 2.6.0 源码
64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新 ...
- CentOS 6.4 64位 源码编译hadoop 2.2.0
搭建环境:Centos 6.4 64bit 1.安装JDK 参考这里2.安装mavenmaven官方下载地址,可以选择源码编码安装,这里就直接下载编译好的wget http://mirror.bit. ...
- CentOS 64位上编译 Hadoop 2.6.0
Hadoop不提供64位编译好的版本号,仅仅能用源代码自行编译64位版本号. 学习一项技术从安装開始.学习hadoop要从编译開始. 1.操作系统编译环境 yum install cmake lzo- ...
- Centos 6.5 X64 环境下编译 hadoop 2.6.0 --已验证
Centos 6.5 x64 hadoop 2.6.0 jdk 1.7 protobuf-2.5.0 maven-3.0.5 set environment export JAVA_HOME=/hom ...
- ubuntu 环境下编译 hadoop 2.6.0的简单方法
由于服务器一般都64位系统, hadoop网站的release版本32位native库不能运行,所以需要自己在编译一下.以下是我采用的一个编译的过程,比较简单,不用下载各种版本及环境配置,通过命令就能 ...
- Centos6下编译安装gcc6.4.0
Centos6自带的gcc4.4.7不支持c++11, 于是编译安装最新版的gcc wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz .tar ...
随机推荐
- linux性能测试脚本
http://linux-bench.com/ What is Linux-Bench? Linux-Bench is a simple script that provides a basic le ...
- C++编写双向链表
创建双向链表类,该类有默认构造函数.类的拷贝函数.类的.实现链表添加数据.升序排序.查找链表中某个节点及删除链表中某个节点的操作 代码实现: #include<iostream> #inc ...
- ABAP Netweaver和git的快捷方式
Netweaver Jerry的SAPGUI收藏夹管理工具:链接 git 我笔记本上有很多github仓库,每次切换仓库,我不想敲很长的cd命令.比如现在我需要手敲下面的命令进入一个Java仓库: c ...
- noip模拟赛#23
T1:n个元素的集合.要求取出k个子集,使得k个子集交集为空集.问有多少中取法. =>推了很久...想的是从k等于2的情况推到k等于3的情况....然后k=2推出来了k=3也推出来了...推了挺 ...
- python实现链表中倒数第k个结点
题目描述 输入一个链表,输出该链表中倒数第k个结点 第一种实现: # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # ...
- day1总结
print("hello world") name='王维是傻屌' print(name) age_of_王维是傻屌 = 18 # type:用于判断变量的类型 str1 ='he ...
- Apache RocketMQ 正式开源分布式事务消息
近日,Apache RocketMQ 社区正式发布4.3版本.此次发布不仅包括提升性能,减少内存使用等原有特性增强,还修复了部分社区提出的若干问题,更重要的是该版本开源了社区最为关心的分布式事务消息, ...
- Oracle 函数 之 Coalesce()、greatest()、least()
Coalesce().greatest().least() oracle比较一列的数据大小时,我们一般使用max()/min()函数,比较一行的最大值或者最小值时,使用函数Coalesce()/gre ...
- fopen打开文件失败的问题
fopen打开带中文路径或含中文名称的文件失败. 解决这个问题有两个方法:一是改用_wfopen,这个函数接受两个宽字符类型,函数原型如下: FILE* _wfopen(const wchar_t* ...
- gitlab文件夹的权限不要随便给777
gitlab 权限给到777 不一定有用