Hadoop完全分布式搭建
2年前
Hadoop完全分布式搭建
一、VMware软件使用
1.1 配置VM软件网络
1.1.1 软件打开左上角编辑,虚拟网络编辑器;
1.1.2 点击更改设置;
1.1.3 首先修改VMnet1仅主机类型,子网IP改为10.10.Y.0(Y可以选择自己喜欢的数字),子网掩码255.255.255.0
1.1.4 修改VMnet8 NAT模式,子网IP改为172.128.X.0(X可以选择自己喜欢的数字),子网掩码255.255.255.0
1.1.5 点击确定应用更改。
1.2 创建VM虚拟机
1.2.1 打开VMware软件,点击创建新的虚拟机;
1.2.2 选择典型(推荐);
1.2.3 选择稍后安装操作系统后下一步;
1.2.4 客户端操作系统选择Linux,版本选择CentOS 7 64位
1.2.5 虚拟机名称node1,位置自定义
1.2.6 磁盘大小设置20GB,并选择将虚拟磁盘拆分成多个文件
1.2.7 自定义硬件,新CD/DVD (IDE)选择使用ISO映像文件,CentOS镜像文件
1.2.8 安装1.2.1—1.2.7步骤创建node2和node3虚拟机
二、安装Centos7系统
2.1 开启虚拟机
2.1.1 打开VMware软件主页面,选择左侧需要打开的虚拟机
2.1.2 开启虚拟机
2.2 安装配置
2.2.1 使用键盘方向键选择Install CentOS 7后回车
2.2.2 选择语言后,进入安装信息摘要后,下来打开安装位置,然后直接点完成
2.2.3 打开网卡
(1)选择网络和主机名
(2)点击右侧按钮打开网卡
2.2.4 开始安装
2.2.5 设置ROOT密码
(1)点击ROOT密码
(2)设置ROOT密码:注意密码太简单的话,设置完成后需要点击两次完成才可以
2.2.6 完成安装,重启虚拟机
三、基础配置
3.1 分别把node1、node2、node3的IP改为静态IP
3.1.1 查看当前虚拟机IP,以及网卡名称
[root@localhost ~]# ip a
3.1.2 使用cd命令进入网卡配置文件目录,并查看网卡配置文件名
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
1.1.2 点击更改设置;
1.1.3 首先修改VMnet1仅主机类型,子网IP改为10.10.Y.0(Y可以选择自己喜欢的数字),子网掩码255.255.255.0
1.1.4 修改VMnet8 NAT模式,子网IP改为172.128.X.0(X可以选择自己喜欢的数字),子网掩码255.255.255.0
1.1.5 点击确定应用更改。
1.2 创建VM虚拟机
1.2.1 打开VMware软件,点击创建新的虚拟机;
1.2.2 选择典型(推荐);
1.2.3 选择稍后安装操作系统后下一步;
1.2.4 客户端操作系统选择Linux,版本选择CentOS 7 64位
1.2.5 虚拟机名称node1,位置自定义
1.2.6 磁盘大小设置20GB,并选择将虚拟磁盘拆分成多个文件
1.2.7 自定义硬件,新CD/DVD (IDE)选择使用ISO映像文件,CentOS镜像文件
1.2.8 安装1.2.1—1.2.7步骤创建node2和node3虚拟机
二、安装Centos7系统
2.1 开启虚拟机
2.1.1 打开VMware软件主页面,选择左侧需要打开的虚拟机
2.1.2 开启虚拟机
2.2 安装配置
2.2.1 使用键盘方向键选择Install CentOS 7后回车
2.2.2 选择语言后,进入安装信息摘要后,下来打开安装位置,然后直接点完成
2.2.3 打开网卡
(1)选择网络和主机名
(2)点击右侧按钮打开网卡
2.2.4 开始安装
2.2.5 设置ROOT密码
(1)点击ROOT密码
(2)设置ROOT密码:注意密码太简单的话,设置完成后需要点击两次完成才可以
2.2.6 完成安装,重启虚拟机
三、基础配置
3.1 分别把node1、node2、node3的IP改为静态IP
3.1.1 查看当前虚拟机IP,以及网卡名称
[root@localhost ~]# ip a
3.1.2 使用cd命令进入网卡配置文件目录,并查看网卡配置文件名
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
image-20220121203148582" style="zoom:67%;" />
1.1.2 点击更改设置;
1.1.3 首先修改VMnet1仅主机类型,子网IP改为10.10.Y.0(Y可以选择自己喜欢的数字),子网掩码255.255.255.0
1.1.4 修改VMnet8 NAT模式,子网IP改为172.128.X.0(X可以选择自己喜欢的数字),子网掩码255.255.255.0
1.1.5 点击确定应用更改。
1.2 创建VM虚拟机
1.2.1 打开VMware软件,点击创建新的虚拟机;
1.2.2 选择典型(推荐);
1.2.3 选择稍后安装操作系统后下一步;
1.2.4 客户端操作系统选择Linux,版本选择CentOS 7 64位
1.2.5 虚拟机名称node1,位置自定义
1.2.6 磁盘大小设置20GB,并选择将虚拟磁盘拆分成多个文件
1.2.7 自定义硬件,新CD/DVD (IDE)选择使用ISO映像文件,CentOS镜像文件
1.2.8 安装1.2.1—1.2.7步骤创建node2和node3虚拟机
二、安装Centos7系统
2.1 开启虚拟机
2.1.1 打开VMware软件主页面,选择左侧需要打开的虚拟机
2.1.2 开启虚拟机
2.2 安装配置
2.2.1 使用键盘方向键选择Install CentOS 7后回车
2.2.2 选择语言后,进入安装信息摘要后,下来打开安装位置,然后直接点完成
2.2.3 打开网卡
(1)选择网络和主机名
(2)点击右侧按钮打开网卡
2.2.4 开始安装
2.2.5 设置ROOT密码
(1)点击ROOT密码
(2)设置ROOT密码:注意密码太简单的话,设置完成后需要点击两次完成才可以
2.2.6 完成安装,重启虚拟机
三、基础配置
3.1 分别把node1、node2、node3的IP改为静态IP
3.1.1 查看当前虚拟机IP,以及网卡名称
[root@localhost ~]# ip a
3.1.2 使用cd命令进入网卡配置文件目录,并查看网卡配置文件名
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
3.1.3 修改网卡配置
[root@localhost network-scripts]# vi ifcfg-ens33
配置文件如下:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp" #将dhcp修改为static
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="f4bcef7e-636c-4f02-865f-c88a5d470ea6"
DEVICE="ens33"
ONBOOT="yes" #若为NO需要修改为yes
#添加以下四条
IPADDR=172.129.7.6 #需要在VM软件虚拟网络编辑器中设置的IP段内
PREFIX=24 #子网掩码
GATEWAY=172.129.7.2 #需要在VM软件虚拟网络编辑器中设置的网关相同
DNS1=8.8.8.8 #添加DNS服务器
3.1.4 重启网络服务
[root@localhost network-scripts]# service network restart
3.2 修改主机名以及IP地址映射
3.2.1 修改主机名
(1)修改主机名命令
hostnamectl set-hostname 新主机名
(2)node1:
[root@localhost ~]# hostnamectl set-hostname node1
[root@localhost ~]# bash #刷新主机名信息
[root@node1 ~]# hostname #查看当前主机名
(3)node2:
[root@localhost ~]# hostnamectl set-hostname node2
[root@localhost ~]# bash #刷新主机名信息
[root@node2 ~]# hostname #查看当前主机名
(4)node3:
[root@localhost ~]# hostnamectl set-hostname node3
[root@localhost ~]# bash #刷新主机名信息
[root@node3 ~]# hostname #查看当前主机名
3.1.1 IP地址映射
(1)通过vi命令打开hosts文件
[root@node1 ~]# vi /etc/hosts
(2)添加node1、node2、node3主机IP地址映射信息
#映射模板
#主机IP+空格+主机名
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.129.7.6 node1
172.129.7.7 node2
172.129.7.8 node3
(3)在node2和node3主机重复3.1.1(1)—3.1.1(2)步骤完成IP地址映射
3.3 防火墙服务、selinux服务永久关闭
3.3.1 永久关闭防火墙服务
(1)查看当前防火墙服务状态
[root@node1 ~]# systemctl status firewalld.service
(2)临时关闭防火墙服务
[root@node1 ~]# systemctl stop firewalld.service
(3)永久关闭防火墙服务
[root@node1 ~]# systemctl disable firewalld.service
(4)在node2和node3主机重复3.1.1(1)—3.1.1(2)步骤永久关闭防火墙服务
3.3.2 永久关闭selinux服务
(1)查看当前selinux服务模式
[root@node1 ~]# getenforce
(3)node2:
[root@localhost ~]# hostnamectl set-hostname node2
[root@localhost ~]# bash #刷新主机名信息
[root@node2 ~]# hostname #查看当前主机名
(4)node3:
[root@localhost ~]# hostnamectl set-hostname node3
[root@localhost ~]# bash #刷新主机名信息
[root@node3 ~]# hostname #查看当前主机名
3.1.1 IP地址映射
(1)通过vi命令打开hosts文件
[root@node1 ~]# vi /etc/hosts
(2)添加node1、node2、node3主机IP地址映射信息
#映射模板
#主机IP+空格+主机名
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.129.7.6 node1
172.129.7.7 node2
172.129.7.8 node3
(3)在node2和node3主机重复3.1.1(1)—3.1.1(2)步骤完成IP地址映射
3.3 防火墙服务、selinux服务永久关闭
3.3.1 永久关闭防火墙服务
(1)查看当前防火墙服务状态
[root@node1 ~]# systemctl status firewalld.service
(2)临时关闭防火墙服务
[root@node1 ~]# systemctl stop firewalld.service
(3)永久关闭防火墙服务
[root@node1 ~]# systemctl disable firewalld.service
(4)在node2和node3主机重复3.1.1(1)—3.1.1(2)步骤永久关闭防火墙服务
3.3.2 永久关闭selinux服务
(1)查看当前selinux服务模式
[root@node1 ~]# getenforce
image-20221105193658779" style="zoom:67%;" />
(3)node2:
[root@localhost ~]# hostnamectl set-hostname node2
[root@localhost ~]# bash #刷新主机名信息
[root@node2 ~]# hostname #查看当前主机名
(4)node3:
[root@localhost ~]# hostnamectl set-hostname node3
[root@localhost ~]# bash #刷新主机名信息
[root@node3 ~]# hostname #查看当前主机名
3.1.1 IP地址映射
(1)通过vi命令打开hosts文件
[root@node1 ~]# vi /etc/hosts
(2)添加node1、node2、node3主机IP地址映射信息
#映射模板
#主机IP+空格+主机名
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.129.7.6 node1
172.129.7.7 node2
172.129.7.8 node3
(3)在node2和node3主机重复3.1.1(1)—3.1.1(2)步骤完成IP地址映射
3.3 防火墙服务、selinux服务永久关闭
3.3.1 永久关闭防火墙服务
(1)查看当前防火墙服务状态
[root@node1 ~]# systemctl status firewalld.service
(2)临时关闭防火墙服务
[root@node1 ~]# systemctl stop firewalld.service
(3)永久关闭防火墙服务
[root@node1 ~]# systemctl disable firewalld.service
(4)在node2和node3主机重复3.1.1(1)—3.1.1(2)步骤永久关闭防火墙服务
3.3.2 永久关闭selinux服务
(1)查看当前selinux服务模式
[root@node1 ~]# getenforce
(2)修改selinux服务配置文件
[root@node1 ~]# vi /etc/selinux/config #通过vi命令打开selinux服务配置文件并进行修改
selinux服务配置
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing #将enforcing修改为disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
(3)重启虚拟机使配置文件生效
[root@node1 ~]# reboot
(4)重启后查看selinux服务模式
[root@node1 ~]# getenforce
(5)在node2和node3主机重复3.1.2(1)—3.1.2(4)步骤永久关闭selinux服务
3.3 SSH免密
3.3.1 生成密钥
[root@node1 ~]# ssh-keygen -t rsa #一直回车,直至出现下图红框内容
3.3.2 使用ssh-copy-id命令把复制到node1、node2、node3
[root@node1 ~]# ssh-copy-id node1
[root@node1 ~]# ssh-copy-id node2
[root@node1 ~]# ssh-copy-id node3
#出现下图,输入yes回车,然后输入目标主机密码回车
3.3.3 在node2和node3主机重复3.3.1—3.3.2步骤完成免密
四、安装JDK
4.1 创建安装目录
4.1.1 分别在三台主机创建export目录,并在export目录下分别创建servers、soft目录
[root@node1 ~]# cd /
[root@node1 /]# mkdir /export
[root@node1 /]# mkdir /export/{servers,soft}
#servers 用于存放解压后的文件
#soft 用于存放软件包
4.2 上传JDK软件包
使用Xftp 7、SecureCRT、MobaXterm_Personal等软件上传,因人而异。
4.3 解压JDK软件包至servers目录
[root@node1 /]# tar -zxvf /export/soft/jdk-8u162-linux-x64.tar.gz -C /export/servers/
4.4 将解压后的JKD软件包名字修改为jdk,以便后续其他组件部署
[root@node1 /]# mv /export/servers/jdk1.8.0_162/ /export/servers/jdk
4.5 配置环境变量
4.5.1 使用vi命令打开环境变量文件
[root@node1 /]# vi /etc/profile
4.5.2 添加JDK的环境变量
(1)同时按住Shift键+G键,使光标跳至最后一行
(2)添加JAVA_HOME和PATH环境变量
export JAVA_HOME=/export/servers/jdk
export PATH=:$JAVA_HOME/bin:$PATH
(3)重启虚拟机使配置文件生效
[root@node1 ~]# reboot
(4)重启后查看selinux服务模式
[root@node1 ~]# getenforce
(5)在node2和node3主机重复3.1.2(1)—3.1.2(4)步骤永久关闭selinux服务
3.3 SSH免密
3.3.1 生成密钥
[root@node1 ~]# ssh-keygen -t rsa #一直回车,直至出现下图红框内容
3.3.2 使用ssh-copy-id命令把复制到node1、node2、node3
[root@node1 ~]# ssh-copy-id node1
[root@node1 ~]# ssh-copy-id node2
[root@node1 ~]# ssh-copy-id node3
#出现下图,输入yes回车,然后输入目标主机密码回车
3.3.3 在node2和node3主机重复3.3.1—3.3.2步骤完成免密
四、安装JDK
4.1 创建安装目录
4.1.1 分别在三台主机创建export目录,并在export目录下分别创建servers、soft目录
[root@node1 ~]# cd /
[root@node1 /]# mkdir /export
[root@node1 /]# mkdir /export/{servers,soft}
#servers 用于存放解压后的文件
#soft 用于存放软件包
4.2 上传JDK软件包
使用Xftp 7、SecureCRT、MobaXterm_Personal等软件上传,因人而异。
4.3 解压JDK软件包至servers目录
[root@node1 /]# tar -zxvf /export/soft/jdk-8u162-linux-x64.tar.gz -C /export/servers/
4.4 将解压后的JKD软件包名字修改为jdk,以便后续其他组件部署
[root@node1 /]# mv /export/servers/jdk1.8.0_162/ /export/servers/jdk
4.5 配置环境变量
4.5.1 使用vi命令打开环境变量文件
[root@node1 /]# vi /etc/profile
4.5.2 添加JDK的环境变量
(1)同时按住Shift键+G键,使光标跳至最后一行
(2)添加JAVA_HOME和PATH环境变量
export JAVA_HOME=/export/servers/jdk
export PATH=:$JAVA_HOME/bin:$PATH
image-20221105221941411" style="zoom: 50%;" />
(3)重启虚拟机使配置文件生效
[root@node1 ~]# reboot
(4)重启后查看selinux服务模式
[root@node1 ~]# getenforce
(5)在node2和node3主机重复3.1.2(1)—3.1.2(4)步骤永久关闭selinux服务
3.3 SSH免密
3.3.1 生成密钥
[root@node1 ~]# ssh-keygen -t rsa #一直回车,直至出现下图红框内容
3.3.2 使用ssh-copy-id命令把复制到node1、node2、node3
[root@node1 ~]# ssh-copy-id node1
[root@node1 ~]# ssh-copy-id node2
[root@node1 ~]# ssh-copy-id node3
#出现下图,输入yes回车,然后输入目标主机密码回车
3.3.3 在node2和node3主机重复3.3.1—3.3.2步骤完成免密
四、安装JDK
4.1 创建安装目录
4.1.1 分别在三台主机创建export目录,并在export目录下分别创建servers、soft目录
[root@node1 ~]# cd /
[root@node1 /]# mkdir /export
[root@node1 /]# mkdir /export/{servers,soft}
#servers 用于存放解压后的文件
#soft 用于存放软件包
4.2 上传JDK软件包
使用Xftp 7、SecureCRT、MobaXterm_Personal等软件上传,因人而异。
4.3 解压JDK软件包至servers目录
[root@node1 /]# tar -zxvf /export/soft/jdk-8u162-linux-x64.tar.gz -C /export/servers/
4.4 将解压后的JKD软件包名字修改为jdk,以便后续其他组件部署
[root@node1 /]# mv /export/servers/jdk1.8.0_162/ /export/servers/jdk
4.5 配置环境变量
4.5.1 使用vi命令打开环境变量文件
[root@node1 /]# vi /etc/profile
4.5.2 添加JDK的环境变量
(1)同时按住Shift键+G键,使光标跳至最后一行
(2)添加JAVA_HOME和PATH环境变量
export JAVA_HOME=/export/servers/jdk
export PATH=:$JAVA_HOME/bin:$PATH
4.5.3 加载环境变量文件,使其生效
[root@node1 /]# source /etc/profile
image-202211060011212924.5.4 查看java的版本信息
[root@node1 /]# java -version
4.6 将JDK和环境变量分发给node2和node3
[root@node1 /]# scp -r /export/servers/jdk/ node2:/export/servers/
[root@node1 /]# scp -r /export/servers/jdk/ node3:/export/servers/
[root@node1 /]# scp /etc/profile node2:/etc/
[root@node1 /]# scp /etc/profile node3:/etc/
4.7 在node2和node3加载环境变量文件,并查看java版本
[root@node2 /]# source /etc/profile
[root@node2 /]# java -version
[root@node3 /]# source /etc/profile
[root@node3 /]# java -version
五、安装Hadoop
5.1 上传Hadoop软件包
参考4.2
5.2 解压Hadoop软件包至servers目录
[root@node1 ~]# tar -zxvf /export/soft/hadoop-2.7.1.tar.gz -C /export/servers/
5.3 将解压后的Hadoop软件包名字修改为hadoop
[root@node1 ~]# mv /export/servers/hadoop-2.7.1/ /export/servers/hadoop
5.4 配置环境变量
5.4.1 使用vi命令打开环境变量文件
[root@node1 ~]# vi /etc/profile
5.4.2 添加Hadoop的环境变量
(1)同时按住Shift键+G键,使光标跳至最后一行
(2)添加HADOOP_HOME和PATH环境变量
export HADOOP_HOME=/export/servers/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
4.6 将JDK和环境变量分发给node2和node3
[root@node1 /]# scp -r /export/servers/jdk/ node2:/export/servers/
[root@node1 /]# scp -r /export/servers/jdk/ node3:/export/servers/
[root@node1 /]# scp /etc/profile node2:/etc/
[root@node1 /]# scp /etc/profile node3:/etc/
4.7 在node2和node3加载环境变量文件,并查看java版本
[root@node2 /]# source /etc/profile
[root@node2 /]# java -version
[root@node3 /]# source /etc/profile
[root@node3 /]# java -version
五、安装Hadoop
5.1 上传Hadoop软件包
参考4.2
5.2 解压Hadoop软件包至servers目录
[root@node1 ~]# tar -zxvf /export/soft/hadoop-2.7.1.tar.gz -C /export/servers/
5.3 将解压后的Hadoop软件包名字修改为hadoop
[root@node1 ~]# mv /export/servers/hadoop-2.7.1/ /export/servers/hadoop
5.4 配置环境变量
5.4.1 使用vi命令打开环境变量文件
[root@node1 ~]# vi /etc/profile
5.4.2 添加Hadoop的环境变量
(1)同时按住Shift键+G键,使光标跳至最后一行
(2)添加HADOOP_HOME和PATH环境变量
export HADOOP_HOME=/export/servers/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
image-20221106002058313" style="zoom:67%;" />
4.6 将JDK和环境变量分发给node2和node3
[root@node1 /]# scp -r /export/servers/jdk/ node2:/export/servers/
[root@node1 /]# scp -r /export/servers/jdk/ node3:/export/servers/
[root@node1 /]# scp /etc/profile node2:/etc/
[root@node1 /]# scp /etc/profile node3:/etc/
4.7 在node2和node3加载环境变量文件,并查看java版本
[root@node2 /]# source /etc/profile
[root@node2 /]# java -version
[root@node3 /]# source /etc/profile
[root@node3 /]# java -version
五、安装Hadoop
5.1 上传Hadoop软件包
参考4.2
5.2 解压Hadoop软件包至servers目录
[root@node1 ~]# tar -zxvf /export/soft/hadoop-2.7.1.tar.gz -C /export/servers/
5.3 将解压后的Hadoop软件包名字修改为hadoop
[root@node1 ~]# mv /export/servers/hadoop-2.7.1/ /export/servers/hadoop
5.4 配置环境变量
5.4.1 使用vi命令打开环境变量文件
[root@node1 ~]# vi /etc/profile
5.4.2 添加Hadoop的环境变量
(1)同时按住Shift键+G键,使光标跳至最后一行
(2)添加HADOOP_HOME和PATH环境变量
export HADOOP_HOME=/export/servers/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
5.4.3 加载环境变量文件,使其生效
[root@node1 ~]# source /etc/profile
5.4.4 查看Hadoop的版本信息
[root@node1 ~]# hadoop version
5.5 配置Hadoop配置文件
5.5.1 配置hadoop-env.sh
(1)使用vi命令打开hadoop-env.sh文件
[root@node1 ~]# vi /export/servers/hadoop/etc/hadoop/hadoop-env.sh
(2)修改文件中export JAVA_HOME=配置
export JAVA_HOME=/export/servers/jdk
修改前:
5.5 配置Hadoop配置文件
5.5.1 配置hadoop-env.sh
(1)使用vi命令打开hadoop-env.sh文件
[root@node1 ~]# vi /export/servers/hadoop/etc/hadoop/hadoop-env.sh
(2)修改文件中export JAVA_HOME=配置
export JAVA_HOME=/export/servers/jdk
修改前:image-20221231152155147" style="zoom: 80%;" />
5.5 配置Hadoop配置文件
5.5.1 配置hadoop-env.sh
(1)使用vi命令打开hadoop-env.sh文件
[root@node1 ~]# vi /export/servers/hadoop/etc/hadoop/hadoop-env.sh
(2)修改文件中export JAVA_HOME=配置
export JAVA_HOME=/export/servers/jdk
修改前:image-20221231160802661
5.5.2 配置core-site.xml
(1)使用vi命令打开core-site.xml文件
[root@node1 ~]# vi /export/servers/hadoop/etc/hadoop/core-site.xml
(2)在 之间添加以下配置
<property>
<!--namenode的URL地址(必须写)-->
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<!--SequenceFiles中使用的读/写缓冲区的大小,单位为KB,131072KB默认为64M(该配置可选)-->
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<!--hadoop临时文件路径(可选配置)-->
<name>hadoop.tmp.dir</name>
<value>/export/servers/hadoop/dfs/tmp</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/export/servers/hadoop/journalnode</value>
</property>
image-202212311650422275.5.3 配置hdfs-site.xml
(1)使用vi命令打开hadoop-env.sh文件
[root@node1 ~]# vi /export/servers/hadoop/etc/hadoop/hdfs-site.xml
(2)在 之间添加以下配置
<property>
<!--hadoop的副本数量,默认为3(必须写)-->
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<!--在本地文件系统所在的NameNode的存储空间和持续化处理日志(必须写)-->
<name>dfs.namenode.name.dir</name>
<value>/export/servers/hadoop/dfs/name</value>
</property>
<property>
<!--在本地文件系统所在的DataNode的存储空间和持续化处理日志(必须写)-->
<name>dfs.datanode.data.dir</name>
<value>/export/servers/hadoop/dfs/data</value>
</property>
<property>
<!--设置namenode线程,处理datanode发出rpc请求数量(可选配置)-->
<name>dfs.namenode.handler.count</name>
<value>100</value>
</property>
image-202212311657114675.5.4 配置mapred-site.xml
(1)复制mapred-site.xml.template并重命名为mapred-site.xml
[root@node1 ~]# cp /export/servers/hadoop/etc/hadoop/mapred-site.xml.template /export/servers/hadoop/etc/hadoop/mapred-site.xml
(2)使用vi命令打开mapred-site.xml文件
[root@node1 ~]# vi /export/servers/hadoop/etc/hadoop/mapred-site.xml
(3)在 之间添加以下配置
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
image-202212311657509755.5.5 配置yarn-site.xml
(1)使用vi命令打开yarn-site.xml文件
[root@node1 ~]# vi /export/servers/hadoop/etc/hadoop/yarn-site.xml
(2)在 之间添加以下配置
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>node1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>node1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>node1:8031</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 提高内存虚拟化率 -->
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>3.0</value>
</property>
image-202212311658297765.5.6 配置slaves
(1)使用vi命令打开slaves文件
[root@node1 ~]# vi /export/servers/hadoop/etc/hadoop/slaves
(2)删除localhost添加以下配置
node1
node2
node3
image-202212311640541795.6 将Hadoop文件和环境变量文件分发给slave1和slave2
[root@node1 ~]# scp -r /export/servers/hadoop/ node2:/export/servers/
[root@node1 ~]# scp -r /export/servers/hadoop/ node3:/export/servers/
[root@node1 ~]# scp /etc/profile node2:/etc/profile
[root@node1 ~]# scp /etc/profile node3:/etc/profile
5.7 在node2和node3加载环境变量文件
[root@node2 ~]# source /etc/profile
[root@node3 ~]# source /etc/profile
5.8 对namenode进行格式化(在node1)
[root@node1 ~]# hdfs namenode -format
22/12/31 17:03:27 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = node1/172.129.7.6
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.7.1
STARTUP_MSG: classpath = /export/servers/hadoop/etc/hadoop:(此次省略)
STARTUP_MSG: build = https://git-wip-us.apache.org/repos/asf/hadoop.git -r 15ecc87ccf4a0228f35af08fc56de536e6ce657a; compiled by 'jenkins' on 2015-06-29T06:04Z
STARTUP_MSG: java = 1.8.0_162
************************************************************/
...省略
22/12/31 17:03:28 INFO namenode.FSImage: Allocated new BlockPoolId: BP-1869874649-172.129.7.6-1672477408700
22/12/31 17:03:28 INFO common.Storage: Storage directory /export/servers/hadoop/dfs/name has been successfully formatted.
22/12/31 17:03:28 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
22/12/31 17:03:28 INFO util.ExitUtil: Exiting with status 0
22/12/31 17:03:28 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at node1/172.129.7.6
************************************************************/
image-202212311707180035.9 启动hadoop集群,查看守护进程
5.9.1 启动集群
[root@node1 ~]# start-all.sh
image-202212311712244245.9.2 jps查看进程
(1)node1
[root@node1 ~]# jps
17427 NameNode
18308 Jps
17637 DataNode
17787 SecondaryNameNode
17932 ResourceManager
18061 NodeManager
(2)node2
[root@node2 ~]# jps
17332 NodeManager
17429 Jps
17247 DataNode
(3)node3
[root@node3 ~]# jps
17193 DataNode
17278 NodeManager
17375 Jps