hadoop2.2.0集群配置 - 64位系统下编译源码过程
本人写这篇文章的目的是记录个人在hadoop集群搭建过程的一点经验,其中大部分内容来源于互联网,我按照别人的经验将本人安装配置过程记录下来,主要便于个人以后查阅使用,也可以让其他搭建环境与我相同的人在搭建过程中少走弯路。我掉过的坑,希望给以后的我和其他人一点提示。
搭建环境:【系统】:Redhat 5.6 x64位 【硬件】:i5 2450M 【内存】 8G 【硬盘】500G
编译提示:
1. 必须是能上网的机器,我使用的环境是能上网的,如果你机器不能上网,有可能依赖包和编译工具安装不了或者缺失,最后不能成功,不能上网的机器就别折腾了。
2. 服务器网络环境一定要先配置好,如果网速很慢,就需要慢慢等待,非常耗时,最好是网络速度快的,另外晚上比白天的下载快,所以能在晚上编译就晚上做。
3. 编译过程出现问题不要慌,一定要心细,看看是不是那一步没有做到位。程序比人要简单,可以就是可以,不可以就是不可以,有问题一定就是有原因,一步步排查,肯定能知道答案。
一、 编译环境搭建
(1). yum安装与配置
由于是用的Redhat系统,所以需要使用国内的yum源,这样才能更新各个需要的软件。
如果yum已经可以正常更新最新的最新,就不需要安装配置,如果新安装的Redhat系统,就需要安装配置yum源,具体安装配置请参考我的另一篇文章:
RedHat 如何使用CentOS的yum源 地址: http://chwshuang.iteye.com/blog/2016343
(2). 编译工具安装与配置
gcc、gcc-c++、make、cmake、make、openssl-devel、ncurses-devel
yum安装完成后,就可以用来安装编译工具了
依次执行以下命令安装 gcc、gcc-c++、make、cmake、make、openssl-devel、ncurses-devel
yum install gcc yum install gcc-c++ yum install make yum install cmake yum install openssl-devel yum install ncurses-devel
提示:如果安装提示失败,有几种可能:
1. yum软件安装错误,请按照第一项中的yum安装与配置重新配置
2. 网络连接失败,请保证服务器网络连接正常。通过 ping www.baidu.com 的方式查看
(3). jdk安装与配置
(3.1)下载
以root用户登录,在oracle官方网址下载频道,下载最新版本的JDK
JDK下载路径地址:http://www.oracle.com/technetwork/java/javase/archive-139210.html
选择 JSE 6 > Java SE Development Kit 6u45 > http://download.oracle.com/otn/java/jdk/6u45-b06/jdk-6u45-linux-x64-rpm.bin
将下载文件拷贝到 linux 的 /opt 目录
如果下载需要登录就注册一个用户再下载
(3.2)安装
以root用户登录,进入 /opt 目录,给文件授权,执行
chmod +x jdk-6u45-linux-x64-rpm.bin
然后执行
./jdk-6u45-linux-x64-rpm.bin
命令进行解压,然后安装jdk ,执行
rpm -ivh jdk-6u45-linux-amd64.rpm
命令进行安装,安装完成后,jdk就默认安装到了/usr/java/jdk1.6.0_45/目录
(3.3)配置
编辑环境变量文件,
vim /etc/profile
在文件结尾加入
## -------------------JAVA PATH------------------------## JAVA_HOME=/usr/java/jdk1.6.0_45 PATH=$PATH:$JAVA_HOME/bin export JAVA_HOME PATH
保存配置信息并更新,执行以下命令
source /etc/profile
(3.4)验证
通过执行以下命令查看是否配置成功:
echo $JAVA_HOME
java -version
如果安装成功显示内容如下:
[root@hadoop5 opt]# echo $JAVA_HOME /usr/java/jdk1.6.0_45 [root@hadoop5 opt]# java -version java version "1.4.2" gij (GNU libgcj) version 4.1.2 20080704 (Red Hat 4.1.2-54) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [root@hadoop5 opt]#
(4). maven安装与配置
(4.1)下载、解压
以root用户进入 /opt目录,在内联网的情况下执行以下命令进行maven下载
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.zip
下载apache-maven-3.1.1-bin.zip完成后,执行以下命令进行解压,解压完成后就有一个apache-maven-3.1.1的目录
unzip apache-maven-3.1.1-bin.zip
(4.2)配置
maven环境变量配置:先编辑环境变量文件
vim /etc/profile
在文件最后,加入maven配置
##-------------- maven -----------------## export MAVEN_HOME=/opt/apache-maven-3.1.1 export PATH=$PATH:$MAVEN_HOME/bin
保存配置信息并更新,执行以下命令
source /etc/profile
(4.3)验证
通过执行以下命令查看是否配置成功:
mvn -version
如果安装成功显示内容如下:
[root@hadoop5 opt]# mvn -verion Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 23:22:22+0800) Maven home: /opt/apache-maven-3.1.1 Java version: 1.6.0_45, vendor: Sun Microsystems Inc. Java home: /usr/java/jdk1.6.0_45/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "2.6.18-238.el5", arch: "amd64", family: "unix"
(4.4)maven国内源配置
由于目前国内网络很少能直接访问maven国外的默认源,所以需要配置国内的源,修改/opt/apache-maven-3.1.1/conf/settings.xml,添加国内源
vim /opt/apache-maven-3.1.1/conf/settings.xml
在<mirrors></mirros>标签中添加以下内容
<mirror> <id>nexus-osc</id> <mirrorOf>*</mirrorOf> <name>Nexusosc</name> <url>http://maven.oschina.net/content/groups/public/</url> </mirror>
在<profiles></profiles>中添加以下内容:
<profile> <id>jdk-1.6</id> <activation> <jdk>1.6</jdk> </activation> <repositories> <repository> <id>nexus</id> <name>local private nexus</name> <url>http://maven.oschina.net/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>local private nexus</name> <url>http://maven.oschina.net/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile>
(5)protobuf安装与配置
protobuf 下载地址: https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2
以root用户进入/opt目录,执行以下命令
(5.1)下载
wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2
(5.2)解压
tar -xjf protobuf-2.5.0.tar.bz2
(5.3)安装
cd protobuf-2.5.0
./configure --prefix=/opt/protoc
make
make install
(5.4)配置
修改环境变量文件,
vim /etc/profile
在文件最后加入protobuf的路径变量
##-------------- protoc -----------------## export PROTO_HOME=/opt/protoc export PATH=$PATH:$PROTO_HOME/bin
保存配置信息并更新,执行以下命令
source /etc/profile
(5.5)验证
执行以下命令
protoc --version
正常显示如下:
[root@hadoop5 protobuf-2.5.0]# protoc --version libprotoc 2.5.0 [root@hadoop5 protobuf-2.5.0]#
(6)findbugs安装与配置
以root用户进入/opt目录,执行以下命令
(6.1)下载
wget http://jaist.dl.sourceforge.net/project/findbugs/findbugs/2.0.3/findbugs-2.0.3.tar.gz
(6.2)解压
tar -xzf findbugs-2.0.3.tar.gz
(6.3)配置
修改环境变量文件,
vim /etc/profile
在文件最后加入findbugs的路径变量
##-------------- findbugs -----------------## export FINDBUGS_HOME=/opt/findbugs-2.0.3 export PATH=$PATH:$FINDBUGS_HOME/bin
保存配置信息并更新,执行以下命令
source /etc/profile
(6.4)验证
执行以下命令
findbugs -version
如果正常显示以下内容就说明安装成功
[root@hadoop5 opt]# findbugs -version 2.0.3 [root@hadoop5 opt]#
二、hadoop2.2.0源码编译
(1)hadoop2.2.0源码下载与配置
(1.1)下载、解压
以root用户登录/home/hadoop/目录,如果没有,请执行
mkdir -p /home/hadoop
创建目录后,进入目录
cd /home/hadoop
执行源码下载命令
wget http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0-src.tar.gz
解压
tar -zvxf hadoop-2.2.0-src.tar.gz
(1.2)修复源码bug
在hadoop2.2.0的源码中,有一个bug,在hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/pom.xml文件中少一个一部分内容,就是下面带 + 号的行,所以需要我们手动添加。
hadoop-common-project/hadoop-auth/pom.xml (working copy) @@ -54,6 +54,11 @@ </dependency> <dependency> <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty-util</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mortbay.jetty</groupId> <artifactId>jetty</artifactId> <scope>test</scope> </dependency>
执行编辑命令
vim /home/hadoop/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/pom.xml
然后输入
/org.mortbay.jetty
执行回车,就能找到下面的内容:
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<scope>test</scope>
</dependency>
<dependency>
将下面内容拷贝到上面红色内容之间就可以了。
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
(2). hadoop2.2.0编译
(2.1)编译
以root用户进入 /opt/hadoop/hadoop-2.2.0-src 目录
cd /opt/hadoop/hadoop-2.2.0-src
执行编译命令,然后就是几十分钟的等待时间了,机器好的10分钟左右,机器差的估计一个小时左右,就等吧。
mvn package -Pdist,native -DskipTests -Dtar
(2.2) 验证
1. 如果安装过程没有提示 ERROR信息,最后结束内容与下面内容类似,恭喜你,编译成功了!还可以进一步验证!
[INFO] hadoop-mapreduce .................................. SUCCESS [4.872s] [INFO] Apache Hadoop MapReduce Streaming ................. SUCCESS [6.674s] [INFO] Apache Hadoop Distributed Copy .................... SUCCESS [47.727s] [INFO] Apache Hadoop Archives ............................ SUCCESS [4.108s] [INFO] Apache Hadoop Rumen ............................... SUCCESS [10.765s] [INFO] Apache Hadoop Gridmix ............................. SUCCESS [6.466s] [INFO] Apache Hadoop Data Join ........................... SUCCESS [3.907s] [INFO] Apache Hadoop Extras .............................. SUCCESS [5.539s] [INFO] Apache Hadoop Pipes ............................... SUCCESS [17.595s] [INFO] Apache Hadoop Tools Dist .......................... SUCCESS [3.130s] [INFO] Apache Hadoop Tools ............................... SUCCESS [0.133s] [INFO] Apache Hadoop Distribution ........................ SUCCESS [46.909s] [INFO] Apache Hadoop Client .............................. SUCCESS [18.105s] [INFO] Apache Hadoop Mini-Cluster ........................ SUCCESS [1.900s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1:20:30.832s [INFO] Finished at: Sat Feb 15 23:38:27 CST 2014 [INFO] Final Memory: 91M/243M [INFO] ------------------------------------------------------------------------
2. 版本验证
进入hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0/bin目录,执行以下命令:
./hadoop version
查看结果是以下内容什么编译成功:
[root@hadoop5 bin]# ./hadoop version Hadoop 2.2.0 Subversion Unknown -r Unknown Compiled by root on 2014-02-15T14:53Z Compiled with protoc 2.5.0 From source with checksum 79e53ce7994d1628b240f09af91e1af4 This command was run using /home/hadoop/hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0.jar [root@hadoop5 bin]#
3. 查看hadoop文件版本信息
在hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0/目录下,执行以下命令,如果文件libhadoop.so.1.0.0 后面出现 ELF 64-bit 等字样,说明编译64位文件成功。如果是官方下载的版本,这个地方就应该是32-bit。
file lib/native/*
[root@hadoop5 hadoop-2.2.0]# file lib/native/* lib/native/libhadoop.a: current ar archive lib/native/libhadooppipes.a: current ar archive lib/native/libhadoop.so: symbolic link to `libhadoop.so.1.0.0' lib/native/libhadoop.so.1.0.0: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped lib/native/libhadooputils.a: current ar archive lib/native/libhdfs.a: current ar archive lib/native/libhdfs.so: symbolic link to `libhdfs.so.0.0.0' lib/native/libhdfs.so.0.0.0: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped [root@hadoop5 hadoop-2.2.0]#
到此,hadoop2.2.0在64位 RedHat5.6 系统中编译完成。下一步可以将编译的hadoop在集群环境进行部署了。
相关推荐
根据提供的文件标题、描述、标签以及部分内容,我们可以推断出这份文档主要涉及Hadoop 2.2.0版本在Linux 64位系统上的安装包和源码包的相关信息。以下将详细介绍与这些关键词相关的重要知识点。 ### Hadoop 2.2.0 ...
这个64位的native文件是Hadoop针对64位Linux操作系统编译的一组库文件,它们对于Hadoop在Linux环境下高效运行至关重要。在Hadoop的源代码中,native库主要是由C++编写的,提供了与Java层交互的关键功能,尤其是涉及...
在压缩包 "hadoop-common-2.2.0-bin-master" 中,"master"可能表示这是源代码的主分支,包含了所有Hadoop Common的源代码,这对于开发者来说非常有价值,因为他们可以直接查看和修改代码,了解其工作原理,并根据...
总结来说,安装64位的Hadoop 2.2.0涉及下载源代码、配置编译环境、编译源代码、安装和配置Hadoop以及启动服务。这个过程对于理解和掌握Hadoop的工作原理非常有帮助,同时也能确保在64位Linux系统上顺利运行大数据...
总结来说,`spark-2.2.0-bin-hadoop2.6.tgz`是一个用于在Hadoop YARN环境下运行Spark 2.2.0的压缩包,它包含所有必要的组件和配置,让开发者能够充分利用Spark的高效计算能力以及Hadoop的资源管理优势。通过深入理解...
这个压缩文件包含了运行Hadoop所需的所有组件和配置文件,用户可以将其解压后在64位Linux系统上部署和使用Hadoop集群。 Hadoop的主要组件包括: 1. HDFS(Hadoop Distributed File System):这是一个分布式文件...
压缩包中的文件名称列表:"hadoop-common-2.2.0-bin-master" 暗示这是一个主分支的二进制构建,包含了所有源码编译后的可执行文件和库。在Hadoop的结构中,"bin"目录通常包含可执行脚本,这些脚本用于启动、停止...
本人经过4个小时顺利将hadoop官方的32位编译为64位,通过测试可用,方便在64位linux安装hadoop的用户使用,编译时间很长,也很苦啊,解决了很多报错的问题,所以分多要一点,还望理解! 注:*****因为本人CSDN等级...
首先,我们要明确的是,Hadoop 2.2.0的官方发行版并不直接支持64位系统,因此我们需要从源码编译以适应64位环境。以下是详细的步骤: 1. **环境准备**: - 操作系统:Linux CentOS 6.5 64位 - Java开发环境:JDK ...
这一过程通常包括获取源码、配置编译环境、修改配置文件以适应64位架构,然后编译和安装。 附件提供的“hadoop-2.2.0 native lib for Ubuntu AMD64”正是这样一个解决方案,它包含了在Ubuntu AMD64系统下编译出的...
`build.xml`文件通常是Ant构建工具的配置文件,用于编译和打包Java源代码。在Eclipse中,你可以利用Ant插件,通过执行`build.xml`中的任务来构建JAR文件,这个JAR文件将包含你的MapReduce程序。 6. **调试设置**:...
在Ubuntu 12.04系统中,如果你需要将32位的Hadoop 2.2.0编译成64位,以下是一份详细的步骤指南。首先,确保你的系统支持64位编译,并且你已经具备了必要的权限。 1. **安装GCC**: 在编译任何软件之前,你需要安装...
- `spring-data-hadoop-2.2.0.RELEASE-sources.jar`:提供源代码,便于开发者查看和学习Spring Data Hadoop的实现细节,包括各种抽象类、接口和工具类。 4. **应用场景**: - 大数据分析:Spring Data Hadoop可以...
通过构建脚本(通常是Ant或Maven),可以编译源码、生成jar包,并部署到Hadoop集群。 7. **conf**目录:包含了默认的配置文件,如core-site.xml、hdfs-site.xml和mapred-site.xml等,这些配置可以自定义以适应不同...
hadoop 2.2.0的64位linux版。由于官网提供的hadoop2.2.0 lib/native下的.so均为32位版本,因此用源代码编译了适合64位linux的版本。本人在生产环境下即是用该版本。
hadoop 2.2.0的64位linux版。由于官网提供的hadoop2.2.0 lib/native下的.so均为32位版本,因此用源代码编译了适合64位linux的版本。本人在生产环境下即是用该版本。
`hadoop2.6_winutils_x64.zip`文件则包含了适用于64位Windows系统的winutils工具。解压后,将winutils.exe和hadoop.dll放置在合适的路径下,并确保环境变量HADOOP_WINUTILS_PATH指向这个位置。这样,Hadoop在执行...