编译Hadoop2.9源码并搭建环境

大数据 Hadoop
因为以前安装hadoop编译版的时候遇到过问题,时间比较久了,具体问题有些描述不清了,建议大家下载源码自己编译安装,如果遇到bug自己直接可以修改安装。本文的实验系统是mac,但是其他环境类似。

因为以前安装hadoop编译版的时候遇到过问题,时间比较久了,具体问题有些描述不清了,建议大家下载源码自己编译安装,如果遇到bug自己直接可以修改安装。本文的实验系统是mac,但是其他环境类似。

1. 安装jdk

2. 安装maven

3. 安装protobuf

4. 检查openssl环境变量是否已经配置 

\

5. 安装cmake

https://cmake.org/files/v3.9/cmake-3.9.6-Darwin-x86_64.dmg

编辑profile配置环境变量 :

  1. sudo vi /etc/profile 

在最下面添加: 

  1. export CMAKE_HOME=/Applications/CMake.app/Contents  
  2. export PATH=$CMAKE_HOME/bin:$PATH 

然后执行下面命令使配置生效:

  1. source /etc/profile 

6. 配置ssh免密钥登录

参考文章 http://www.jianshu.com/p/b354000ae5e2

7. 下载hadoop源码

http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.9.0/hadoop-2.9.0-src.tar.gz

解压到安装目录,查看编译说明: 

\
\

编译需要很多依赖,有些是必须的缺少可能会导致编译失败,每个电脑环境可能不太一致,可以先进行编译,遇到错误再安装。在编译过程中如果网络不稳定导致下载jar包失败,这时只需要重新执行命令即可。 

\

8. 编译

执行编译命令 :mvn clean package -Pdist,native,docs -DskipTests -Dtar

全部编译通过应该如下图所示 

\

编译遇到的问题:

8.1. 编译hadoop-pipes需要OPENSSL_ROOT_DIR环境变量 

\

8.2. 编译到hadoop-aws:jar时缺少依赖包DynamoDBLocal:jar 

\

需要在maven的配置文件添加settings.xml 添加mirror 

  1. dynamodb-local-oregon  
  2. DynamoDB Local Release Repository 

https://s3-us-west-2.amazonaws.com/dynamodb-local/release

*

亚马逊官网给出了获取的地址,上面的方法如果不行可以参考亚马逊官网说明:

官网说明地址 

\

如果还下载不了可以先手动下载这个jar包,然后将这个jar包添加到本地maven仓库,命令:

  1. mvn install:install-file -Dfile=/Users/zl/Downloads/DynamoDBLocal/1.11.86/DynamoDBLocal-1.11.86.jar -DgroupId=com.amazonaws -DartifactId=DynamoDBLocal -Dversion=1.11.86 -Dpackaging=jar 

9. 单机版搭建

编译完的安装包在hadoop-dist/target目录下面 

\

移动到安装目录后修改配置文件,配置文件都在hadoop-2.9.0/etc/hadoop下,可以参考官方的配置文档。

配置环境变量

  1. vi /etc/profile 

添加: 

  1. # HADOOP ENV 
  2. export HADOOP_HOME=/work/tools/hdp/hadoop-2.9.0 
  3. export HADOOP_INSTALL=$HADOOP_HOME 
  4. export HADOOP_MAPRED_HOME=$HADOOP_HOME 
  5. export HADOOP_COMMON_HOME=$HADOOP_HOME 
  6. export HADOOP_HDFS_HOME=$HADOOP_HOME 
  7. export HADOOP_YARN_HOME=$HADOOP_HOME 
  8. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 
  9. export HADOOP_PREFIX=$HADOOP_HOME 
  10. export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop 
  11. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 
  12. export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc= -Djava.library.path=$HADOOP_HOME/lib" export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native/ 
  13. export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH 
  14. export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH 
  15. export CLASSPATH=.$HADOOP_CONF_DIR:$CLASSPATH 

9.1 core-site.xml 

\

9.2 hdfs-site.xml 

\

9.3 mapred-site.xml 

\

9.4 yarn-site.xml 

\

配置完成之后格式化namenode

  1. hdfs namenode -format 

 \

遇到的一个问题

  1. WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 

解决办法

添加环境变量

  1. export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc= -Djava.library.path=$HADOOP_HOME/lib" export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native/export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH 

10.启动验证

启动hdfs

sbin/start-dfs.sh

启动完之后查看进程

jps 

\

用浏览器可以看到运行状态

http://localhost:50070/

启动yarn

sbin/start-yarn.sh

查看进程 

\

在浏览器查看yarn的运行状态

http://localhost:8288

搭建分布式环境和伪分布式环境类似,只不过是将各个功能分配到不同的节点之上,大部分的配置一样,具体可以参考官方文档。

 

责任编辑:未丽燕 来源: 网络大数据
相关推荐

2023-08-11 14:06:58

鸿蒙Windows

2020-04-01 11:11:35

Hadoop运行环境分布式

2010-06-04 16:17:02

2018-07-10 15:15:11

2022-10-14 15:44:03

大数据Hadoop

2012-11-01 17:15:04

2020-09-30 08:54:16

鸿蒙

2012-11-07 17:25:46

hadoopUbuntu 12.0

2023-07-10 08:43:53

SpringIDEA

2022-12-05 08:41:39

Redis调试环境源码

2010-01-13 10:14:45

2017-05-11 11:00:11

大数据Hadoop数据处理

2014-09-04 09:35:17

2010-06-04 17:43:12

Hadoop集群搭建

2011-07-06 15:44:26

iPhone XCode Leopard

2012-07-31 13:28:03

GAE

2015-08-07 11:11:15

反编译源代码Mac

2011-12-07 16:11:50

Hadoop集群搭建

2016-10-27 09:37:10

Hadoop集群配置

2013-06-08 14:34:42

Hadoop 2.0
点赞
收藏

51CTO技术栈公众号