一、平台环境
CentOS6.5
二、软件版本
hadoop-2.8.1下载地址
jdk-8u45-linux-x64下载地址
apache-maven-3.3.9软件下载
findbugs-1.3.9软件下载
protobuf-2.5.0软件下载
三、安装步骤
- 上传、解压hadoop-2.8.1源代码
- 查看编译hadoop-2.8.1需要的要求
- jdk安装
- maven安装
- findbugs-1.3.9安装
- protobuf-2.5.0安装
- 其他依赖安装
- 编译
四、安装过程
1. 上传、解压hadoop-2.8.1源代码
将hadoop-2.8.1-src.tar.gz通WinSCP或者rz命令上传到/opt/sourcecode目录
#创建存放源代码的目录
[root@hadoop-002 software]# mkdir -p /opt/sourcecode
#进入存放源代码目录
[root@hadoop-002 software]# cd /opt/sourcecode/
上传文件
[root@hadoop-002 sourcecode]# rz
结果如下:
[root@hadoop-002 sourcecode]# ll
总用量 33716
-rw-r--r--. 1 root root 34523353 5月 14 21:37 hadoop-2.8.1-src.tar.gz
解压hadoop-2.8.1-src.tar.gz
[root@hadoop-002 sourcecode]# tar -xzvf hadoop-2.8.1-src.tar.gz
解压完成之后进入hadoop-2.8.1-src目录
[root@hadoop-002 sourcecode]# cd hadoop-2.8.1-src
源代码上传解压完成。
2. 查看编译hadoop-2.8.1的要求
查看源代码目录中的文件,结果如下
[root@hadoop-002 hadoop-2.8.1-src]# ll
总用量 220
-rw-rw-r--. 1 root root 15623 5月 24 2017 BUILDING.txt
drwxr-xr-x. 4 root root 4096 5月 16 07:27 dev-support
drwxr-xr-x. 3 root root 4096 5月 16 07:27 hadoop-assemblies
drwxr-xr-x. 3 root root 4096 5月 16 07:27 hadoop-build-tools
drwxrwxr-x. 2 root root 4096 5月 16 07:27 hadoop-client
drwxr-xr-x. 10 root root 4096 5月 16 07:27 hadoop-common-project
drwxr-xr-x. 2 root root 4096 5月 16 07:27 hadoop-dist
drwxr-xr-x. 8 root root 4096 5月 16 07:27 hadoop-hdfs-project
drwxr-xr-x. 9 root root 4096 5月 16 07:27 hadoop-mapreduce-project
drwxr-xr-x. 3 root root 4096 5月 16 07:27 hadoop-maven-plugins
drwxr-xr-x. 2 root root 4096 5月 16 07:27 hadoop-minicluster
drwxr-xr-x. 3 root root 4096 5月 16 07:27 hadoop-project
drwxr-xr-x. 2 root root 4096 5月 16 07:27 hadoop-project-dist
drwxr-xr-x. 18 root root 4096 5月 16 07:27 hadoop-tools
drwxr-xr-x. 3 root root 4096 5月 16 07:27 hadoop-yarn-project
-rw-rw-r--. 1 root root 99253 5月 24 2017 LICENSE.txt
-rw-rw-r--. 1 root root 15915 5月 24 2017 NOTICE.txt
drwxrwxr-x. 2 root root 4096 6月 2 2017 patchprocess
-rw-rw-r--. 1 root root 20477 5月 29 2017 pom.xml
-rw-r--r--. 1 root root 1366 5月 20 2017 README.txt
-rwxrwxr-x. 1 root root 1841 5月 24 2017 start-build-env.sh
查看BUILDING.txt,确认编译的要求
[root@hadoop-002 hadoop-2.8.1-src]# cat BUILDING.txt
编译要求内容如下:
Build instructions for Hadoop
----------------------------------------------------------------------------------
Requirements:
* Unix System
* JDK 1.7+
* Maven 3.0 or later
* Findbugs 1.3.9 (if running findbugs)
* ProtocolBuffer 2.5.0
* CMake 2.6 or newer (if compiling native code), must be 3.0 or newer on Mac
* Zlib devel (if compiling native code)
* openssl devel (if compiling native hadoop-pipes and to get the best HDFS encryption performance)
* Linux FUSE (Filesystem in Userspace) version 2.6 or above (if compiling fuse_dfs)
* Internet connection for first build (to fetch all Maven and Hadoop dependencies)
接着按照要求按照各个软件
3. jdk安装
参考CentOS6.5安装JDK8
4. maven安装
参考CentOS6.5安装Maven
5. findbugs-1.3.9安装
将findbugs-1.3.9.zip通WinSCP或者rz命令上传到/opt/software目录
[root@hadoop-002 hadoop-2.8.1-src]# cd /opt/software/
[root@hadoop-002 software]# rz
解压文件
[root@hadoop-002 software]# unzip findbugs-1.3.9.zip
配置环境变量
[root@hadoop-002 software]# vi /etc/profile
增加findbugs配置
export JAVA_HOME=/usr/local/java/jdk1.8.0_45
export MAVEN_HOME=/opt/software/apache-maven-3.3.9
export MAVEN_OPTS="-Xms256m -Xmx512m"
export FINDBUGS_HOME=/opt/software/findbugs-1.3.9
export PATH=$FINDBUGS_HOME/bin:$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
保存退出,手动使配置文件生效
[root@hadoop-002 software]# source /etc/profile
验证结果如下
[root@hadoop-002 software]# findbugs -version
1.3.9
findbugs 安装完成。
6. protobuf-2.5.0安装
将protobuf-2.5.0.tar.gz通WinSCP或者rz命令上传到/opt/software目录
[root@hadoop-002 hadoop-2.8.1-src]# cd /opt/software/
[root@hadoop-002 software]# rz
解压文件,进入protobuf-2.5.0目录
[root@hadoop-002 software]# tar -xzvf protobuf-2.5.0.tar.gz
[root@hadoop-002 software]# cd protobuf-2.5.0
protobuf-2.5.0的安装需要使用到三个新命令./configuration 、make 和make install,下面分别对这几个命令做简单说明:
- ./configuration 一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,经常使用的方式是:
./configure --prefix=/usr
这表示该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)
make make 的作用是开始进行源代码编译。
make install 该命令是用来进行软件安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。
CMake是一个跨平台的编译自动配置工具,CMake可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。安装CMake
[root@hadoop-002 local]# yum install -y gcc gcc-c++ make cmake
开始安装protobuf-2.5.0,依次执行下面两条命令
[root@hadoop-002 protobuf-2.5.0]# ./configure --prefix=/usr/local/protobuf
[root@hadoop-002 protobuf-2.5.0]# make && make install
完成后,修改配置文件
[root@hadoop-002 protobuf-2.5.0]# vi /etc/profile
增加protobuf-2.5.0的配置
export PROTOC_HOME=/usr/local/protobuf
export PATH=$PROTOC_HOME/bin:$FINDBUGS_HOME/bin:$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
保存退出,手动使配置文件生效
[root@hadoop-002 protobuf-2.5.0]# source /etc/profile
验证结果如下:
[root@hadoop-002 protobuf-2.5.0]# protoc --version
libprotoc 2.5.0
7. 其他依赖安装
[root@hadoop-002 protobuf-2.5.0]# yum install -y openssl openssl-devel svn ncurses-devel zlib-devel libtool
[root@hadoop-002 protobuf-2.5.0]# yum install -y snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop autoconf automake
安装完成。
8. 编译
至此,编译hadoop-2.8.1的要求全部达到,下面我们将开始编译hadoop-2.8.1,进入/opt/sourcecode/hadoop-2.8.1-src目录,执行命令,开始编译
[root@hadoop-002 bin]# cd /opt/sourcecode/hadoop-2.8.1-src
[root@hadoop-002 hadoop-2.8.1-src]# mvn clean package -Pdist,native -DskipTests -Dtar
编译完成,你可以在/opt/sourcecode/hadoop-2.8.1-src/hadoop-dist/target 目录下找到编译好的hadoop-2.8.1.tar.gz 文件。
结果: