Hadoop学习指南:探索大数据时代的重要组成——运行环境搭建

IT知识
197
0
0
2024-05-25

Hadoop运行环境搭建(开发重点)

模板虚拟机环境准备

数据来源层

安装模板虚拟机,IP地址192.168.10.100、主机名称hadoop100、内存4G、硬盘50G
hadoop100 虚拟机配置要求如下(本文Linux系统全部以CentOS-7.5-x86-1804为例)
使用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 
安装epel-release

注:Extra Packages for Enterprise Linux 是为“红帽系”的操作系统提供额外的软件包, 适用于RHEL、CentOS 和 Scientific Linux。相当于是一个软件仓库,大多数 rpm 包在官方 repository 中是找不到的)

[root@hadoop100 ~]# yum install -y epel-release 
注意:如果Linux安装的是最小系统版,还需要安装如下工具;如果安装的是Linux桌面标准版,不需要执行如下操作
  • net-tool:工具包集合,包含ifconfig等命令
[root@hadoop100 ~]# yum install -y net-tools  
  • vim:编辑器
[root@hadoop100 ~]# yum install -y vim 
关闭防火墙,关闭防火墙开机自启
[root@hadoop100 ~]# systemctl stop firewalld 
[root@hadoop100 ~]# systemctl disable firewalld.service 

==注意:在企业开发时,通常单个服务器的防火墙时关闭的。公司整体对外会设置非常安全的防火墙 ==

创建atguigu用户,并修改atguigu用户的密码
[root@hadoop100 ~]# useradd atguigu 
[root@hadoop100 ~]# passwd atguigu 
配置atguigu用户具有root权限,方便后期加sudo执行root权限的命令
[root@hadoop100 ~]# vim /etc/sudoers 

修改/etc/sudoers 文件,在%wheel这行下面添加一行,如下所示:

## Allow root to run any commands anywhere 
root    ALL=(ALL)     ALL 
## Allows people in group wheel to run all commands 
%wheel  ALL=(ALL)       ALL
atguigu   ALL=(ALL)     NOPASSWD:ALL

注意:atguigu 这一行不要直接放到root行下面,因为所有用户都属于wheel组,你先配置了atguigu具有免密功能,但是程序执行到%wheel行时,该功能又被覆盖回需要密码。所以atguigu要放到%wheel这行下面。

在/opt目录下创建文件夹,并修改所属主和所属组
  • 在/opt目录下创建module、software文件夹
[root@hadoop100 ~]# mkdir /opt/module 
[root@hadoop100 ~]# mkdir /opt/software 
  • 修改module、software 文件夹的所有者和所属组均为atguigu用户
[root@hadoop100 ~]# chown atguigu:atguigu /opt/module  
[root@hadoop100 ~]# chown atguigu:atguigu /opt/software 
  • 查看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 
卸载虚拟机自带的JDK

注意:如果你的虚拟机是最小化安装不需要执行这一步。

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

➢ rpm -qa:查询所安装的所有rpm软件包 ➢ grep -i:忽略大小写 ➢ xargs -n1:表示每次只传递一个参数 ➢ rpm -e –nodeps:强制卸载软件

重启虚拟机
[root@hadoop100 ~]# reboot 

克隆虚拟机

利用模板机hadoop100,克隆三台虚拟机:hadoop102 hadoop103 hadoop104

注意:克隆时,要先关闭hadoop100

修改克隆机IP,以下以hadoop102举例说明

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

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

改为

DEVICE=ens33 
TYPE=Ethernet 
ONBOOT=yes 
BOOTPROTO=static 
NAME="ens33" 
IPADDR=192.168.10.102 
PREFIX=24 
GATEWAY=192.168.10.2 
DNS1=192.168.10.2 

(2)查看Linux虚拟机的虚拟网络编辑器,编辑->虚拟网络编辑器->VMnet8

在这里插入图片描述

在这里插入图片描述

(3)查看Windows系统适配器VMware Network Adapter VMnet8 的IP地址

在这里插入图片描述

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

修改克隆机主机名,以下以hadoop102举例说明

(1)修改主机名称

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

配置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 

重启克隆机hadoop102

[root@hadoop100 ~]# reboot

修改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文件

在hadoop102安装JDK

卸载现有JDK

注意:安装JDK前,一定确保提前删除了虚拟机自带的JDK

用XShell传输工具将JDK导入到opt目录下面的software文件夹下面

在这里插入图片描述

在Linux系统下的opt目录中查看软件包是否导入成功
[atguigu@hadoop102 ~]$ ls /opt/software/ 

看到如下结果:

jdk-8u212-linux-x64.tar.gz
解压JDK到/opt/module目录下
[atguigu@hadoop102 software]$ tar -zxvf jdk-8u212-linux
x64.tar.gz -C /opt/module/ 
配置JDK环境变量

(1)新建/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 

(2)保存后退出 :wq (3)source一下/etc/profile文件,让新的环境变量PATH生效

[atguigu@hadoop102 ~]$ source /etc/profile
测试JDK是否安装成功
[atguigu@hadoop102 ~]$ java -version 

如果能看到以下结果,则代表Java安装成功。

java version "1.8.0_212"

注意:重启(如果java -version可以用就不用重启)

[atguigu@hadoop102 ~]$ sudo reboot

在hadoop102安装Hadoop

Hadoop下载地址:Hadoop

1)用XShell文件传输工具将hadoop-3.1.3.tar.gz导入到opt目录下面的software文件夹下

在这里插入图片描述

2)进入到Hadoop安装包路径下
[atguigu@hadoop102 ~]$ cd /opt/software/ 
3)解压安装文件到/opt/module下面
[atguigu@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C 
/opt/module/
4)查看是否解压成功
[atguigu@hadoop102 software]$ ls /opt/module/ 
hadoop-3.1.3 
5)将Hadoop添加到环境变量

(1)获取Hadoop安装路径

[atguigu@hadoop102 hadoop-3.1.3]$ pwd 
/opt/module/hadoop-3.1.3 

(2)打开/etc/profile.d/my_env.sh文件

[atguigu@hadoop102 hadoop-3.1.3]$ sudo vim 
/etc/profile.d/my_env.sh

➢ 在my_env.sh文件末尾添加如下内容:(shift+g)

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

➢ 保存并退出: :wq (3)让修改后的文件生效

[atguigu@hadoop102 hadoop-3.1.3]$ source /etc/profile
6)测试是否安装成功
[atguigu@hadoop102 hadoop-3.1.3]$ hadoop version 
Hadoop 3.1.3 
7)重启(如果Hadoop命令不能用再重启虚拟机)
[atguigu@hadoop102 hadoop-3.1.3]$ sudo reboot

Hadoop 目录结构

查看Hadoop目录结构
[atguigu@hadoop102 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)bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本 (2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件 (3)lib 目录:存放Hadoop的本地库(对数据进行压缩解压缩功能) (4)sbin 目录:存放启动或停止Hadoop相关服务的脚本 (5)share 目录:存放Hadoop的依赖jar包、文档、和官方案例

总结:

Hadoop是大数据处理的重要工具,搭建Hadoop的运行环境是学习和应用Hadoop的第一步。通过安装JDK和配置Hadoop,我们可以轻松搭建一个强大的分布式计算平台,实现大规模数据处理和存储。

通过学习Hadoop的搭建和配置,我们能够深入了解Hadoop的运行原理和机制。在后续的学习和实践中,我们将探索更多Hadoop的功能和应用,为大数据处理和分析提供更加全面和高效的解决方案。