1. 模板虚拟机环境准备

说明 模板虚拟机的目的是,以后要搭建集群还需要安装服务器,这样直接克隆此模板虚拟机,稍作修改即可!避免重复操作


学习阶段电脑配置建议 16G内存

Linux的安装参考安装VMware和centOS7 注意:内存4G,硬盘50G,最小化安装


在安装好了centOS7之后,接下来需要做如下工作

1.1 yum安装一些工具

(1)使用yum安装需要虚拟机可以正常上网,yum安装前可以先测试下虚拟机联网情况

[root@hadoop100 ~]# ping www.baidu.com
PING www.baidu.com (14.215.177.39) 56(84) bytes of data.
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=128 time=8.60 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=128 time=7.72 ms

(2)安装额外软件仓库
Extra Packages for Enterprise Linux 是为红帽系操作系统提供的额外软件包,适用于RHEL,CentOS等,相当于一个软件仓库,大多数rpm包在官网repository中找不到,相当于一个补丁

[root@hadoop100 ~]# yum install -y epel-release

(3)如果Linux是最小化安装,还需要安装下面的工具

[root@hadoop100 ~]# yum install -y psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git

1.2 关闭防火墙,关闭防火墙开机自启

一般企业中,内部服务器之间不做防火墙,但是对外是做防火墙的,如下图所示:

hadoop搭建虚拟机使用哪种类型安装 装虚拟机hadoop需要多少内存_hadoop搭建虚拟机使用哪种类型安装

[root@hadoop100 ~]# systemctl stop firewalld
[root@hadoop100 ~]# systemctl disable firewalld

1.3 创建用户,并修改用户密码

[root@hadoop100 ~]# useradd atguigu
[root@hadoop100 ~]# passwd atguigu

123456

1.4 配置用户具有root权限

方便后期加sudo执行root权限的命令

[root@hadoop100 ~]# vim /etc/sudoers

修改/etc/sudoers文件,找到下面一行(100行左右),在root下面添加一行,如下所示:

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

atguigu   ALL=(ALL)     NOPASSWD:ALL

NOPASSWD:ALL指的是atguigu用户切换到root用户的时候,不需要输入root用户的密码;

1.5 在/opt目录下创建文件夹,并修改所属主和所属组

(1)在/opt目录下创建module、software文件夹

[root@hadoop100 ~]# mkdir /opt/module
[root@hadoop100 ~]# mkdir /opt/software

module目录装软件
software目录装软件安装包

(2)修改module、software文件夹的所有者和所属组均为atguigu用户

[root@hadoop100 ~]# chown atguigu:atguigu /opt/module 
[root@hadoop100 ~]# chown atguigu:atguigu /opt/software

(3)查看module、software文件夹的所有者和所属组

[root@hadoop100 ~]# cd /opt/
[root@hadoop100 opt]# ll
总用量 12
drwxr-xr-x. 2 atguigu atguigu 4096 5月  28 17:18 module
drwxr-xr-x. 2 root    root    4096 9月   7 2017 rh
drwxr-xr-x. 2 atguigu atguigu 4096 5月  28 17:18 software

(4)卸载虚拟机自带的open JDK

[root@hadoop100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

语法解释 rpm -qa 查询所有安装软件
grep -i java 筛选出带java关键字的,忽略大小写
xargs -n1 将前面的执行结果一个一个的作为参数传过来
rpm -e nodeps 删除软件

(5)重启虚拟机

[root@hadoop100 ~]# reboot

可以不重启,在配置完ip后重启

1.6 配置IP地址

1)vm的ip

hadoop搭建虚拟机使用哪种类型安装 装虚拟机hadoop需要多少内存_vim_02


hadoop搭建虚拟机使用哪种类型安装 装虚拟机hadoop需要多少内存_vim_03


然后点击NET设置

hadoop搭建虚拟机使用哪种类型安装 装虚拟机hadoop需要多少内存_重启_04

2) windows 的ip

hadoop搭建虚拟机使用哪种类型安装 装虚拟机hadoop需要多少内存_hadoop搭建虚拟机使用哪种类型安装_05

3) 模板机器的IP

(1)修改克隆虚拟机的静态IP

[root@hadoop100 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

改成

DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
NAME="ens33"
#IP地址  网段192.168.10 和 前面的保持一致
IPADDR=192.168.10.100
PREFIX=24
#网关
GATEWAY=192.168.10.2
#域名解析器
DNS1=192.168.10.2

保证Linux系统ifcfg-ens33文件中IP地址、虚拟网络编辑器地址、Windows系统VM8网络IP地址相同

7.修改模板机主机名

(1)修改主机名称,两种方法二选一

[root@hadoop100 ~]# hostnamectl --static set-hostname hadoop102

或者修改/etc/hostname文件

[root@hadoop100 ~]# vim /etc/hostname
hadoop102

(2)配置linux克隆机主机名称映射hosts文件,打开/etc/hosts

[root@hadoop100 ~]# vim /etc/hosts
添加如下内容
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108

重启克隆机hadoop100

[root@hadoop100 ~]# reboot

重启后检查ip和网络是否通

1.ifconfig查看ip
2.ping www.baidu.com

8.修改windows的主机映射文件(hosts文件)

修改这个文件是为了远程访问直接提供名字即可

(1)如果操作系统是window7,可以直接修改

(a)进入C:\Windows\System32\drivers\etc路径
(b)打开hosts文件并添加如下内容,然后保存
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108

(2)如果操作系统是window10,先拷贝出来,修改保存以后,再覆盖即可

(a)进入C:\Windows\System32\drivers\etc路径
(b)拷贝hosts文件到桌面
(c)打开桌面hosts文件并添加如下内容
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108
(d)将桌面hosts文件覆盖C:\Windows\System32\drivers\etc路径hosts文件

到此模板机的Linux环境就搭建好了

2.模板机安装JDK和Hadoop

(1)上传软件压缩包

通过xftp文件传输软件将压缩包上传到/opt/software目录下

建议使用MobaXterm,既能远程链接,又能文件传输

hadoop搭建虚拟机使用哪种类型安装 装虚拟机hadoop需要多少内存_重启_06


(2)解压到/opt/module目录下

tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

(3)配置环境变量
环境变量可以配置在/etc/profile.d/下的一个自定义的.sh的文件中
因为在/etc/profile文件中 会遍历此目录下的.sh文件,从而获取环境变量

  • 新建/etc/profile.d/my_env.sh文件
[atguigu@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh
  • 添加如下内容
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

export相当于将变量提升到全局shell对象中

保存后退出

  • source一下/etc/profile文件,让新的环境变量PATH生效
source /etc/profile

(4)验证JDK和hadoop是否安装成功

[atguigu@hadoop100 ~]$ java -version

[atguigu@hadoop100 hadoop-3.1.3]$ hadoop version

如果能看到版本号,就不用重启了;如果看不到,重启试试

3.Hadoop本地运行

现在我们在样板机上安装好了JDK和Hadoop,已经可以在当前机器运行一些hadoop样例代码了;
如果只在一个机器上运行的模式叫做本地模式

本地模式:

  • 存储在本地磁盘
  • 资源调度由操作系统
  • 计算单干
    没有分布式,此模式用于测试,不做生产。

1)创建在hadoop-3.1.3文件下面创建一个wcinput文件夹

[atguigu@hadoop102 hadoop-3.1.3]$ mkdir wcinput

2)在wcinput文件下创建一个word.txt文件

[atguigu@hadoop102 hadoop-3.1.3]$ cd wcinput

3)编辑word.txt文件

[atguigu@hadoop102 wcinput]$ vim word.txt

在文件中输入如下内容

hadoop yarn
hadoop mapreduce
atguigu
atguigu

保存退出::wq
4)回到Hadoop目录/opt/module/hadoop-3.1.3
5)执行程序

[atguigu@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput wcoutput

6)查看结果

[atguigu@hadoop102 hadoop-3.1.3]$ cat wcoutput/part-r-00000

看到如下结果:

atguigu 2
hadoop  2
mapreduce       1
yarn    1