2018-06-14

Hadoop:

1.官网:

http://hadoop.apache.org/
2.Hadoop的狭义和褒义认识:

狭义:软件(HDFS、MapReduce、Yarn)
褒义:以Hadoop为主的生态圈
3.Hadoop版本

Hadoop1.x:
HDFS:分布式文件系统,存储
MapReduce:分布式计算+资源调度和作业调度
Hadoop2.x
HDFS:存储
MapReduce:计算
Yarn:YetAnother Resource Negotiate 资源调度和作业调度
4.Maven 部署

官网:
https://mvnrepository.com/
Maven:
理解为是一个仓库,用来管理jar包

如果一个源代码工程里面有pom.xml,这个就是Maven工程需要用Maven来编译
如:Maven根据pom.xml来下载jar包管理的
cat /opt/software/hadoop-2.8.1-src
more pom.xml
1.步骤
mkdir -p /opt/sowfware
rz 电脑上以下软件
.m2.tar.gz
apache-maven-3.3.9-bin.zip
findbugs-1.3.9.zip
hadoop-2.8.1-src.tar.gz
hadoop-2.8.1.tar.gz
jdk-8u45-linux-x64.gz
protobuf-2.5.0.tar.gz
解压Maven压缩包:
unzip apache-maven-3.3.9-bin.zip
配置环境变量:
vi /etc/profile
export MAVEN_HOME=/opt/software/apache-maven-3.3.9
export MAVEN_OPTS="-Xms256m -Xmx512m"
export PATH=$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
生效:
source /etc/profile
查看Maven是否安装:
mvn -version
我们CD进入家目录,把.m2.tar.gz移动到家目录里解压
cd /opt/software
mv .m2.tar.gz ~
tar zxvf .m2.tar.gz
5.Hadoop编译环境准备(第一个编译的项目)

Github:https://github.com/apache/hadoop
https://github.com/apache/hadoop/blob/trunk/BUILDING.txt

编译环境:

5.1解压 hadoop-2.8.1-src.tar.gz (看到src就是源码文件)
cd /opt/software
tar -zxvf hadoop-2.8.1-src.tar.gz

5.2如果一个源代码工程里面有pom.xml,这个就是Maven工程需要用Maven来编译
如:Maven根据pom.xml来下载jar包管理的
cat /opt/software/hadoop-2.8.1-src
more pom.xml

5.3 查看BUILDING.txt编译的需求
cat /hadoop-2.8.1-src/BUILDING.txt
需求如下:
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 encry
    ption performance)
    * Linux FUSE (Filesystem in Userspace) version 2.6 or above (if compiling fuse_d
    fs)
    * Internet connection for first build (to fetch all Maven and Hadoop dependencie
    s)

5.4 查看jdk1.7+ Maven 3.0 - 需求
# java -version
java version "1.8.0_45"
# mvn --version
Apache Maven 3.3.9

5.5 编译 Findbugs 1.3.9
cd /opt/software
unzip findbugs-1.3.9.zip

添加一下内容
vi /etc/profile
export FINDBUGS_HOME=/opt/software/findbugs-1.3.9
export PATH=:$FINDBUGS_HOME/bin:$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
生效:
source /etc/profile
查看Findbugs版本:
# findbugs -version
1.3.9

5.6 解压 ProtocolBuffer 2.5.0
解压:
cd /opt/software
tar -zxvf protobuf-2.5.0.tar.gz
修改权限:
chown -R root:root /opt/software/protobuf-2.5.0
安装cmake:
yum install -y gcc gcc-gcc+ make cmake
指定软件安装的目录:
./configure --prefix=/usr/local/protobuf
编译安装:
make && make install
查看是否存在文件夹:
cd /usr/local/protobuf
配置环境变量:
vi /etc/profile
export PROTOC_HOME=/usr/local/protobuf
export PATH=$PROTOC_HOME/bin:$FINDBUGS_HOME/bin:$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
生效:
source /etc/profile
查看:
protoc --version
libprotoc 2.5.0

5.7 其他依赖
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
6.JDK的安装&&全局环境变量

jdk文件必须放到:
/usr/java目录下
解压jdk的tar包:
tar -zxvf jdk-8u45-linux-x64.gz
注意点:
解压之后,修改jdk文件夹的权限
chown -R root:root jdk1.8.0_45 文件夹和文件夹里面的文件夹和文件
chown -R root:root jdk1.8.0_45/*

配置环境变量:
vi /etc/profile
#add JAVA_HOME
JAVA_HOME=/usr/java/jdk1.8.0_45
export PATH=$JAVA_HOME/bin:$PATH
生效:
source /etc/profile
查看是否成功:
java -version
7.Hadoop的编译步骤
cd /opt/software/hadoop-2.8.1-src

要求(more BUILDING.txt):
Building distributions:
mvn clean package -Pdist,native -DskipTests -Dtar
如果存在screen,则安装screen:
yum install -y screen

后台命令:
screen -S hadoop
之后退出ctrl + a + d
查看用户:
screen -list
进入:
screen -r 13814
第一次编译:清空打包跳过编译模式
mvn clean package -Pdist,native -DskipTests -Dtar
注意:
download需要3.5h
不想download就使用.m2.tar.gz -->解压-->root家目录

.m2在家目录下
8.编译好的tar包

/opt/software/hadoop-2.8.1-src/hadoop-dist/target/hadoop-2.8.1.tar.gz (解压就能使用)
9.配置本地Maven仓库:

window/linux:
cd /opt/software/apache-maven-3.3.9/conf
1.vi setting.xml
D:\software\apache-maven-3.3.9\repository
2.创建D:\software\apache-maven-3.3.9\repository
提醒:

1、有时候编译过程中会出现下载某个包的时间太久,这是由于连接网站的过程中会出现假死,
此时按ctrl+c,重新运行编译命令。
2、如果出现缺少了某个文件的情况,则要先清理maven(使用命令 mvn clean) 再重新编译。

你可能感兴趣的:(2018-06-14)