第一课 大数据技术之Hadoop3.x环境搭建
第一节 Hadoop搭建介绍
1.1 虚拟机准备
- 安装模板虚拟机,主机名称hadoop100、内存4G、硬盘50G。
yum install -y net-tools vim
systemctl stop firewalld
systemctl disable firewalld.service
hostnamectl set-hostname hadoop100
vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
NAME="ens33"
IPADDR=192.168.44.136
PREFIX=24
GATEWAY=192.168.44.2
DNS1=192.168.44.2
useradd atguigu
passwd atguigu
vim /etc/sudoers
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
atguigu ALL=(ALL) NOPASSWD:ALL
mkdir /opt/module
mkdir /opt/software
chown atguigu:atguigu /opt/module
chown atguigu:atguigu /opt/software
cat >> /etc/hosts <<EOF
192.168.44.136 hadoop100
192.168.44.137 hadoop101
192.168.44.138 hadoop102
192.168.44.139 hadoop103
EOF
mkdir -p /opt/module/
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
vim /etc/profile.d/my_env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
systemctl stop firewalld
systemctl disable firewalld
source /etc/profile
java -version
hadoop version
1.2 Hadoop目录结构
- 查看Hadoop目录结构
- 重要目录
- bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本
- etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
- lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
- sbin目录:存放启动或停止Hadoop相关服务的脚本
- share目录:存放Hadoop的依赖jar包、文档、和官方案例
cd /opt/module/hadoop-3.1.3
ll
总用量 52
drwxr-xr-x. 2 atguigu atguigu 4096 5月 22 2017 bin
drwxr-xr-x. 3 atguigu atguigu 4096 5月 22 2017 etc
drwxr-xr-x. 2 atguigu atguigu 4096 5月 22 2017 include
drwxr-xr-x. 3 atguigu atguigu 4096 5月 22 2017 lib
drwxr-xr-x. 2 atguigu atguigu 4096 5月 22 2017 libexec
-rw-r--r--. 1 atguigu atguigu 15429 5月 22 2017 LICENSE.txt
-rw-r--r--. 1 atguigu atguigu 101 5月 22 2017 NOTICE.txt
-rw-r--r--. 1 atguigu atguigu 1366 5月 22 2017 README.txt
drwxr-xr-x. 2 atguigu atguigu 4096 5月 22 2017 sbin
drwxr-xr-x. 4 atguigu atguigu 4096 5月 22 2017 share
1.3 scp和rsync命令
- scp(secure copy)安全拷贝, scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)。
scp -r $pdir/$fname $user@$host:$pdir/$fname
- rsync远程同步工具, rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync -av $pdir/$fname $user@$host:$pdir/$fname
- rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
第二节 Hadoop运行模式
2.1 Hadoop运行模式介绍
- Hadoop官方网站:http://hadoop.apache.org/
- Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。
- 本地模式:单机运行,只是用来演示一下官方案例。数据存储在liunx本地,生产环境不用。
- 伪分布式模式:也是单机运行,但是具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境。个别缺钱的公司用来测试,数据存储在HDFS, 生产环境不用。
- 完全分布式模式:多台服务器组成分布式环境。数据存储在HDFS/多台服务器工作, 生产环境使用。

2.2 Hadoop本地运行模式
mkdir wcinput
cd wcinput
vim word.txt
hadoop yarn
hadoop mapreduce
atguigu
atguigu
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput ./wcoutput
cat wcoutput/part-r-00000
atguigu 2
hadoop 2
mapreduce 1
yarn 1
第三节 Hadoop完全分布式环境搭建
3.1 Hadoop完全分布式模式机器准备
- 准备3台客户机(关闭防火墙、静态IP、主机名称)
- 安装JDK
- 配置环境变量
- 安装Hadoop
- 配置环境变量
- 配置集群
- 单点启动
- 配置ssh
- 群起并测试集群
3.2 配置机器ssh免密登陆
- 免密登录原理

- 生成公钥和私钥(私钥不能发给任何人)
ssh-keygen -t rsa
cd ~/.ssh
- 将公钥拷贝到要免密登录的目标机器上
ssh-copy-id hadoop101
ssh-copy-id hadoop102
ssh-copy-id hadoop103
- .ssh文件夹下(~/.ssh)的文件功能解释
| 文件 | 作用 |
| --------------- | --------------------------------------- |
| id_rsa | 生成的私钥 |
| id_rsa