实验环境:
虚拟化软件:VMware® Workstation 16 Pro
镜像:ubuntu-22.04.2-live-server-amd64.iso
Hadoop版本:hadoop-3.3.4.tar.gz
ubuntu镜像链接
hadoop文件链接
配置虚拟机
(1)新建虚拟机,选择实验镜像【ubuntu-22.04.2-live-server-amd64.iso】
(2)调整硬件配置,配置如图
安装操作系统
(1)选择虚拟机语言,键盘布局
语言:English
键盘布局:美式键盘(ANSI)布局
(2)选择安装类型
保持默认选择 Ubuntu Server,选择 Done 继续
(3)网络配置
在 NAT 模式下,默认采用 DHCP 方式为虚拟机动态分配 IP 地址,我们需要让虚拟机主动“认领”属于自己的静态 IP 地址。
1)记录当前ip地址:192.168.110.142/24
记录当前ip地址是为了确定网络前缀,如本机的网络前缀为192.168.110,方便后续配置子网掩码和网关。
2)设置网络
·使用方向键选中图1所示界面的 [ens33 eth - ▶︎],回车进入子菜单
·选择 Edit IPv4
·选择 Automatic (DHCP)
·选择 Manual
·填写所有字段,保持 IPv4 地址前三段不变:
·等待屏幕底部 Applying changes 动画消失后,选择 Done 完成网络配置
3)代理服务器设置
代理服务器在使用企业网络时通常有用,本实验不需要,直接选择 Done 继续实验。
4)镜像源配置,使用中国科学技术大学的开源软件镜像源,填入以下地址:
http://mirrors.ustc.edu.cn/ubuntu
(4)磁盘格式化
1)进入硬盘格式化页面,使用方向键移动到【 [ ] Set up this disk as an LVM group 】上,按回车键取消勾选,随后继续至下一页。
2)检查格式化配置
(6)其他配置
1)是否升级到Ubuntu Pro
不需要 Ubuntu Pro 的功能,选择 Skip for now.
2)在新的页面,选择 【[ ] Install OpenSSH server】,按回车键勾选
3)下一个页面会询问我们是否需要一些主流环境。按下 Tab 键,选择 Done.
(7)系统安装
等待系统安装完成,系统安装完后重启
(8)登陆到系统
(3)将本机的hadoop-3.3.4.tar.gz移入虚拟机
1)打开cmd,输入命令:
【scp hadoop-3.3.4.tar.gz [email protected]:/tmp】
2)将安装包移入创建的hadoop安装目录中
【sudo mv /tmp/hadoop-3.3.4.tar.gz /usr/local/hadoop】
4)解压压缩包
【sudo tar -zxf hadoop-3.3.4.tar.gz】
5)将压缩包内容移入上一级目录,并将文件夹【hadoop-3.3.4】删除
【sudo mv hadoop-3.3.4/* .】
【sudo rm -r hadoop-3.3.4】
6)赋予用户hadoop读取hadoop文件夹的权限
【sudo chown -R hadoop:hadoop .】
(4)修改profile
【sudo nano /etc/profile.d/hadoop.sh】
添加以下内容
#HADOOP_HOME
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
<configuration>
<!-- Namenode address -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:8020</value>
</property>
<!-- Hadoop data location -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/data</value>
</property>
<!-- Static user - no login needed -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>hadoop</value>
</property>
</configuration>
2)hdfs-site.xml文件
执行【nano hdfs-site.xml】,在【】块内填写以下信息
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>namenode:9870</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>datanode2:9868</value>
</property>
</configuration>
3)yarn-site.xml文件
执行【nano yarn-site.xml】,在【】块内填写以下信息
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>datanode1</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
4)mapred-site.xml文件
执行【nano mapred-site.xml】,在【】块内填写以下信息
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(4)修改workers文件
【nano workers】
移除【localhost】
添加以下内容
namenode
datanode1
datanode2
1)登录supper用户,修改hosts文件
【sudo nano /etc/hosts】
2)在hosts文件中添加以下两行
192.168.178.101 datanode1
192.168.178.102 datanode2
(7)克隆虚拟机
克隆namenode为datanode1和datanode2
1)datanode1开机,登录到supper用户
2)修改主机名为datanode1
【sudo hostnamectl set-hostname datanode1】
3)修改IP设置
【sudo nano /etc/netplan/00-installer-config.yaml】
将【addresses:】下的192.168.110.100修改为datanode1的IP地址192.168.110.101
4)重启虚拟机
【sudo reboot】
5)登录到supper用户,输入命令验证IP是否修改
【ip addr】
(8)同时运行三台虚拟机,并登陆到hadooop用户
(9)三台主机执行命令生成密钥对
【ssh-keygen -t ed25519】
(10)三台主机各自执行命令
【ssh-copy-id namenode】
【ssh-copy-id datanode1】
【ssh-copy-id datanode2】
(1)在namenode结点上用hadoop用户登录并格式化HDFS,启动集群
【hdfs namenode -format】
【start-dfs.sh】
(2)在datanode1结点用hadoop用户登录,启动yarn
【start-dfs.sh】
7. Hadoop搭建完成
(1)HDFS控制面板
在浏览器输入进入如下网址hdfs控制面板
【http://192.168.110.100:9870】
注意192.168.110.100是我的namenode节点的IP地址