Hadoop增加新节点环境配置(自用)

时间:2024-01-27 10:27:25

完成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

  1. 打开我们上⼀个⽂档建⽴的虚拟机,并双击CD/DVD(IDE)配置光驱,加载CentOS 7系统镜像。

 2.开启“hadoop106”虚拟机。

3. 系统会⾃动启动光驱,进⼊CentOS 7的安装界⾯,此界⾯有1分钟的停留时间,请快速将⿏标点击黑⾊部分。

4. 移动键盘上的上下键,选择图中的 Install CentOS 7 选项。

5. 进⼊系统安装界⾯。

6. 选择安装过程中⽤到的语⾔,必然选简体中⽂

  1. 点击安装位置,选⾃动。或者⼿动(/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 连接

  1. 安装 rsync yum -y install rsync
  2. 安装 nano yum -y install nano
  3. 安装 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会由系统自动生成,更改以后重新启动集群,集群数据接收正常