从零教你在Linux环境下(ubuntu)如何编译hadoop2.4
问题导读: 1.如果获取hadoop src maven包? 2.编译hadoop需要装哪些软件? 3.如何编译hadoop2.4? 扩展: 编译hadoop为何安装这些软件?
一、首先下载hadoop源码包 下载的方式还是比较多的 1.svn的方式 svn下载首先需要安装SVN,如果想尝试使用svn,可以参考源码管理、获取网络源码工具:TortoiseSVN使用手册,hadoop的svn下载地址点此 2.压缩包的方式 这里我们介绍一种压缩包的方式。 首先我们登录官网: http://hadoop.apache.org/,我们找到下面链接,点进去下载即可。如果刚接触,不知道怎么下载,可以查看帖子新手指导:hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍,里面介绍的很详细。
二、解压
- aboutyun@master:~$ tar zxvf hadoop-2.4.0-src.tar.gz
解压完毕,我们会看到相应的文件夹:
三、解压完毕,我们开始准备编译所需要的软件 这里软件的准备,很多文章写的都不全,这里整理一下。哪些软件是需要安装的。
这里需要说明的是有的Linux有自带的这些工具,这个需要仔细看一下版本是否匹配,不匹配则升级一下,有些不能升级,那么就重装一下吧
1、jdk的安装 步骤下载压缩包、解压、配置环境变量 (1)jdk下载 链接: http://pan.baidu.com/s/1jGr41SU 密码: rawv (2)jdk解压
- tar zxvf jdk-7u51-linux-x64.tar.gz
然后重命令为:
(3)配置环境变量: 如下图所示红字部分为:(记得这里的路径改成自己的实际安装路径)
- /usr/jdk1.7/bin
(4)检验是否安装成功
2、maven的安装
- sudo apt-get install maven
我这里已经安装
上面可能还需要配置环境变量之类的,但是我这里没有好像是系统自带的,网上的资料也比较多,注意maven的版本,我这里是3.0.4,hadoop2.4需要maven的这个版本或则更高的版本3.2.1版本也是可以的。 验证安装是否成功
- mvn -version
3.protobuf的安装 (1)下载
- sudo wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
(2)解压
- tar zxvf protobuf-2.5.0.tar.gz
如下效果:
然后进入protobuf-2.5.0文件夹,进行如下操作:
- $ sudo ./configure
- $ sudo make
- $ sudo make check
- $ sudo make install
- $ sudo ldconfig
(3)验证
- protoc --version
4.安装openssl库
- sudo apt-get install libssl-dev
5.CMake安装
- sudo yum install cmake
或则
- sudo apt-get install cmake
6.ant安装 (1)首先下载ant 百度网盘: apache-ant-1.9.4-bin.tar.gz http://pan.baidu.com/s/1c0vjhBy 或则下面链接: apache-ant-1.9.4-bin.tar.gz (2)解压
- tar zxvf apache-ant-1.9.4-bin.tar.gz
(3)配置环境变量 如下图所示: 1.打开profile
- sudo vi /etc/profile
2.添加下图红字部分,记得修改成自己的路径
3.生效
- source /etc/profile
4.检验
- ant -version
四、编译hadoop2.4 上面准备工作已经做的差不多了,我们终于可以开始,记得进入src文件夹下,输入下面命令
- mvn package -Pdist,native -DskipTests -Dtar
等了40多分钟,ok
在目录~/hadoop-2.4.0-src/hadoop-dist/target下有文件: hadoop-2.4.0.tar.gz
更多内容:hadoop2.4汇总:hadoop2.4插件下载、完全分布式、伪分布、eclipse插件开发大全 问题总结: 这里还需要在补充: 1.遇到错误1:CMake没有安装
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-
plugin:1.6:run (make) on project hadoop-common: An Ant BuildException has
occured: Execute failed: java.io.IOException: Cannot run program "cmake" (in
directory "/home/wyf/hadoop-2.0.2-alpha-src/hadoop-common-project/hadoop-
common/target/native"): java.io.IOException: error=2, No such file or directory
-> [Help 1]
[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 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
解决方法:
CMake没有安装
- sudo yum install cmake
或则使用
- sudo apt-get install cmake
2.遇到错误2:ant没有安装
ERROR] Failed to execute goal org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-
alpha-3:compile (hdfs) on project hadoop-hdfs: Execution hdfs of goal
org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-alpha-3:compile failed: Plugin
org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-alpha-3 or one of its dependencies
could not be resolved: Could not transfer artifact ant:ant:jar:1.6.5 from/to
central (http://repo.maven.apache.org/maven2): GET request of:
ant/ant/1.6.5/ant-1.6.5.jar from central failed: Read timed out -> [Help 1]
[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 1]
http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :hadoop-hdfs
1.首先下载ant 百度网盘: apache-ant-1.9.4-bin.tar.gz http://pan.baidu.com/s/1c0vjhBy 或则下面链接: apache-ant-1.9.4-bin.tar.gz 2.解压
- tar zxvf apache-ant-1.9.4-bin.tar.gz
3.配置环境变量 记得配置环境变量 如下图所示: 1.打开profile
- sudo vi /etc/profile
2.添加下图红字部分,记得修改成自己的路径 3.生效
- source /etc/profile
4.检验
- ant -version
3.protobuf版本过低,错误现象
[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.4.0:prot
oc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecut
ionException: 'protoc --version' did not return a version -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[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 rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE
xception
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :hadoop-common
hadoop2.4对应的版本是protobuf-2.5.0 解决办法:按照安装步骤中protobuf的安装即可
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Koa - 使用koa-multer上传文件(上传限制、错误处理)
- 原生js 复制内容到剪切板
- Vue - watch高阶用法
- 小程序如何支持使用 async/await (构建npm版)
- require.context批量引入文件
- Node笔记 - process.cwd() 和 __dirname 的区别
- 小程序如何支持使用 async/await
- 小程序 - 如何自定义导航栏
- protobuf 语法 与 protocol-buffers 的使用
- 小程序 - 简单实现mixin功能
- 记录一些小技巧-CSS篇
- 记录一些小技巧-JS篇
- 初次在Vue项目使用TypeScript,需要做什么
- VScode - 10个提高工作效率的快捷键
- Vue - 自定义组件双向绑定