完成Hadoop集群增添一个新的节点配置(文中命名为)Hadoop106,没有进行继续为该节点分配身份职能的步骤
1. 在VMware中安装CentOS 7
新建虚拟机
1.⾸先我们创建⼀个新的虚拟机,也可以点⽂件-新建虚拟机。
2.选择⾃定义,可以根据要求来定义,如果没有什么特殊要求,可以选择"典型"。
3.硬件兼容性可以选择向下兼容。
4.这⾥我们选择稍后安装操作系统。
5.随后选择要安装的系统类型。
6.建议给虚拟机起个名字,hadoop106,更改存放路径(默认在C盘)。
7.设置虚拟机的内存,根据⾃⼰电脑性能调整,这⾥设置2048MB。
8.⽹络类型选 使⽤⽹络地址转换(NAT) 。
-
I/0类型默认(LSI Logic)
-
磁盘类型,默认(SCSI)
-
由于是新虚拟机,所以我们创建新的虚拟磁盘。磁盘的容量由于是动态增长,将虚拟磁盘拆分成多个⽂件,并为将来
安装做准备,根据⾃⼰电脑的性能,建议改成40G。
-
指定磁盘⽂件,默认。
-
最后将配置清单列出来,确认,点击完成。
安装centos7
- 打开我们上⼀个⽂档建⽴的虚拟机,并双击CD/DVD(IDE)配置光驱,加载CentOS 7系统镜像。
2.开启"hadoop106"虚拟机。
-
系统会⾃动启动光驱,进⼊CentOS 7的安装界⾯,此界⾯有1分钟的停留时间,请快速将⿏标点击黑⾊部分。
-
移动键盘上的上下键,选择图中的 Install CentOS 7 选项。
-
进⼊系统安装界⾯。
-
选择安装过程中⽤到的语⾔,必然选简体中⽂
- 点击安装位置,选⾃动。或者⼿动(/boot 1g ext4、swap 4g xfs、/ 35g xfs)
- ⽹络和主机名,我们做如下的更改:
打开以太⽹,这样在启动时就使⽹卡处于激活状态。
主机名改成hadoop106,点应用
IP:192.168.100.106,子网掩码:255.255.255.0,网关:192.168.100.2,DNS:192.168.100.2。
9.然后就点开始安装,在这个期间创建root密码123123,由于我们的密码不符合系统安全要求,所以需要点击两次完成。等进度条⾛完,就可以点重启了。此时CentOS7安装完成并启动,等待我们输⼊账户,密码。
此时可打开 mobaxterm 新建session 输⼊192.168.100.106 连接
- 安装 rsync yum -y install rsync
- 安装 nano yum -y install nano
- 安装 ntpd yum -y install ntp
配置centos7
- 关闭防⽕墙,集群⼀般搭建在局域⽹内,公司在外部建⽴专业的防⽕墙,为了⽅便集群之间通信,请关闭集群中各节点的防⽕墙。
·在root⽤户下直接关闭防⽕墙 systemctl stop firewalld.service
· 禁⽌firewall开机启动 systemctl disable firewalld.service
· 关闭SELinux命令(永久关闭) nano /etc/selinux/config 注释掉下面两行:
#SELINUX=enforcing
SELINUX=disabled
#SELINUXTYPE=targeted
重启
- 查看防⽕墙状态 systemctl status firewalld
- 在/opt ⽬录下创建 module(程序⽂件夹)、software(安装包) ⽂件夹
[root@hadoop100 ~]# mkdir /opt/module
[root@hadoop100 ~]# mkdir /opt/software
2 . 在Hadoop106节点安装JDK、Hadoop
·安装JDK
-
将jdk-8u341-linux-x64.tar.gz 利⽤xftp上传到/opt/software
-
解压jdk到/opt/module⽂件夹
[root@hadoop100 ~]# tar -zxvf /opt/software/jdk-8u341-linux-x64.tar.gz -C /opt/module/
-
nano /etc/profile.d/my_path.sh ⽂件,输⼊
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_341
export PATH=PATH:JAVA_HOME/bin
-
source ⼀下 /etc/profile ⽂件,让新的环境变量 PATH ⽣效
[root@hadoop100 ~]# source /etc/profile
- 检验⼀下成功不
[root@hadoop100 ~]# java -version
·安装Hadoop
-
将hadoop-3.3.3.tar.gz利⽤xftp上传到/opt/software
-
解压hadoop到/opt/module⽂件夹
[root@hadoop100 ~]# tar -zxvf /opt/software/hadoop-3.3.3.tar.gz -C /opt/module/
-
在 /etc/profile.d/my_path.sh ⽂件,加⼊下⾯内容
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.3.3
export PATH=PATH:HADOOP_HOME/bin
export PATH=PATH:HADOOP_HOME/sbin
- source ⼀下 /etc/profile ⽂件,让新的环境变量 PATH ⽣效
[root@hadoop100 ~]# source /etc/profile
- 测试
[root@hadoop100 ~]# hadoop version
·新增ens37网卡
-
关闭 hadoop106
-
右击虚拟机选项卡 -> 配置 -> 添加 -> ⽹络适配器 -> 改成桥接
-
启动 hadoop106
-
nmcli connection add type ethernet con-name ens37 ifname ens37 autoconnect yes
-
nano /etc/sysconfig/network-scripts/ifcfg-ens37
-
更改 ifcfg-ens37 ⽂件
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=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=ens37
UUID=59021522-3de9-492b-9308-b6ab7596aceb
DEVICE=ens37
ONBOOT=yes
IPADDR=10.227.x.1y6
NETMASK=255.255.254.0
注:
x:班级号,7班是2或8班是3
y:组号,1-10
service network start
·Hadoop101配置
-
打开 hadoop101完全分布式新增hadoop106节点.md 2023-12-18
-
nano /etc/hosts 加⼊
10.227.x.1y6 hadoop106
注:x:班级号,7班是2或8班是3;y:组号,1-10
-
nano $HADOOP_HOME/etc/hadoop/workers 加⼊ hadoop106
-
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop106
-
rsync -av
$HADOOP_HOME/etc/hadoop root@hadoop106:/opt/module/hadoop-3.3.3/etc/
-
rsync -av /etc/hosts root@hadoop106:/etc
-
远程到 hadoop106 ssh hadoop106
-
nano /opt/module/hadoop-3.3.3/etc/hadoop/hadoop-env.sh 修改 JAVA_HOME export
JAVA_HOME=/opt/module/jdk1.8.0_341
3 . 启动集群
- jpsall.sh 中加⼊ hadoop106 nano ~/bin/jpsall.sh
2.shutdown_all.sh 中加⼊ hadoop106 nano ~/bin/shutdown_all.sh
-
启动集群 myhadoop.sh start
-
观察各节点进程的启动情况
4.个人配置中遇到的问题
电脑没有vmnet8虚拟网卡
编辑--->虚拟网络编辑器--->VMnet8--->还原默认设置--->NAT设置--->更改网关IP--->应用确定
设置 ---> 网络和Internet ---> 更改适配器选项 ---> 查看VMnet8,出现并显示已启用
Hadoop104、105DataNodeID缺失
通过查找日志,在记录中找到了对应的节点的DataNode,然后我们进入到了103节点的HADOOP_HOME/data/dfs/data/current/VERSION目录下,复制了103节点的VERSION文件,然后分别进入到了104和105节点的HADOOP_HOME/data/dfs/data/current下,创建了VERSION文件,将从103中复制的内容粘贴到了新创建的文件中,并根据在日志中查找到的将其对应的DataNodeID,其内容如下(示例):
storageID=DS-5c72e6f4-c180-44b4-9f26-6abc84327f43
clusterID=CID-fd0aa33f-424c-4212-a725-dd33a3ff126c
cTime=0
datanodeUuid=75809195-27bf-4c87-bb4d-8fb81642e7ae
storageType=DATA_NODE
layoutVersion=-57
其中,storageID会由系统自动生成,更改以后重新启动集群,集群数据接收正常