前提条件
首先确保Centos能够连接到外网:全新的系统在默认不改配置条件下就可以联网,如果修改则按照下面的方法修改
首先需要下载几个软件包
官网分别是:
https://ant.apache.org/bindownload.cgi
http://maven.apache.org/download.cgi
https://hadoop.apache.org/releases.html 这个是下载hadoop源码包
https://www.oracle.com/technetwork/java/javase/downloads/index.html
https://github.com/protocolbuffers/protobuf/releases/tag/v3.6.1
下载好后上传文件到/opt/software
将hadoop上传到/opt目录下
将ant、maven、jdk、protobuf解压缩到 /opt/module
hadoop源码解压缩到/opt下
用tar -xzvf 压缩包 -C 解压缩后的路径
tar -xzvf apache-ant-1.10.7-bin.tar.gz -C /opt/module
tar -xzvf apache-maven-3.6.2-bin.tar.gz -C /opt/module
tar -xzvf jdk-8u211-linux-x64.tar.gz -C /opt/module
tar -xzvf protobuf-2.5.0.tar.gz -C /opt/module 注意使用这个版本的,找到上面的github链接往前找,后面实验报错提示要使用2.5.0版本的
tar -xzvf hadoop-2.7.7-src.tar.gz -C /opt/
解压缩maven后注意一下!修改maven的镜像仓库为阿里云,路径在 解压缩后的maven根目录/conf/settings.xml
添加到 <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>
然后配置环境变量
以root身份执行下面的代码
vim /etc/profile
添加下面代码
##ANT
export ANT_HOME=/opt/module/apache-ant-1.10.7
export PATH=$PATH:$ANT_HOME/bin
##MAVEN
export MAVEN_HOME=/opt/module/apache-maven-3.6.2
export PATH=$PATH:$MAVEN_HOME/bin
##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_211/
export PATH=$PATH:$JAVA_HOME/binsource /etc/profile 使环境变量生效。
然后检验环境变量有没有配置成功
安装gcc编译器 (root 身份)
yum -y install glibc-headers.x86_64 具体可以按下tab键进行自动补全
yum -y install gcc-c++.x86_64
yum -y install make
yum -y install cmake
进入到解压缩后的protobuf文件夹
cd /opt/module/protobuf-3.6.1
进行编译安装protobuf
依次执行
./configure
make
make check
make install
ldconfig
make命令 从2:37开始到2:45结束
make check从2:45到2:55结束
make install 从2:55 到2:56
vim /etc/profile
#LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0
export PATH=$PATH:$LD_LIBRARY_PATH输入 protoc --version 验证环境变量是否配置成功!
yum -y install openssl-devel
yum -y install ncurses-devel
编译源码
进入到解压缩后的hadoop文件夹
cd /opt/hadoop-2.7.7/
执行下列命令
mvn package -Pdist,native -DskipTests -Dtar
3:47开始5:41出现错误
遇到了protobuf版本问题,卸载了3.6.1版本的,安装2.5.0版本。继续执行上面的命令,继续编译源码
6:30完成