IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> [Hadoop3.x] HDFS动态扩容/节点上线 -> 正文阅读

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

先推荐一下Hadoop入门全过程:(共15节,非常细,我也是跟着这个配置好hadoop的)
https://blog.csdn.net/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.csdn.net/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启动,那肯定是哪个地方出错了,于是我就查看了hadoop105的datanode日志(位于 $HADOOP_HOME/logs/下),发现了问题所在:
    在这里插入图片描述翻译:目录/opt/module/hadoop-3.1.3/data/dfs/data处于不一致的状态:无法格式化存储目录,因为当前目录不是空的。
    回顾文字开头链接里第十一节(集群崩溃处理方法),我们重新给hadoop105配置datanode,为它分配新的Uuid前,需要先删除其data与logs文件夹
    所以我们需要在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上执行命令实现集群负载均衡了:

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 10:53:03  更:2021-08-02 10:55:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 21:43:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码