[Hadoop3.x] HDFS动态扩容/节点上线

先推荐一下Hadoop入门全过程:(共15节,非常细,我也是跟着这个配置好hadoop的)
https://blog.youkuaiyun.com/m0_46413065/article/details/114667174?spm=1001.2014.3001.5501
---------作者是Leokadia Rothschild---------

为了避免不同的人在hadoop集群搭建上分配任务的差异,我在这里先列出我的分配表

在这里插入图片描述

  1. 首先在VM上克隆一个虚拟机
    选择克隆
    在这里插入图片描述
    下一页
    在这里插入图片描述
    下一页
    在这里插入图片描述
    选择“创建完整克隆”
    在这里插入图片描述
    更改好克隆机名和位置,如何点击完成,如何就可以打开这台克隆虚拟机了
    在这里插入图片描述
  2. 接下来我们配置IP、主机名和hosts映射(需要在root状态下)
    先配置IP
    在这里插入图片描述
    按o编辑
    修改ONBOOT为yes的作用是开机的时候自启网络,而不用手动开启
    在这里插入图片描述
    按一下ESC后 Shift+: 输入wq 回车,即退出
    在这里插入图片描述
    修改主机名
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    配置hosts映射文件
    在这里插入图片描述
    这里建议一次写入多个映射以便后面再次动态上线节点
    注意,如果有修改的话应该在各个虚拟机上都将这个文件改一下,保持一致
    在这里插入图片描述
    可以了,重启一下hadoop105,因为我hosts只改了hadoop105的,所以如果你修改了所有虚拟机的hosts的话,也都需要重启
    在在这里插入图片描述这里插入图片描述
  3. 关闭防火墙、设置时间同步、设置免密登录
    在Xshell7上连接hadoop105,如果没有这个软件的话再虚拟机内的终端执行也是一样的
    在这里插入图片描述
    这样输入IP地址就行
    在这里插入图片描述
    这里输入你虚拟机一直在用的用户名和密码就行,如何点击连接
    在这里插入图片描述
    接受并保存
    在这里插入图片描述如下
    在这里插入图片描述
    关闭防火墙、关闭防火墙的开机自启(如果其他虚拟机都没有关闭的话也需要关闭)
    在这里插入图片描述
    时间同步:
    关闭hadoop105d1 ntp 服务和自启动

    在这里插入图片描述
    配置hadoop105与hadoop102(也就是namenode所在的虚拟机)1分钟同步一次时间
    在这里插入图片描述
    在这里插入图片描述
    wq退出后修改hadoop105的时间,一分钟后看看时间同步能否生效
    一定要保证hadoop102虚拟机是开着的,否则时间无法同步
    在这里插入图片描述
    设置免密登录:生成公、私钥,然后把公钥分发给其他虚拟机,这样所有虚拟机间就可以免密登录了
    在这里插入图片描述后面依次输入ssh-copy-id hadoop103/104/105 (也是需要拷贝给自己的)操作与拷贝给Hadoop102一致
    之后再hadoop105的root模式下重复上面的操作,因为有些文件是需要root权限才能访问的
    在这里插入图片描述
    也是依次输入ssh-copy-id hadoop102/103/104/105 (也是需要拷贝给自己的)
    ok了,因为在开头链接中的教材第九节中已经配置好了hadoop102到104的两两间的免密登录(不管是普通用户还是root用户),而我们刚刚已经配置好了hadoop102/103/104/105访问hadoop105的免密登录,只差反方向的免密登录,也就是hadoop105访问hadoop102/103/104/105的免密登录,所以需要依次在hadoop102/103/104上做如下配置
    在这里插入图片描述hadoop103/104只需要效仿hadoop102这样做即可
    接下来验证一下能否在其他机器登入hadoop105(如下,无需密码,成功)
    在这里插入图片描述
  4. 获取JDK、hadoop文件
    将hadoop102的jdk(是解压后的)拷贝到105上
    在这里插入图片描述
    在hadoop105上检查,jdk存在
    (在这个过程中也是在实验我们免密登录成功与否,如果发送的同时无需输入密码,则是免密登录成功)
    在这里插入图片描述
    此时我们可以反过来,在hadoop105中使用scp命令向hadoop102“索要”文件看免密登录成功与否,我们正好需要hadoop,如下所示:(无需密码,免密登录成功)
    在这里插入图片描述
    在hadoop105上检查是否索要成功
    在这里插入图片描述
  5. 小插曲:因为我们后来的n多次配置是在hadoop102上写好,需要同步给hadoop103/104/105,所以我们在这写一个脚本专门用于分发配置文件,方便许多(如果你有按照文章开头的链接进行配置的话,这一步只需要稍微修改一下脚本内容即可)
    在hadoop102下创建bin目录
    在这里插入图片描述
    编写脚本xsync
    在这里插入图片描述
    在这里插入图片描述文件内容在
    https://blog.youkuaiyun.com/m0_46413065/article/details/115087025?spm=1001.2014.3001.5502
    里面找

    在这里插入图片描述
  6. 配置java和hadoop
    准备就绪,我们需要给hadoop105分发hadoop和java的配置文件
    位于/etc/profile.d/my_env.sh下,之前已经在hadoop102配置好了,只需要分发给其他虚拟机即可
    在这里插入图片描述在这里插入图片描述用脚本分发后,可以在hadoop105上查看是否分发成功
    在这里插入图片描述
    接下来要让环境变量生效
    在这里插入图片描述分发hadoop配置文件,配置文件的内容在开头链接中第十节已经详细配置好了
    hadoop配置文件在/opt/module/hadoop-3.1.3/etc/hadoop/下
    在这里插入图片描述配置workers:它的作用是启动dfs的时候可以按照里面的顺序来启动datanode
    在这里插入图片描述在这里插入图片描述分发workers
    在这里插入图片描述好了!!!!!!!让咱来打开hadoop105的datanode
    在这里插入图片描述我们再多试一下,看看hadoop105的datanode能否跟随hadoop102的dfs开关命令而开关
    在这里插入图片描述
    发现hadoop105的datanode也关闭了
    在这里插入图片描述在这里插入图片描述发现hadoop105的datanode也开启了
    在这里插入图片描述一般来说,到这里就算成功了,在hdfsWeb上可以看到如下所示:
    在这里插入图片描述
  7. 遇到的问题
    我在完成上面6步后,web页面是这样的,我多次刷新,发现我所属hadoop102和hadoop105的datanode总是交替出现,但不同时出现,这就很奇怪了
    在这里插入图片描述在网上搜了一下,原因是所属hadoop102和hadoop105的datanode的Uuid冲突,解决方法是删除current目录下的VERSION文件,然后重启dfs
    然后我就将hadoop105的VERSION给删除了,位置是 $HADOOP_HOME/data/dfs/data/current,然后我重启dfs,发现hadoop105的datanode并没有跟着dfs启动(所以刚刚删除VERSION的操作也不用试了,直接尝试下面的解决方法),那肯定是哪个地方出错了,于是我就查看了hadoop105的datanode日志(位于 $HADOOP_HOME/logs/下),发现了问题所在:
    在这里插入图片描述翻译:目录/opt/module/hadoop-3.1.3/data/dfs/data处于不一致的状态:无法格式化存储目录,因为当前目录不是空的。
    回顾文字开头链接里第十一节(集群崩溃处理方法),我们重新给hadoop105配置datanode,为它分配新的Uuid前,需要先删除其data与logs文件夹,datanode之所以会异常,是因为namenode多次初始化导致datanode的id不一致
    所以我们需要在hadoop105的 $HADOOP_HOME目录下分别执行:
    rm -rf data
    rm -rf logs

    重启dfs,即在hadoop102的 $HADOOP_HOME下分别执行sbin/stop-dfs.sh和sbin/start-dfs.sh。然后在hadoop105输入jps,发现datanode随着dfs启动而启动了。
    web页面也正常了
    在这里插入图片描述

之后就可以在hadoop102上执行命令实现集群负载均衡了:

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值