二、Hadoop 运行环境搭建
Hadoop 运行环境搭建
文章目录
1. 模板虚拟机环境准备
1.1 安装CentOS-7.5-x86-1804
安装模板虚拟机,IP 地址 192.168.218.70、主机名称 wxler0、内存 1G、硬盘 50G
(1)选择CentOS7-64镜像位置
(2)开启虚拟机,选择如下,按Enter
(3)选择中文简体
(4)设置时间和日期,选择亚洲->上海
(5)软件选择,设置为最小安装
(6)设置安装位置
(7)选择我要配置分区,点击完成
(8)点击+号,为Boot分配1g空间
(9)文件系统设置为ext4
(10)再设置swap分区为4g
(11)最后设置根目录
(12)点击完成
(13)禁用KDUMP
(14)配置网络和主机名,后面可以修改
(15)设置root密码,完成之后重启
(16)点击vmvare->虚拟网络编辑器,查看子网IP
(17)设置VMnet8的ip如下,主机要和上面子网的网络号保持一致
(18)在虚拟机中登录,输入vi /etc/sysconfig/network-scripts/ifcfg-ens33
,将BOOTPROTO改为static,再加IPADDR、GATEWAT、DNS1这三行内容。
(19)输入vi /etc/hostname
修改主机名
(20)输入vi /etc/hosts
添加ip映射
(21)输入init 6
重启电脑,如果提示没有ifconfig
命令,可以参考centos7没有ifconfig命令解决办法
依次输入ping wxler0
和ping www.baidu.com
看看能否ping通
到这里就大功告成了。
1.2 虚拟机配置要求
本文 Linux 系统全部以 CentOS-7.5-x86-1804 为例
(1)使用 yum 安装需要虚拟机可以正常上网, yum 安装前可以先测试下虚拟机联网情况
(2)安装 epel-release
Extra Packages for Enterprise Linux 是为“红帽系”的操作系统提供额外的软件包,适用于 RHEL、CentOS 和 Scientific Linux。相当于是一个软件仓库,大多数 rpm 包在官方repository 中是找不到的)
1 | [root@wxler0 ~]# yum install -y epel-release |
(3) 注意: 如果 Linux 安装的是最小系统版,还需要安装如下工具;如果安装的是 Linux桌面标准版,不需要执行如下操作
- net-tool:工具包集合,包含 ifconfig 等命令:
yum install -y net-tools
- vim:编辑器:
yum install -y vim
(4)关闭防火墙,关闭防火墙开机自启
1 | systemctl stop firewalld |
注意:在企业开发时,通常单个服务器的防火墙时关闭的。公司整体对外会设置非常安全的防火墙
(5)创建 wxler 用户,并修改 wxler 用户的密码
1 | useradd wxler |
(6)配置 wxler 用户具有 root 权限,方便后期加 sudo 执行 root 权限的命令
1 | vim /etc/sudoers |
修改/etc/sudoers 文件,在%wheel
这行下面添加一行,如下所示:
1 | ## Allow root to run any commands anywhere |
注意:wxler 这一行不要直接放到 root 行下面,因为所有用户都属于 wheel 组,你先配置了 wxler 具有免密功能,但是程序执行到%wheel
行时,该功能又被覆盖回需要密码。所以 wxler 要放到%wheel
这行下面。
(7)在/opt
目录下创建文件夹,并修改所属主和所属组
①在/opt
目录下创建 module、software 文件夹
1 | mkdir /opt/module |
②修改 module、software 文件夹的所有者和所属组均为 atguigu 用户
1 | chown wxler:wxler /opt/module |
③查看 module、software 文件夹的所有者和所属组
1 | [root@wxler0 ~]# cd /opt |
(8)卸载虚拟机自带的 JDK
注意:如果你的虚拟机是最小化安装不需要执行这一步。
1 | rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps |
- rpm -qa:查询所安装的所有 rpm 软件包
- grep -i:忽略大小写
- xargs -n1:表示每次只传递一个参数
- rpm -e –nodeps:强制卸载软件
(9)重启虚拟机:init 6
2. 克隆虚拟机
1)利用模板机 wxler0,克隆三台虚拟机:wxler1 wxler2 wxler3
注意:克隆时,要先关闭 wxler1
2)修改克隆机 IP,以下以 wxler1 举例说明
修改克隆虚拟机的静态 IP
1 | vim /etc/sysconfig/network-scripts/ifcfg-ens33 |
改为(其实只要把改一下即可,别的不用改)
1 | DEVICE=ens33 |
3)修改克隆机主机名,以下以 wxler1 举例说明
①修改主机名称
1 | vim /etc/hostname |
②配置 Linux 克隆机主机名称映射 hosts 文件,打开/etc/hosts
1 | vim /etc/hosts |
添加如下内容:
1 | 192.168.218.70 wxler0 |
4)重启克隆机 hadoop102
1 | init 6 |
5)修改 windows 的主机映射文件(hosts 文件)
进入 C:\Windows\System32\drivers\etc
路径,打开 hosts 文件并添加如下内容,然后保存
1 | 192.168.218.70 wxler0 |
如果操作系统是 window7,可以直接修改。如果操作系统是 window10,先拷贝出来,修改保存以后,再覆盖即可。
3. 在Linux上安装JDK
用xshell连接3台linux,并用wxler用户登录
1)卸载现有 JDK
注意:安装 JDK 前,一定确保提前删除了虚拟机自带的 JDK。
2)用 XShell 传输工具将 JDK 导入到 opt 目录下面的 software 文件夹下面
3)在 Linux 系统下的 opt 目录中查看软件包是否导入成功
1 | ls /opt/software/ |
看到如下结果:
1 | jdk-8u212-linux-x64.tar.gz |
4)解压 JDK 到/opt/module 目录下
1 | cd /opt/software/ |
5)配置 JDK 环境变量
在/etc/profile
里面包含如下一部分代码
1 | for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do |
该代码意思就是让/etc/profile.d/
下面所有以.sh
结尾的文件生效,所以这里我们新建一个my_env.sh文件,里面存放我们的环境变量,这也是企业中的用法。
①新建/etc/profile.d/my_env.sh 文件
1 | sudo vim /etc/profile.d/my_env.sh |
添加如下内容
1 | #JAVA_HOME |
②source 一下/etc/profile 文件,让新的环境变量 PATH 生效source /etc/profile
6)测试 JDK 是否安装成功java -version
如果能看到以下结果,则代表 Java 安装成功。
1 | java version "1.8.0_212" |
4. 在Linux上安装 Hadoop
Hadoop 下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/
下面所有操作都在wxler1虚拟机上操作
1)用 XShell 文件传输工具将 hadoop-3.1.3.tar.gz 导入到 opt 目录下面的 software 文件夹下面
2)进入到 Hadoop 安装包路径下
1 | cd /opt/software/ |
3)解压安装文件到/opt/module 下面
1 | tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/ |
4)查看是否解压成功
1 | [wxler@wxler1 software]$ ls /opt/module |
5)将 Hadoop 添加到环境变量
①获取 Hadoop 安装路径
1 | [wxler@wxler1 hadoop-3.1.3]$ pwd |
②打开/etc/profile.d/my_env.sh 文件
1 | sudo vim /etc/profile.d/my_env.sh |
在 my_env.sh 文件末尾添加如下内容:(shift+g)
1 | #HADOOP_HOME |
让修改后的文件生效
1 | source /etc/profile |
6)测试是否安装成功
1 | [wxler@wxler1 hadoop-3.1.3]$ hadoop version |
7)重启(如果 Hadoop 命令不能用再重启虚拟机):init 6
5. Hadoop 目录结构
1)查看 Hadoop 目录结构
1 | [wxler@wxler1 hadoop-3.1.3]$ ll |
2)重要目录
(1)bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本
(2)etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件
(3)lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)
(4)sbin 目录:存放启动或停止 Hadoop 相关服务的脚本
(5)share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例