本安装教程基于:
- 海牛部落Hadoop系列教程(四):编译Hadoop源码 http://www.hainiubl.com/topics/82
- Hadoop权威指南中文版
安装环境:
- 物理机 MacOS 10.13.6
- 虚拟机 VirtualBox
- 虚拟机系统 CentOS 7
在安装的过程中查询很多博客,会发现采用安装文件安装后期会有很多问题,所以采用了Hadoop源码安装,其安装需要通过Maven管理来实现。
相关文件下载:
相关下载网址:
Hadoop: https://hadoop.apache.org/releases.html (2019年),选择Source下载,并选择网站提供的合适镜像进行下载
Apache-ant: http://ant.apache.org/
Apache-maven: http://maven.apache.org/download.cgi
Findbugs: http://findbugs.sourceforge.net/downloads.html
Protobuf: https://github.com/protocolbuffers/protobuf/releases 注意版本选择
Snappy: https://github.com/google/snappy/releases 注意版本选择,CentOS 7 的自带cmake工具为2.8, 而最新snappy-1.1.7需要cmake3.0以上版本。为避免麻烦选择1.1.3版本
java jdk: Oracle官网进行下载,注意请选择jdk1.8。原因:在安装过程中发现maven配置安装需要使用jdk1.8。使用1.7会出现如下问题:
1 | Unrecognized VM option 'MaxMetaspaceSize=512M' |
MaxMetaspaceSize为Java8中新引入的参数,如果当前环境使用的是java7或更低版本,把编译环境改为java8后就OK了。
http://www.codingwhy.com/view/785.html
远程登录虚拟主机,使用rz工具将所有文件上传
查看CentOS 7 基本工具配置:
工具与Hadoop安装
1 | 解压与压缩命令: |
切换到root权限下,将Hadoop源码包解压到/usr/local
1
tar xvzf hadoop-2.9.2-src.tar.gz -C /usr/local
查看/usr/local/hadoop-2.9.2-src/BUILDING.txt查看Requirements:
安装源码编译需要的本地库
1
2yum -y install svn ncurses-devel gcc*
yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel bzip2注意,如果zlib-devel和openssl-devel没有安装,会出现安装报错,executable通常显示“cmake”
http://www.voidcn.com/article/p-bkvnropx-bog.html安装包部分
3.1 protobuf 安装, 将protobuf压缩包解压至/usr/local/1
2
3
4
5
6tar xvzf protobuf-2.5.0.tar.gz -C /usr/local
cd ./protobuf-2.5.0/
./configure
make
make install
protoc --version #查看版本信息验证安装成功3.2 apache-ant 安装, 解压至/usr/local
3.3 findbugs安装, 解压至/usr/local1
/usr/local/findbugs-3.0.1/bin/findbugs -version #查看版本验证
3.4 maven安装, 解压至/usr/local
3.5 nappy安装, 解压至/usr/local1
2
3
4
5
6
7tar xvzf snappy-1.1.3.tar.gz -C /usr/local
cd ./snappy-1.1.3/
./configure
make
make install
ls -lh /usr/local/lib | grep snappy
注意这是采用1.1.3的安装方法,最新的1.1.7需要通过cmake3.0编译3.6 java jdk安装
参考linux java jdk安装:1
java -version #查看java版本
环境变量配置 vim /etc/profile
1
2
3
4
5
6
7
8
9
10
11
12# 检查java路径是否正确
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
# hadoop编译环境
export CLASSPATH=$CLASSPATH:./:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export MAVEN_HOME=/usr/local/apache-maven-3.6.1
export FINDBUGS_HOME=/usr/local/findbugs-3.0.1
export PROTOBUF_HOME=/usr/local/protobuf-2.5.0
export ANT_HOME=/usr/local/apache-ant-1.9.14
export PATH=$PATH:$MAVEN_HOME/bin:$FINDBUGS_HOME/bin:$ANT_HOME/bin
export MAVEN_OPTS="-Xmx2g -XX:MaxMetaspaceSize=512M -XX:ReservedCodeCacheSize=512m"启用环境变量 source /etc/profile
使用maven进行编译
在/usr/local/hadoop/BUILDING.txt文件中说明了如何使用Maven进行编译
基本命令:
1
2cd /usr/local/hadoop-2.9.2-src/
mvn clean package -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/lib在编译下载过程中,发现使用了apache的源,下载非常缓慢,在网络不良的时候还会发生安装错误,于是要配置国内阿里云的maven镜像:
5.1 在/usr/local/maven/conf中,找到settings.xml
在中添加路径 1
2
3
4
5
6
7
8
9
10
11<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
---------------------
作者:行走的IT 人
来源:CSDN
原文:https://blog.csdn.net/tengxing007/article/details/72588242
版权声明:本文为博主原创文章,转载请附上博文链接!并且在/usr/local/hadoop/pom.xlm文件下添加
1
2
3
4
5
6
7
8
9
10<repository>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</repository>
---------------------
作者:行走的IT 人
来源:CSDN
原文:https://blog.csdn.net/tengxing007/article/details/72588242
版权声明:本文为博主原创文章,转载请附上博文链接!然后再使用mvn命令进行安装,注意是在hadoop路径下。
1
mvn clean package -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/lib
源码安装好之后,二进制配置文件位于/hadoop-2.9.2-src/hadoop-dist/target/hadoop-2.9.2/
配置hadoop环境变量1
2export HADOOP_HOME=/usr/local/hadoop-2.9.2-src/hadoop-dist/target/hadoop-2.9.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin可以用 hadoop version来检查是否安装成功
Hadoop的各个组件均可以利用XML文件进行配置。
Core-site.xml文件用用配置通用属性,
hdfs-site.xml用于配置HDFS属性,
mapred-site.xml用于配置madpreduce属性,
yarn-site.xml用于配置YARN属性。
这些配置文件都放在/etc/hadoop子目录中。1
2
3
4
5
6
7
8
9
10
11
12
13完整配置文件
# set hadoop path
export HADOOP_HOME=/usr/local/hadoop-2.9.2-src/hadoop-dist/target/hadoop-2.9.2
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HDFS_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native:/usr/lib64
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin安装中出现的错误
在第一次配置的过程中,出现多次网络中断或异常终止的状况,这是因为使用了apache的源,即使开了vpn下载速度也受限。所以在国内请务必配置阿里云的镜像。
在使用apache源的情况下,如果安装出错,继续执行上述mvn命令仍然可以继续安装,但可能会出一些比较奇怪的错。我出现的问题在:
1
2[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (tar) on project hadoop-dist: An Ant BuildException has occured: exec returned: 1
[ERROR] around Ant part ...<exec failonerror="true" dir="/usr/local/hadoop-2.9.2-src/hadoop-dist/target" executable="bash">... @ 21:99 in /usr/local/hadoop-2.9.2-src/hadoop-dist/target/antrun/build-main.xml在help文档中查到这不是maven内核的问题,而是antrun插件的问题,所以寻找到了如下博客 http://www.voidcn.com/article/p-bkvnropx-bog.html 。该博客中说明在jdk1.8的环境下可能会出现相同的错误,于是我卸载了之前装的jdk1.8安装了jdk1.7(源码安装),但java直接不能使用。
解决方法:清空虚拟机,并重新按照上边步骤来,使用rpm安装jdk1.8. 一定要配置阿里云mirror.然后耐心等待,就装好了。