hadoop2.1.0编译安装教程(转载)

由于现在hadoop2.0还处于beta版本,在apache官方网站上发布的beta版本中只有编译好的32bit可用,如果你直接下载安装在64bit的linux系统的机器上,运行会报一个INFO
util.NativeCodeLoader - Unable to load native-hadoop library for your
platform... using builtin-java classes where
applicable的错误,但在实际测试中是可以正常安装并可以运行自带的wordcont例子,所以这个错误不会导致hadoop2.1.0的安装和运行失败,此错误引起原因是由于鉴于性能问题以及某些Java类库的缺失,对于某些组件,Hadoop提供了自己的本地实现。
这些组件保存在Hadoop的一个独立的动态链接的库里。这个库在*nix平台上叫libhadoop.so,此文件在发行的hadoop版本lib/native目录下。详细请看下面的这个官方链接hadoop.apache.org/docs/r2.1.0-beta/hadoop-project-dist/hadoop-common/NativeLibraries.html。当然这里也可以在core-site.xml里配置不使用本地库。

一、准备环境(先列出这些所需的软件环境,如果不安装除hadoop2.1.0源码中BUILDING.txt要求的软件环境则编译的时候会报错,后面会加以说明):

1.CentOS-6.4-x86_64-bin-DVD1(1).iso(不一定使用centos系统,主流的unix
like即可,但后面软件环境可能有出入)

下载地址:isoredirect.centos.org/centos/6/isos/x86_64/

2.hadoop-2.1.0-beta-src.tar.gz

下载地址:apache.dataguru.cn/hadoop/common/hadoop-2.1.0-beta/

下载地址:svn.apache.org/repos/asf/hadoop/common/tags/release-2.1.0-beta/(svn工具checkout链接)

上面两个链接都可以获取hadoop2.1.0-beta源码

3.jdk-7u40-linux-x64.rpm(hadoop2.1.0源码中BUILDING.txt中要求使用1.6
or newer)

下载地址:www.oracle.com/technetwork/java/ ... nloads-1880260.html

4.apache-maven-3.0.5-bin.tar.gz(hadoop2.1.0源码中BUILDING.txt中要求使用3.0,从hadoop2.0版本以后使用maven编译,之前用Ant)

下载地址:maven.apache.org/download.cgi(目前最新版本3.1,hadoop2.1.0源码中BUILDING.txt中要求使用3.0)

5.apache-ant-1.9.2-bin.zip(下载二进制版本的,这个需要编译安装findbugs)

下载地址:ant.apache.org/bindownload.cgi

6.CMake 2.6 x86-64 or newer (if compiling native
code)(hadoop2.1.0源码中BUILDING.txt中要求使用2.6 or newer)

下载地址:www.cmake.org/cmake/resources/software.html

7.findbugs-2.0.2-source.zip(hadoop2.1.0源码中BUILDING.txt中要求使用1.3.9
or newer)

下载地址:sourceforge.jp/projects/sfnet_findbugs/releases/

如果不安装则报如下错误:

[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-antrun-plugin:1.6:run (site) on project
hadoop-common: An Ant BuildException has occured: stylesheet
/usr/hadoop2.1/hadoop-2.1.0-beta-src/hadoop-common-project/hadoop-common/${env.FINDBUGS_HOME}/src/xsl/default.xsl
doesn‘t exist. -> [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/confluen ...
oExecutionException

[ERROR] 
[ERROR] After correcting the
problems, you can resume the build with the command
[ERROR]   mvn
<goals> -rf :hadoop-common

8.zlib-devel-1.2.3-3.x86_64.rpm

下载地址:rpm.pbone.net/index.php3/stat/4/idpl/8192688/dir/startcom_5/com/zlib-devel-1.2.3-3.x86_64.rpm.html

如果不安装则报如下错误:

[exec] CMake Error at
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:57
(MESSAGE):
[exec]   Could NOT find ZLIB (missing:
ZLIB_INCLUDE_DIR)
[exec] Call Stack (most recent call first):
[exec] 
 /usr/share/cmake/Modules/FindZLIB.cmake:22
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
[exec]   CMakeLists.txt:89
(find_package)
[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: exec returned: 1 -> [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/confluen ...
oExecutionException

[ERROR] 
[ERROR] After correcting the
problems, you can resume the build with the command
[ERROR]   mvn
<goals> -rf :hadoop-common

9.protobuf-2.5.0.tar.gz

下载地址:code.google.com/p/protobuf/

二、准备环境环节中的软件安装

1.安装centos系统,不在这里介绍网上很多教程

2.解压hadoop-2.1.0-beta-src.tar.gz源码到/usr/hadoop/  命令如下:tar
-zxvf hadoop-2.1.0-beta-src.tar.gz -C /usr/hadoop/

3.用rpm命令安装:rpm -ivh
jdk-7u40-linux-x64.rpm,如果你安装centos是带有界面的,双击rpm文件即可安装。

安装完成后,配置环境变量,使用vi命令编辑profile文件 vi /etc/profile
移动到最后一行添加以下内容:

export
JAVA_HOME=/usr/java/jdk1.7.0_40
    export
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/lib/dt.jar
   
export PATH=$JAVA_HOME/bin:$PATH

添加完成后,运行source /etc/profile使其立即生效

运行命令java -version查看是否安装成功,如下图所示则说明安装成功。

4.解压apache-maven-3.0.5-bin.tar.gz到/usr 命令如下:tar
-zxvf apache-maven-3.0.5-bin.tar.gz -C /usr/

配置环境变量使用vi命令编辑profile文件 vi /etc/profile
移动到最后一行添加以下内容:

export MAVEN_HOME=/usr/apache-maven-3.0.5
    export
PATH=$PATH:$MAVEN_HOME/bin

添加完成后,运行source /etc/profile使其立即生效,运行命令mvn
-version查看是否安装成功,如下图所示则说明安装成功。

5.同样把apache-ant-1.9.2-bin.zip解压到/usr/下,配置环境变量使用vi命令编辑profile文件
vi /etc/profile 移动到最后一行添加以下内容:

export ANT_HOME=/usr/apache-ant-1.9.2
    export
PATH=$PATH:$ANT_HOME/bin

运行命令ant -version查看是否安装成功,如下图所示则说明安装成功。

注:虽然本身centos操作系统自带ant,但不好用,编译findbugs会失败。所以要重新安装。

6.安装CMake,可以使用yum命令在线安装,yum命令不熟悉的网上查资料,安装命令:yum install cmake
,如图所示

下面需要再安装openssl-devel,安装命令yum install
openssl-devel,此步不做的话会报如下错误

[exec] CMake Error at
/usr/share/cmake/Modules/FindOpenSSL.cmake:66 (MESSAGE):
[exec] 
 Could NOT find OpenSSL
[exec] Call Stack (most recent call
first):
[exec]   CMakeLists.txt:20
(find_package)
[exec] 
[exec] 
[exec] -- Configuring
incomplete, errors occurred!
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-antrun-plugin:1.6:run (make) on project
hadoop-pipes: An Ant BuildException has occured: exec returned: 1 -> [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/confluen ...
oExecutionException

[ERROR] 
[ERROR] After correcting the
problems, you can resume the build with the command
[ERROR]   mvn
<goals> -rf :hadoop-pipes

7.解压findbugs-2.0.2-source.zip到/usr,使用ant编译安装。如果不安装则编译的时候会报

hadoop-common-project/hadoop-common/${env.FINDBUGS_HOME}/src/xsl/default.xsl
doesn’t exist. -> [Help 1]

先进入解压后的目录cd /usr/findbugs-2.0.2

执行ant命令 如图所示则说明成功

配置环境变量使用vi命令编辑profile文件 vi /etc/profile
移动到最后一行添加以下内容:

export FINDBUGS_HOME=/usr/findbugs-2.0.2
    export
PATH=$PATH:$FINDBUGS_HOME/bin

添加完成后,运行source /etc/profile使其立即生效

8.用rpm命令安装:rpm -ivh
zlib-devel-1.2.3-3.x86_64.rpm,如果你安装centos是带有界面的,双击rpm文件即可安装。

也可以不用下载rpm文件,用yum命令在线安装也可以,安装命令:

yum install zlib

yum install zlib-devel

9.tar命令解压protobuf-2.5.0.tar.gz到/usr目录下,

进入到解压后的目录下:cd /usr/protobuf-2.5.0

在linux64bit下编译执行./configure LDFLAGS="-s"
CFLAGS=-m64 CXXFLAGS=-m64 FFLAGS=-m64 FCFLAGS=-m64

--build=x86_64-gnu-linux --host=x86_64-gnu-linux
--target=x86_64-gnu-linux

在linux32bit下编译使用执行./configure LDFLAGS="-s"
CFLAGS=-m32 CXXFLAGS=-m32 FFLAGS=-m32 FCFLAGS=-m32 --

--build=x86_64-gnu-linux --host=x86-gnu-linux
--target=x86-gnu-linux

参数说明如下:

--prefix          
      安装目录;

--LDFLAGS="-s" 
         消除库的依赖性;

--CFLAGS    
             C compiler flags;

--CXXFLAGS    
           C++ compiler flags;

--FCFLAGS             
   设置compiler是32bit还是64bit;

--build             
     configure for building on BUILD;

--host             
      cross-compile to build programs to run on
HOST;

--target             
    configure for building compilers for TARGET;

如果直接进行编译此报错如下图,在环境变量设置中查找不到编译器。

解决上面问题,需要安装

yum install glibc-headers

yum install glibc-devel

yum install gcc

yum install gcc-c++

其实直接安装最后一项即可,因为gcc-c++安装的时候会依赖上面的三个包的安装,所以直接运行yum
install gcc-c++

如图所示

安装完成后再执行./configure LDFLAGS="-s" CFLAGS=-m64
CXXFLAGS=-m64 FFLAGS=-m64 FCFLAGS=-m64

--build=x86_64-gnu-linux --host=x86_64-gnu-linux
--target=x86_64-gnu-linux

make

male install

执行protoc --version 返回版本号则证明安装成功

如下图则说明安装成功

三、hadoop2.1.0编译

1.进入hadoop2.1.0解压后的源码目录:cd
/usr/hadoop/hadoop-2.1.0-beta-src

2.执行mvn命令编译,此过程需要连接到网络,编译的速度取决于你的网速,在源码的BUILDING.txt文件说明中有以下几种

Building distributions:

    2.1.Create binary distribution
without native code and without documentation:

    $
mvn package -Pdist -DskipTests -Dtar

   
2.2.Create binary distribution with native code and with
documentation:

 
  $ mvn package -Pdist,native,docs -DskipTests -Dtar

   
2.3.Create source distribution:

 
  $ mvn package -Psrc -DskipTests

   
2.4.Create source and binary distributions with native code and
documentation:

 
  $ mvn package -Pdist,native,docs,src -DskipTests -Dtar

 
  2.5.Create a local staging version of the website (in
/tmp/hadoop-site)

 
  $ mvn clean site; mvn site:stage
-DstagingDirectory=/tmp/hadoop-site

我们选择2.2执行mvn package -Pdist,native,docs
-DskipTests -Dtar

执行结果如下图,执行时间大约用了40多分钟。

编译后的项目发布版本在/usr/hadoop/hadoop-2.1.0-beta-src/hadoop-dist/target/目录下,如图说明

四、hadoop2.1.0单机安装

1.把我们上面编译好的项目拷贝到/usr/hadoop目录下

2.配置环境变量,编辑vi /etc/profile文件,移动到最后一行添加如下数据

[html] view
plain
copy

  • export HADOOP_DEV_HOME=/usr/hadoop/hadoop-2.1.0-beta
  • export PATH=$PATH:$HADOOP_DEV_HOME/bin
  • export PATH=$PATH:$HADOOP_DEV_HOME/sbin
  • export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}
  • export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
  • export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
  • export YARN_HOME=${HADOOP_DEV_HOME}
  • export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
  • export HDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
  • export YARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop

保存退出,执行source /etc/profile使其立即生效。

3.配置ssh免密码登陆

由于centos已经自带给安装好,如果你系统中没有安装ssh请先进行安装。在这里不做说明,网上大把的。

执行ssh-keygen -t rsa -P "" 加上-P
""参数只需要一次回车就可以执行完毕。不加需要三次回车

执行cd /root/.ssh

执行ls 你会看到如下图所示文件,会产生公私钥,后缀为.pub是公钥。

执行id_dsa.pub >>
authorized_keys把公钥加入到authorized_keys

测试命令:ssh localhost,如果不需要输入密码就能连接,则说明成功配置

4.编写hadoop配置文件,在目录etc/hadoop下,一共五个文件需要配置,分别是:

hadoop-env.sh,core-site.xml,hdfs-site.xml,

mapred-site.xml(etc/hadoop没有这个配置文件,但有mapred-site.xml.template复制一份,去掉.template后缀),yarn-site.xml

4.1 编辑hadoop-env.sh加入export
JAVA_HOME=/usr/java/jdk1.7.0_40

4.2 编辑core-site.xml

[html] view plaincopy

  • <configuration>

  • <property>

  • <name>fs.defaultFS</name>

  • <value>hdfs://localhost:8020</value>

  • </property>

  • </configuration>

4.3 编辑hdfs-site.xml

[html] view plaincopy

  • <configuration>

  • <property>

  • <name>dfs.namenode.name.dir</name>

  • <value>file:/usr/hadoop/hadoop-2.1.0-beta/dfs/name</value>

  • <final>true</final>

  • </property>

  • <property>

  • <name>dfs.datanode.data.dir</name>

  • <value>file:/usr/hadoop/hadoop-2.1.0-beta/dfs/data</value>

  • <final>true</final>

  • </property>

  • <property>

  • <name>dfs.replication</name>

  • <value>1</value>

  • </property>

  • <property>

  • <name>dfs.permissions</name>

  • <value>false</value>

  • </property>

  • </configuration>

4.4 编辑mapred-site.xml

[html] view plaincopy

  • <configuration>

  • <property>

  • <name>mapreduce.framework.name</name>

  • <value>yarn</value>

  • </property>

  • </configuration>

4.5 编辑yarn-site.xml

[html] view plaincopy

  • <configuration>

  • <property>

  • <name>yarn.nodemanager.aux-services</name>

  • <value>mapreduce.shuffle</value>

  • </property>

  • </configuration>

5. 格式化HDFS文件系统

执行命令 hadoop namenode -format

执行结果如图所示,则说明执行成功。

需要说明的是,从2.0以后启动和停止hadoop的命令start-all.sh和stop-all.sh不建议使用,开始摒弃掉

取而代之的将使用start-dfs.sh和start-yarn.sh启动hadoop,详细请看官方说明,

分别运行start-dfs.sh和start-yarn.sh守护进程,如下图运行正常,并且使用自己编译的hadoop版本没有报无法加载本地库的错误

访问localhost:50070正常

访问资源管理界面localhost:8088,hadoop从版本2.0以后界面功能变的很强大

五、hadoop2.1.0单机运行hadoop自带的wordcount例子

1.在hdfs文件系统创建两个目录/tmp/input

hadoop fs -mkdir /tmp

hadoop fs -mkdir /tmp/input

2.从本地上传一个文件到hdfs

hadoop fs -put /usr/hadoop/test.txt /tmp/input

3.查看test.txt文件是否成功上传到hdfs上

hadoop fs -ls /tmp/input

如图已经上传成功

4.执行wordcount自带的例子

切换到如图所示目录

执行如图所示命令,此时运行一个job任务

任务运行成功

查看执行的结果,和预期的结果一致

hadoop2.1.0编译安装教程(转载),布布扣,bubuko.com

时间: 2024-10-09 14:20:48

hadoop2.1.0编译安装教程(转载)的相关文章

【转载】Ogre3d 2.1 源码编译安装教程

原文:Ogre3d 2.1 源码编译安装教程 今年是3D手游年,今年也是游戏引擎战争进入白热的一年. 移动游戏的红海时代,让各大端游也忍不住纷纷伸出大白腿,Unreal.CryEngine纷纷宣布自己引擎免费,且不说效果怎么样,反正免费一个我就下过来折腾一下.今日在群里得知,两年没更新的Ogre3d更新了,从1.9版本直接更新到了2.1.于是又折腾了一番. 对于习惯了Unity3d一个安装包安装的人来说,Ogre3d 的编译安装也是够复杂的了.下面就一步一步,似爪牙吧. 首先我们来到Ogre3d

Linux(centos)下mysql编译安装教程

Linux下mysql编译安装教程 #查看linux发行版本号 cat /etc/issue #查看linux内核版本 uname -r 本文测试环境centOS6.6 一.Linux下编译安装MySQL前的准备工作 在线安装编译源码所需的工具和库(无法联网的话要事先准备软件,或者系统盘) yum install gcc gcc-c++ ncurses-devel perl 从mysql5.5起源代码编译需要借助cmake这款编译工具.从http://www.cmake.org下载cmake源码

CentOS 7.0编译安装Nginx+MySQL+PHP

转自http://www.centoscn.com/CentosServer/www/2014/0904/3673.html 准备篇: CentOS 7.0系统安装配置图解教程 http://www.centoscn.com/image-text/setup/2014/0724/3342.html 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi

CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14

转载自http://www.osyunwei.com/archives/7891.html 准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemc

【hadoop2.6.0】安装+例子运行

由于下载的是hadoop的最新版,网上各种杂七杂八的东西都不适用.好在官网上说的也够清楚了.如果有人看这篇文章的话,最大的忠告就是看官网. 官网2.6.0的安装教程:http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/SingleCluster.html hdfs指令:http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common

hadoop-2.2.0编译

由于从官网下载的hadoop中依赖包 native hadoop library是基于32位版本的,在64位机器上安装,会出现以下错误: 2014-05-30 19:47:49,703 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: registered UNIX signal handlers for [TERM, HUP, INT]2014-05-30 19:47:49,887 WARN org.apache.hadoop.hdfs

VS2010 Boost编译安装(转载)

把项目从VS2008搬到VS2010的时候,导入原来的编译好的boost库居然连接失败, 提示:LINK : fatal error LNK1104: 无法打开文件“libboost_system-vc100-mt-1_47.lib”  错误 网上找答案,才知道不同的编译器所使用的boost库编译命令是不同的: 输入bjam --toolset=msvc-10.0 --build-type=complete stage 开始编译(VS2010的) (如果是VS2005, 则为msvc-8.0:如

[转] Windows+VS2013爆详细Caffe编译安装教程

转 Windows+VS2013爆详细Caffe编译安装教程 1. 安装cuda Cuda是英伟达推出的GPU加速运算平台 我这里安装的是cuda7.5,已经安装过的忽略,还没有安装过的这里有安装教程.windows下面安装还是非常简单的. 点击打开链接    (我的显卡是1080 现在支持cuda8.0 所以我下的是8.0) 2. 下载cuDNN(其实是个压缩包)  注意现在8.0出来了,我下的是cuDNN v5 (May 27, 2016), for CUDA 8.0 RC https://

Linux下nginx编译安装教程和编译参数详解

这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # yum install pcre* //如过你已经装了,请跳过这一步 2.安装openssl 需要ssl的支持,如果不需要ssl支持,请跳过这一步 复制代码代码如下: # yum install openssl* 3.gzip 类库安装 复制代码代码如下: yum install zlib zlib-