在CentOS 64 位系统上编译Hadoop 2.2.0

按照以下步骤,对hadoop2.3也成功通过编译

转:http://f.dataguru.cn/thread-273409-1-1.html

一、环境
1、主机系统为Windows 7 64位,虚拟机软件为 VMware Workstation 10。
2、虚拟机操作系统为 CentOS6 64位。并且已经在CentOS上安装了VMware Tools工具,这样,可以直接将主机系统中文件直接复制到CentOS系统中。


二、具体步骤
1、因为 hadoop 是由 java 语言编写的(少部分为C所写),因此需要安装Java的编译环境(JDK)。
     因为 CentOS系统为64位,因此安装的Java的编译环境也为64位。

下载地址如下:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

打开界面之后,先选中 Accept License Agreement,然后下载 jdk-7u55-linux-x64.tar.gz。

下载完成之后,将其复制到 /usr 目录下并使用
tar -zxvf jdk-7u55-linux-x64.tar.gz
命令,将其解压到当前目录下,如下图:

 

然后设置JAVA_HOME环境变量,并将Java的可执行目录添加到PATH环境变量中,如下所示
export JAVA_HOME=/usr/jdk1.7.0_55
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


注:我是直接添加到 /etc/profile 文件中。

测试设置是否成功的方法为:Log out 当前用户,然后重新登陆,再运行 java -version ,如

则表示安装成功了了。

 

2、由于 hadoop 使用 Maven 来进行项目构建的,因此需要提前安装此工具。

下载地址如下:
http://maven.apache.org/download.cgi

从打开的页面,可以看到很多的版本,我下载的是 Maven 3.0.5 版本


下载完成之后,将其复制到 /usr 目录下并使用
tar -zxvf apache-maven-3.0.5-bin.tar.gz
命令,将其解压到当前目录下,如下图:

然后将Maven的可执行目录添加到PATH环境变量中,如下所示
export PATH=$JAVA_HOME/bin:/usr/apache-maven-3.0.5/bin:$PATH


注:我为什么选择Maven 3.0.5的版本,是因为之前看其它人的帖子的时候说:使用最新的 Maven3.1.1,所以老是出现java.lang.NoClassDefFoundError: org/sonatype/aether/graph/DependencyFilter之类的错误。

测试设置是否成功的方法为:Log out 当前用户,然后重新登陆,再运行 mvn 命令 ,如

则表示安装成功了了。

3、protobuf下载地址如下:
https://code.google.com/p/protobuf/downloads/list

从打开的页面,下载protobuf-2.5.0.tar.gz 版本

下载完成之后,将其复制到 /usr 目录下并使用
tar -zxvf protobuf-2.5.0.tar.gz
命令,将其解压到当前目录下,如下图:

然后进入 protobuf-2.5.0 目录,运行如下语句:
./configure
make
make check
make install

运行成功之后,通过如下方式来验证是否安装成功

 

4、安装其它参与编译的程序
yum install autoconf automake libtool cmake ncurses-devel openssl-devel gcc*

直接运行以下的命令行,等待安装完成即可。

5、编译 Hadoop-2.2.0 程序
注意:此处,我没有使用svn方式进行源代码的下载,因为太慢,我是直接将已经打包好的源码包,如下所示:

把hadoop-2.2.0-src.tar.gz文件下载成功之后,将其复制到 /usr 目录下并使用
tar -zxvf hadoop-2.2.0-src.tar.gz
命令,将其解压到当前目录下,如下图:

 进行 hadoop-2.2.0-src 目录,运行如下命令:
[root@CentOSx64 hadoop-2.2.0-src]#mvn package -Pdist,native -DskipTests -Dtar

在编译到 hadoop-auth 的时候会报,如下错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile (default-testCompile) on project hadoop-auth: Compilation failure: Compilation failure:
[ERROR] /home/chuan/trunk/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java:[84,13] cannot access org.mortbay.component.AbstractLifeCycle
[ERROR] class file for org.mortbay.component.AbstractLifeCycle not found


其解决方法已经在下面的链接中给出:
https://issues.apache.org/jira/browse/HADOOP-10110
,即,修改 /hadoop-2.2.0-src/hadoop-common-project/hadoop-auth 目录下的 pom.xml 文件,

 

增加红色框框中的内容,再将运行编译命令即可。

注:这个问题是2.2.0版本的bug,如何使用的是其它版本,是不会出现上面的错误的。

漫长的等待。。。。。。

编译结束之后会给出每个模块编译的结果和用时,如下所示:

 

其编译好的文件位于,


本地库位于,


到此,整个编译过程结束。

三、其它
其实编译的时间长,主要的原因是maven需要解释pom.xml文件,并检查hadoop依赖的jar 包,并进行下载。真正编译的时间到不是很长,下面我提供我这边编译时已经下载的jar包,将其解压到 ~/.m2/repository 目录下(此目录为默认目录,如果您修改过了,就请放到对应的目录下),

,希望能减少编译时间。

下载地址
http://pan.baidu.com/s/1kTibnEJ

个人防护装备实例分割数据集 一、基础信息 • 数据集名称:个人防护装备实例分割数据集 • 图片数量: 训练集:4524张图片 • 训练集:4524张图片 • 分类类别: 手套(Gloves) 头盔(Helmet) 未戴手套(No-Gloves) 未戴头盔(No-Helmet) 未穿鞋(No-Shoes) 未穿背心(No-Vest) 鞋子(Shoes) 背心(Vest) • 手套(Gloves) • 头盔(Helmet) • 未戴手套(No-Gloves) • 未戴头盔(No-Helmet) • 未穿鞋(No-Shoes) • 未穿背心(No-Vest) • 鞋子(Shoes) • 背心(Vest) • 标注格式:YOLO格式,适用于实例分割任务,包含边界框或多边形坐标。 • 数据格式:图片数据,来源于监控或相关场景。 二、适用场景 • 工业安全监控系统开发:用于自动检测工人是否佩戴必要的个人防护装备,提升工作场所安全性,减少工伤风险。 • 智能安防应用:集成到监控系统中,实时分析视频流,识别PPE穿戴状态,辅助安全预警。 • 合规性自动化检查:在建筑、制造等行业,自动检查个人防护装备穿戴合规性,支持企业安全审计。 • 计算机视觉研究:支持实例分割、目标检测等算法在安全领域的创新研究,促进AI模型优化。 三、数据集优势 • 类别全面:覆盖8种常见个人防护装备及其缺失状态,提供丰富的检测场景,确保模型能处理各种实际情况。 • 标注精准:采用YOLO格式,每个实例都经过精细标注,边界框或多边形坐标准确,提升模型训练质量。 • 真实场景数据:数据来源于实际环境,增强模型在真实世界中的泛化能力和实用性。 • 兼容性强:YOLO格式便于与主流深度学习框架(如YOLO、PyTorch等)集成,支持快速部署和实验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值