完成Hadoop集群增添一个新的节点配置(文中命名为)Hadoop106,没有进行继续为该节点分配身份职能的步骤
1.在VMware中安装CentOS 7
-
新建虚拟机
1.⾸先我们创建⼀个新的虚拟机,也可以点⽂件-新建虚拟机。
2.选择⾃定义,可以根据要求来定义,如果没有什么特殊要求,可以选择“典型”。
3.硬件兼容性可以选择向下兼容。
4.这⾥我们选择稍后安装操作系统。
5.随后选择要安装的系统类型。
6.建议给虚拟机起个名字,hadoop106,更改存放路径(默认在C盘)。
7.设置虚拟机的内存,根据⾃⼰电脑性能调整,这⾥设置2048MB。
8.⽹络类型选 使⽤⽹络地址转换(NAT) 。
9. I/0类型默认(LSI Logic)
10. 磁盘类型,默认(SCSI)
11. 由于是新虚拟机,所以我们创建新的虚拟磁盘。磁盘的容量由于是动态增长,将虚拟磁盘拆分成多个⽂件,并为将来
安装做准备,根据⾃⼰电脑的性能,建议改成40G。
12. 指定磁盘⽂件,默认。
13. 最后将配置清单列出来,确认,点击完成。
-
安装centos7
- 打开我们上⼀个⽂档建⽴的虚拟机,并双击CD/DVD(IDE)配置光驱,加载CentOS 7系统镜像。
2.开启“hadoop106”虚拟机。
3. 系统会⾃动启动光驱,进⼊CentOS 7的安装界⾯,此界⾯有1分钟的停留时间,请快速将⿏标点击黑⾊部分。
4. 移动键盘上的上下键,选择图中的 Install CentOS 7 选项。
5. 进⼊系统安装界⾯。
6. 选择安装过程中⽤到的语⾔,必然选简体中⽂
- 点击安装位置,选⾃动。或者⼿动(/boot 1g ext4、swap 4g xfs、/ 35g xfs)
8. ⽹络和主机名,我们做如下的更改:
打开以太⽹,这样在启动时就使⽹卡处于激活状态。
主机名改成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
1. 关闭防⽕墙,集群⼀般搭建在局域⽹内,公司在外部建⽴专业的防⽕墙,为了⽅便集群之间通信,请关闭集群中各节点的防⽕墙。
·在root⽤户下直接关闭防⽕墙 systemctl stop firewalld.service
· 禁⽌firewall开机启动 systemctl disable firewalld.service
· 关闭SELinux命令(永久关闭) nano /etc/selinux/config 注释掉下面两行:
#SELINUX=enforcing
SELINUX=disabled
#SELINUXTYPE=targeted
重启
- 查看防⽕墙状态 systemctl status firewalld
2. 在/opt ⽬录下创建 module(程序⽂件夹)、software(安装包) ⽂件夹
[root@hadoop100 ~]# mkdir /opt/module
[root@hadoop100 ~]# mkdir /opt/software
2.在Hadoop106节点安装JDK、Hadoop
·安装JDK
1. 将jdk-8u341-linux-x64.tar.gz 利⽤xftp上传到/opt/software
2. 解压jdk到/opt/module⽂件夹
[root@hadoop100 ~]# tar -zxvf /opt/software/jdk-8u341-linux-x64.tar.gz -C /opt/module/
3. nano /etc/profile.d/my_path.sh ⽂件,输⼊
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_341
export PATH=$PATH:$JAVA_HOME/bin
4. source ⼀下 /etc/profile ⽂件,让新的环境变量 PATH ⽣效
[root@hadoop100 ~]# source /etc/profile
5. 检验⼀下成功不
[root@hadoop100 ~]# java -version
·安装Hadoop
1. 将hadoop-3.3.3.tar.gz利⽤xftp上传到/opt/software
2. 解压hadoop到/opt/module⽂件夹
[root@hadoop100 ~]# tar -zxvf /opt/software/hadoop-3.3.3.tar.gz -C /opt/module/
3. 在 /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
4. source ⼀下 /etc/profile ⽂件,让新的环境变量 PATH ⽣效
[root@hadoop100 ~]# source /etc/profile
5. 测试
[root@hadoop100 ~]# hadoop version
·新增ens37网卡
1. 关闭 hadoop106
2. 右击虚拟机选项卡 -> 配置 -> 添加 -> ⽹络适配器 -> 改成桥接
3. 启动 hadoop106
4. nmcli connection add type ethernet con-name ens37 ifname ens37 autoconnect yes
5. nano /etc/sysconfig/network-scripts/ifcfg-ens37
6. 更改 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配置
1. 打开 hadoop101完全分布式新增hadoop106节点.md 2023-12-18
2. nano /etc/hosts 加⼊
10.227.x.1y6 hadoop106
注:x:班级号,7班是2或8班是3;y:组号,1-10
3. nano $HADOOP_HOME/etc/hadoop/workers 加⼊ hadoop106
4. ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop106
5. rsync -av
$HADOOP_HOME/etc/hadoop root@hadoop106:/opt/module/hadoop-3.3.3/etc/
6. rsync -av /etc/hosts root@hadoop106:/etc
7. 远程到 hadoop106 ssh hadoop106
8. nano /opt/module/hadoop-3.3.3/etc/hadoop/hadoop-env.sh 修改 JAVA_HOME export
JAVA_HOME=/opt/module/jdk1.8.0_341
3.启动集群
1. jpsall.sh 中加⼊ hadoop106 nano ~/bin/jpsall.sh
2.shutdown_all.sh 中加⼊ hadoop106 nano ~/bin/shutdown_all.sh
3. 启动集群 myhadoop.sh start
4. 观察各节点进程的启动情况
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会由系统自动生成,更改以后重新启动集群,集群数据接收正常