CentOS7下编译Hadoop-2.7.2详解

参考文章:点击打开链接

1.工具准备,最靠谱的是hadoop说明文档里要求具备的那些工具。

到hadoop官网,点击source下载hadoop-2.7.2-src.tar.gz。

利用FileZilla上传压缩包到/opt/software/目录下

在该目录下,解压到/opt/modules/目录下:

tar -zxvf hadoop-2.7.2-src.tar.gz -C /opt/modules

得到hadoop-2.7.2-src文件夹。

进入hadoop-2.7.2-src文件夹,查看BUILDING.txt

cd hadoop-2.7.2-src
more BUILDING.txt

可以看到编译所需的库或者工具:

CentOS7下编译Hadoop-2.7.2详解_第1张图片

包括:

  • JDK1.7+
  • maven 3.0 or later
  • findbugs 1.3.9
  • protocolBuffer 2.5.0
  • cmake 2.6
  • zlib-devel
  • openssl-devel

除了上面这些,为了不出错,实际还需要autoconf  automake  gcc等。

下面开始准备这些工具:

首先使用su命令获取root权限,以免受到各种限制

2.上传jdk-8u101-linux-x64.tar.gz压缩包到/opt/software/目录下,然后进入到/opt/software/目录

tar -zxvf dk-8u101-linux-x64.tar.gz -C  /opt/modules/

然后打开/etc/profile配置jdk环境变量

sudo vi /etc/profile

按 i 进入插入模式,在文件末尾添加

export JAVA_HOME=/opt/modules/jdk1.8.0_101

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

export PATH=$PATH:$JRE_HOME/bin

先后按Esc, :, wq, 回车即可保存并退出编辑。输入 source /etc/profile 回车即可保存更改。

运行javac -version 查看状态:

java -version

3.下面安装各种库,

yum -y install svn ncurses-devel gcc*

yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel

4.上传protobuf-2.5.0.tar.gz(注意版本必须是2.5.0)压缩包到/opt/software/下

 tar -zxvf protobuf-2.5.0.tar.gz -C /opt/moudles/

进入protobuf-2.5.0依次执行

cd protobuf-2.5.0

./configure

make

make install

验证安装是否完成

protoc --version

出现

5.安装maven

下载apache- maven- 3.2.3- bin.tar.gz

解压缩并配置环境变量

解压:

tar -zxvf apache-maven-3.3.3-bin.tar.gz -C /opt/modules/

配置环境变量:

sudo vi /etc/profile

在末尾添加:

export MAVEN_HOME=/opt/apache-maven-3.3.3

export MAVEN_OPTS="-Xms256m -Xmx512m"

export PATH=$PATH:$MAVEN_HOME/bin

先按Esc, Shift+:, wq, 回车即可保存并推出编辑。输入 source /etc/profile 回车即可保存更改。

查看安装状态: mvn -version

6.安装ant

下载apache-ant-1.9.4-bin.tar.gz

解压缩并配置环境变量

解压:

tar -zxvf apache-ant-1.9.4-bin.tar.gz -C /opt/modules/

配置环境变量

同上,在/etc/profile文件末未添加:

export ANT_HOME=/opt/apache-ant-1.9.4

export PATH=$PATH:$ANT_HOME/bin

然后保存,退出,并使更改生效。

查看安装结果:

ant -version

7.安装findbugs

解压:

tar -zxvf findbugs-3.0.1.tar.gz -C /opt/moudles/

配置环境变量:

在 /etc/profile 文件末尾添加:

export FINDBUGS_HOME=/opt/findbugs-3.0.1

export PATH=$PATH:$FINDBUGS_HOME/bin

保存退出,并使更改生效。

查看安装结果

8.准备完成,下面开始编译hadoop

进入到hadoop-2.7.1-src目录

使用命令:

mvn clean package –Pdist,native –DskipTests –Dtar

或者:

mvn package -Pdist,native -DskipTests -Dtar

进行编译。  

务必保持网络畅通,经过漫长的等待(本人的比较慢,花了2小时57分钟)看到下图即表明编译成功!

CentOS7下编译Hadoop-2.7.2详解_第2张图片

编译好的文件在/hadoop-dist/target/hadoop-2.7.1.tar.gz下。


碰到的问题如下:

(1)如图所示,因为我是在VMware下的,当时只给了默认20g,完全不够用

CentOS7下编译Hadoop-2.7.2详解_第3张图片

查看下磁盘使用情况:

CentOS7下编译Hadoop-2.7.2详解_第4张图片

解决办法: 

新添加的硬盘的编号为/dev/sdb

1.硬盘分区
1)进入fdisk模式
#fdisk /dev/sdb
2)输入n进行分区
CentOS挂载新硬盘
3)选择分区类型
CentOS挂载新硬盘
这里有两个选项:
 p: 主分区 linux上主分区最多能有4个
 e: 扩展分区 linux上扩展分区只能有1个,扩展分区创建后不能直接使用,还要在扩展分区上创建逻辑分区。
这里我选择的p。
4)选择分区个数
CentOS挂载新硬盘
可以选择4个分区,这里我只分成1个分区
5)设置柱面,这里选择默认值就可以
CentOS挂载新硬盘
6)输入w,写入分区表,进行分区
CentOS挂载新硬盘
2.格式化分区

将新分区格式化为ext4文件系统
1)如果创建的是主分区
#mkfs -t ext4 /dev/sdb1

3. 挂载硬盘

1) 创建挂载点
在根目录下创建work目录
#mkdir /work
2) 将/dev/sdb1挂载到/work下
#mount /dev/sdb1 /work

6. 拷贝/var下的所有内容到新的硬盘
cp -pdr /var /work

7. 设置开机启动自动挂载
新创建的分区不能开机自动挂载,每次重启机器都要手动挂载。
设置开机自动挂载需要修改/etc/fstab文件
#vi /etc/fstab
在文件的最后增加一行
/dev/sdb1 /work ext4 defaults 0 0 


你可能感兴趣的:(Hadoop)