1.1 虚拟机环境准备
1. 克隆虚拟机
2. 修改克隆虚拟机的静态IP
/etc/sysconfig/network-script/ifcfig-eth0
ONBOOT=yes
# IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
BOOTPROTO=static
#IP地址
IPADDR=192.168.1.100
#网关
GATEWAY=192.168.1.2
#域名解析器
DNS1=114.114.114.114
DNS2=8.8.8.8
3. 修改主机名
4. 关闭防火墙
5. 创建guokai用户
6. 配置guokai用户具有root权限(详见《大数据技术之Linux》)
7.在/opt目录下创建文件夹
(1)在/opt目录下创建module、software文件夹
[hadoop@hadoop101 opt]$ su
mkdir module
[hadoop@hadoop101 opt]$ mkdir software
(2)修改module、software文件夹的所有者cd
[hadoop@hadoop101 opt]$ chown hadoop:hadoop module/ software/
[hadoop@hadoop101 opt]$ ll
总用量8
drwxr-xr-x. 2 hadoop hadoop 4096 1月 17 14:37 module
drwxr-xr-x. 2 hadoop hadoop 4096 1月 17 14:38 software
1.2 安装JDK
1. 卸载现有JDK
(1)查询是否安装Java软件:
[hadoop@hadoop101 opt]$ rpm -qa | grep java
(2)如果安装的版本低于1.7,卸载该JDK:
[hadoop@hadoop101 opt]$ sudo rpm -e 软件包
(3)查看JDK安装路径:
[hadoop@hadoop101 ~]$ which java
删除原有jdk 软连接
rm -rf /usr/bin/java
建立新的连接
ln -s $JAVA_HOME/bin/java /opt/module/jdk1.8.0_144
2. 用Xshell工具将JDK导入到opt目录下面的software文件夹下面,选择jdk1.8拖入,如图所示
图2-31 拖入jdk1.8完成
在Linux系统下的opt目录中查看软件包是否导入成功
[hadoop@hadoop101 opt]$ cd software/
[hadoop@hadoop101 software]$ ls
hadoop-2.7.2.tar.gz jdk-8u144-linux-x64.tar.gz
解压JDK到/opt/module目录下
[hadoop@hadoop101 software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
5. 配置JDK环境变量
(1)先获取JDK路径
[hadoop@hadoop101 jdk1.8.0_144]$ pwd
/opt/module/jdk1.8.0_144
(2)打开/etc/profile文件
[hadoop@hadoop101 software]$ sudo vi /etc/profile
在profile文件末尾添加JDK路径
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
(3)保存后退出
:wq
(4)让修改后的文件生效
[hadoop@hadoop101 jdk1.8.0_144]$ source /etc/profile
6. 测试JDK是否安装成功
[hadoop@hadoop101 jdk1.8.0_144]# java -version
java version "1.8.0_144"
注意:重启(如果java -version可以用就不用重启)
[hadoop@hadoop101 jdk1.8.0_144]$ sync
[hadoop@hadoop101 jdk1.8.0_144]$ sudo reboot
1.3 安装Hadoop
0. Hadoop下载地址:
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/
用Xshell工具将hadoop-2.7.2.tar.gz导入到opt目录下面的software文件夹下面
切换到sftp连接页面,选择Linux下编译的hadoop jar包拖入,如图2-32所示
图2-32 拖入hadoop的tar包
进入到Hadoop安装包路径下
[hadoop@hadoop101 ~]$ cd /opt/software/
解压安装文件到/opt/module下面
[hadoop@hadoop101 software]$ tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/
查看是否解压成功
[hadoop@hadoop101 software]$ ls /opt/module/
hadoop-2.7.2
5. 将Hadoop添加到环境变量
(1)获取Hadoop安装路径
[hadoop@hadoop101 hadoop-2.7.2]$ pwd
/opt/module/hadoop-2.7.2
(2)打开/etc/profile文件
[hadoop@hadoop101 hadoop-2.7.2]$ sudo vi /etc/profile
在profile文件末尾添加JDK路径:(shitf+g)
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
(3)保存后退出
:wq
(4)让修改后的文件生效
[hadoop@ hadoop101 hadoop-2.7.2]$ source /etc/profile
6. 测试是否安装成功
[hadoop@hadoop101 hadoop-2.7.2]$ hadoop version
Hadoop 2.7.2
7. 重启(如果Hadoop命令不能用再重启)
[hadoop@ hadoop101 hadoop-2.7.2]$ sync
[hadoop@ hadoop101 hadoop-2.7.2]$ sudo reboot
1.4 Hadoop目录结构
1、查看Hadoop目录结构
[hadoop@hadoop101 hadoop-2.7.2]$ ll
总用量52
drwxr-xr-x. 2 hadoop hadoop 4096 5月 22 2017 bin
drwxr-xr-x. 3 hadoop hadoop 4096 5月 22 2017 etc
drwxr-xr-x. 2 hadoop hadoop 4096 5月 22 2017 include
drwxr-xr-x. 3 hadoop hadoop 4096 5月 22 2017 lib
drwxr-xr-x. 2 hadoop hadoop 4096 5月 22 2017 libexec
-rw-r--r--. 1 hadoop hadoop 15429 5月 22 2017 LICENSE.txt
-rw-r--r--. 1 hadoop hadoop 101 5月 22 2017 NOTICE.txt
-rw-r--r--. 1 hadoop hadoop 1366 5月 22 2017 README.txt
drwxr-xr-x. 2 hadoop hadoop 4096 5月 22 2017 sbin
drwxr-xr-x. 4 hadoop hadoop 4096 5月 22 2017 share
2、重要目录
(1)bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本
(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
(4)sbin目录:存放启动或停止Hadoop相关服务的脚本
(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例
第2章 Hadoop运行模式
Hadoop运行模式包括:本地模式、伪模式以及完全分布式模式。
Hadoop官方网站:http://hadoop.apache.org /
2.1 本地运行模式
2.1.1 官方Grep案例
1. 创建在hadoop-2.7.2文件下面创建一个input文件夹
[hadoop@hadoop101 hadoop-2.7.2]$ mkdir input
2. 将Hadoop的xml配置文件复制到input
[hadoop@hadoop101 hadoop-2.7.2]$ cp etc/hadoop/*.xml input
3. 执行share目录下的MapReduce程序
[hadoop@hadoop101 hadoop-2.7.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
4. 查看输出结果
[hadoop@hadoop101 hadoop-2.7.2]$ cat output/*
2.1.2 官方WordCount案例
1. 创建在hadoop-2.7.2文件下面创建一个wcinput文件夹
[hadoop@hadoop101 hadoop-2.7.2]$ mkdir wcinput
2. 在wcinput文件下创建一个wc.input文件
[hadoop@hadoop101 hadoop-2.7.2]$ cd wcinput
[hadoop@hadoop101 wcinput]$ touch wc.input
3. 编辑wc.input文件
[hadoop@hadoop101 wcinput]$ vi wc.input
在文件中输入如下内容
hadoop yarn
hadoop mapreduce
hadoop
hadoop
保存退出::wq
4. 回到Hadoop目录/opt/module/hadoop-2.7.2
5. 执行程序
[hadoop@hadoop101 hadoop-2.7.2]$ hadoop jar
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput
6. 查看结果
[hadoop@hadoop101 hadoop-2.7.2]$ cat wcoutput/part-r-00000
hadoop 2
hadoop 2
mapreduce 1
yarn 1
2.2 伪分布式运行模式
2.2.1 启动HDFS并运行MapReduce程序
1. 分析
(1)配置集群
(2)启动、测试集群增、删、查
(3)执行WordCount案例
2. 执行步骤
(1)配置集群
(a)配置:hadoop-env.sh
Linux系统中获取JDK的安装路径:
[hadoop@ hadoop101 ~]# echo $JAVA_HOME
/opt/module/jdk1.8.0_144
修改JAVA_HOME 路径:
export JAVA_HOME=/opt/module/jdk1.8.0_144
(b)配置:core-site.xml