关于hadoop:Hadoop入门二-Hadoop-编译

7次阅读

共计 2586 个字符,预计需要花费 7 分钟才能阅读完成。

一. 为什么要编译 hadoop

因为 appache 给出的 hadoop 的安装包没有提供带 C 程序拜访的接口,所以咱们在应用本地库(本地库能够用来做压缩,以及反对 C 程序等等)的时候就会出问题, 须要对 Hadoop 源码包进行从新编译

二. 下载 Hadoop 源码

hadoop 官网下载

抉择须要下载的版本, 抉择 Source download 下载源码

三. linux 编译装置

1. 在 linux 创立长期寄存源码文件夹

mkdir export/server

2. 装置编译相干依赖

1、yum install gcc gcc-c++

2、yum install autoconf automake libtool curl

3、yum install lzo-devel zlib-devel openssl openssl-devel ncurses-devel

4、yum install snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop libXtst

3. 手动装置 cmake

官网下载下载 cmake, 下载完后将安装包传到 linux 中新建的目录 export/server 下


#解压
tar zxvf cmake-3.13.5.tar.gz

#编译装置
cd /export/server/cmake-3.13.5

./configure

make && make install

#验证
[root@node4 ~]# cmake -version      
cmake version 3.13.5

4. 手动装置 snappy

下载地址

# 卸载曾经装置的
cd /usr/local/lib

rm -rf libsnappy*

#上传解压
tar zxvf snappy-1.1.3.tar.gz 

#编译装置
cd /export/server/snappy-1.1.3
./configure
make && make install

#验证是否装置
[root@node4 snappy-1.1.3]# ls -lh /usr/local/lib |grep snappy
-rw-r--r-- 1 root root 511K Nov  4 17:13 libsnappy.a
-rwxr-xr-x 1 root root  955 Nov  4 17:13 libsnappy.la
lrwxrwxrwx 1 root root   18 Nov  4 17:13 libsnappy.so -> libsnappy.so.1.3.0
lrwxrwxrwx 1 root root   18 Nov  4 17:13 libsnappy.so.1 -> libsnappy.so.1.3.0
-rwxr-xr-x 1 root root 253K Nov  4 17:13 libsnappy.so.1.3.0

5. 装置配置 JDK

下载地址

# 解压安装包
tar zxvf jdk-8u65-linux-x64.tar.gz

#配置环境变量
vim /etc/profile

export JAVA_HOME=/export/server/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

source /etc/profile

#验证是否装置胜利
java -version

java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
You have new mail in /var/spool/mail/root

6. 装置配置 maven

下载地址

# 解压安装包
tar zxvf apache-maven-3.5.4-bin.tar.gz

#配置环境变量
vim /etc/profile

export MAVEN_HOME=/export/server/apache-maven-3.5.4
export MAVEN_OPTS="-Xms4096m -Xmx4096m"
export PATH=:$MAVEN_HOME/bin:$PATH

source /etc/profile

#验证是否装置胜利
[root@node4 ~]# mvn -v
Apache Maven 3.5.4

#增加 maven 阿里云仓库地址 放慢国内编译速度
vim /export/server/apache-maven-3.5.4/conf/settings.xml

<mirrors>
     <mirror>
           <id>alimaven</id>
           <name>aliyun maven</name>
           <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
           <mirrorOf>central</mirrorOf>
      </mirror>
</mirrors>

7. 装置 ProtocolBuffer 2.5.0

下载地址

# 解压
tar zxvf protobuf-2.5.0.tar.gz

#编译装置
cd /export/server/protobuf-2.5.0
./configure
make && make install

#验证是否装置胜利
[root@node4 protobuf-2.5.0]# protoc --version
libprotoc 2.5.0

8. 编译 hadoop

将下载的 hadoop 源码上传到服务器

# 上传解压源码包
tar zxvf hadoop-3.1.4-src.tar.gz

#编译
cd /export/server/hadoop-3.1.4-src

mvn clean package -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/lib

#参数阐明:Pdist,native:把从新编译生成的 hadoop 动静库;DskipTests:跳过测试
Dtar:最初把文件以 tar 打包
Dbundle.snappy:增加 snappy 压缩反对【默认官网下载的是不反对的】Dsnappy.lib=/usr/local/lib:指 snappy 在编译机器上装置后的库门路

编译好的安装包门路


/export/server/hadoop-3.1.4-src/hadoop-dist/target
正文完
 0