如果不想自己编译,可以直接从我这里直接下载
链接:https://pan.baidu.com/s/1jUTH-29rdKwAJ0_5vRQ1iA 密码:7juw
一 为什么要编译
直接从官网上下载的hadoop-2.6.0-cdh5.15.1.tar.gz部署后,不支持压缩,生产上是不可接受的,我们可以用下面命令查看:
hadoop checknative
所以我们要进行编译,让他支持压缩
二 环境条件
源码下载地址:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.15.1-src.tar.gz
下载之后解压一下,然后我们进入源码文件夹
需要什么环境我们也不知道,我们看下源码里有个BUILDING.txt文件,里面应该有说明
软件 | 版本 | 百度连接 |
---|---|---|
hadoop | hadoop2.6.0-cdh5.15.1-src.tar.gz | 链接:https://pan.baidu.com/s/1cdQl8zf_dIZJccL3FnAYhA 密码:8nor |
jdk | jdk-7u80-linux-x64.tar.gz | 链接:https://pan.baidu.com/s/1S-qrnlcATTib4ktj8RqVvA 密码:vziv |
maven | apache-maven-3.6.1-bin.tar.gz | 链接:https://pan.baidu.com/s/16TLBiahgwg1yly2aT3b_RA 密码:o519 |
protobuf | protobuf-2.5.0.tar.gz | 链接:https://pan.baidu.com/s/19OwTHdwetQHuNuGihPSnzg 密码:bt97 |
三 安装依赖
yum install -y svn ncurses-devel
yum install -y gcc gcc-c++ make cmake
yum install -y openssl openssl-devel svn ncurses-devel zlib-devel libtool
yum install -y snappy snappy-devel bzip2 bzip2-devel \
lzo lzo-devel lzop autoconf automake cmake
四 安装软件
4.1 jdk1.7
编译的JDK版本必须是1.7,1.8的JDK会导致编译失败,采坑
1.先解压
mkdir /usr/java
tar -zxvf /home/hadoop/software/jdk-7u80-linux-x64.tar.gz -C /usr/java
chown -R root:root /usr/java
2.配置环境变量
vim /etc/profile
#添加如下两行环境变量
export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$JAVA_HOME/bin:$PATH
#环境变量生效
source /etc/profile
4.2 maven
1.首先解压
tar -zxvf ~/software/apache-maven-3.6.1-bin.tar.gz -C ~/app/
2.配置环境变量
#修改haoop用户的环境变量
vim ~/.bash_profile
export MAVEN_HOME=/home/hadoop/app/apache-maven-3.6.1
#MAVEN_OPTS设置了maven运行的内存,防止内存太小导致编译失败
export MAVEN_OPTS="-Xms1024m -Xmx1024m"
export PATH=$MAVEN_HOME/bin:$PATH
source ~/.bash_profile
3.设置settings.xml
vim ~/app/apache-maven-3.6.1/conf/settings.xml
#配置maven的本地仓库位置
<localRepository>/home/hadoop/app/maven_repo</localRepository>
#添加阿里云中央仓库地址,注意一定要写在<mirrors></mirrors>之间
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
4.3 protobuf
1.解压
tar -zxvf ~/software/protobuf-2.5.0.tar.gz -C ~/app/
2.编译
cd ~/app/protobuf-2.5.0/
# --prefix= 是用来待会编译好的包放在为路径
./configure --prefix=/home/hadoop/app/protobuf-2.5.0
#编译以及安装
make
make install
3.环境变量
vim ~/.bash_profile
#追加如下两行内容,未编译前是没有bin目录的
export PROTOBUF_HOME=/home/hadoop/app/protobuf-2.5.0
export PATH=$PROTOBUF_HOME/bin:$PATH
#生效环境变量
source ~/.bash_profile
五 编译hadoop
1.编译之前,把pom.xml文件里的https改成http
编译的话,我们也不知道怎么编译,我们继续看官方提供的BUILDING.txt
注意:编译的过程中99%的问题是网络问题,如果有遇到jar,pom文件下载不了,根据提示的网站,手动下载放到maven的仓库里
编译命令:(下面加上了clean,因为不会一次编译成功)
mvn clean package -Pdist,native,docs,src -DskipTests -Dtar
编译成功的结果
我们看下编译的tar文件在哪里
六 伪分布式部署
部署可以看我之前的博客:
https://guguoyu.blog.csdn.net/article/details/97527526