Hadoop集群破坏试验可靠性验证
集群环境说明:
准备5台服务器,hadoop1、hadoop2、hadoop3、hadoop4、hadoop5;
分别部署5个节点的zookeeper集群、hadoop集群、hbase集群
本次对于Hadoop集群测试主要分为五个方面:
- 手动进行datanode节点删除:(阵列卡电池损坏或者添加内存条等情况需要停机,需要手动删除节点,停止服务器运行)无需重启集群服务,保证文件系统的高可用性,数据的完整性,最后验证block副本数目在节点删除后是否恢复到默认设置(即3个副本)
- 手动进行datanode节点添加:(有淘汰的旧服务器不使用了,加入hadoop集群增加集群存储容量及节点数等)无需重启集群服务,验证数据的可靠性,架构的可扩展性,数据完整性等。
- datanode节点被动删除:(服务器主板损坏,网络故障、操作系统故障等导致主机宕机)
datanode每三秒种向namenode发送心跳如果10分钟没有发送心跳,则namenode认为该datanode已经dead,namenode将取出该datanode上对应的block,对其进行复制。
测试过程,在hadoop的文件系统上创建一个30M文件,查看block副本文件的具体分布在哪三个datanode上面,确保第四个节点上 无此副本,对其中一个节点执行关机操作,等待10分钟后,namenode节点确认datanode死掉后对其block副本进行复制。查看第四个 datanode上是否有新的block副本,即:副本数目又达到3个。验证正常后下载文件,看文件是否能正常使用。 - Datanode节点的磁盘损坏(所有磁盘完全坏掉,或者只是存放block副本的磁盘损坏)
此节点DataNode正常服务,坏掉的磁盘上的数据尽快通知Namenode,namenode对数 据块进行复制,查看第四个datanode节点上是否新增了数据块(所损坏磁盘的datanode上存储的数据块) - 人为原因操作失误删除了datanode节点上的数据块(此情况与4的磁盘损坏相似)
手动删除block数据块存放目录下的block文件,看一下多长时间恢复,在哪里恢复?
故障场景一、
手动删除集群中任何一台datanode数据节点
【测试描述】
模拟集群中hadoop2数据节点故障(datanode节点数量应该大于dfs.replication设置的文件块复制数,否则在删减datanode时不会成功,一直处于Decommission in process的状态)
【测试步骤】
- 把每个datanode节点的Block数量重定向一个目标文件为1.txt
- 本地上传一个30M的file.222文件到hdfs文件系统中,验证是否只有3个datanode节点有数据块?
- 再次统计每个datanode节点的Block数量重定向到目标文件2.txt,并且与1.txt文件比较有没有增加数据Block
a) hadoop2数据节点已增加一个数据块
b) hadoop3数据节点已增加一个数据块
c) hadoop4数据节点已增加一个数据块
d) hadoop5数据节点未增加一个数据块 - 在namenode节点hadoop家目录的conf目录下新建一个excludes的文件,写上需要remove的节点IP地址,一行只能一个IP。
- 修改namenode节点的主配置文件core-site.xml,在configuration内增加如下内容:
- 在namenode节点执行hadoop dfsadmin –refreshNodes命令,它不用重启集群服务去读取core-site.xml配置文件,也会在后台进行Block块的移动,从移除的Nodes上移动到其它的Nodes上面。
- 通过hadoop dfsadmin –report查看集群状态能查看到数据是否移除完毕。只有hadoop2数据节点状态是移除状态。
观察一段时间后,等Decommissioned in progress状态变为Decommissioned后,表示此移除的Nodes节点上的所有数据块已全部被复制到其它工作正常的Nodes上,应为3份。
网页上也会显示把移除的节点剔除列表 - 验证hadoop5数据节点是否有上传过30M文件的数据块
- 下载hdfs文件系统中的file.222文件到本地,并且验证hbase是否可用
【测试结果】
hadoop集群中手动删除任何其中一台datanode节点,对文件系统没有任何影响。
故障场景二、
手动增加一台datanode数据节点到集群
【测试描述】
模拟往正在运行的hadoop集群中增加一台datanode数据节点,验证是否影响文件系统的使用?
【测试步骤】
- 新datanode节点上部署jdk、hadoop、hbase、zookeeper软件,保证和所以集群中的机器的目录结构一致。并且配置相应的环境变量。
- 在新datanode节点和namenode节点之间建立无密码认证关系。实现互相登录不需要密码。
- 设置datanode节点的hosts文件和集群中所有的机器hosts文件一致。
- Namenode节点的slaves文件增加上相应的节点,并且Namenode的hosts文件也增加新节点。
- 在新节点启动datanode和tasktracker进程。如下图已把hadoop2数据节点加入到hadoop集群中了。中间一些其余的截图已省略。
【测试结果】
往hadoop集群中手动增加一台datanode不影响文件系统和hbase数据库的查看和使用。
故障场景三、
集群中其中一台datanode数据节点出现自动宕机故障。(此方法有点类似第一种)
【测试描述】
模拟hadoop集群中其中一台datanode数据节点宕机故障,验证是否影响文件系统和hbase的使用?
【测试步骤】
- 本地上传一个大小为30M的文件上传到集群文件系统。
- 查看哪三台机器上面有Block块的新增。分别是hadoop2、hadoop4、hadoop5三台机器
- 在任何一台有数据块的datanode节点执行关机操作,这里选择hadoop4机器。
- 观察集群的状态,Last Contact表示最后一次检查时间
十分钟之后再刷新一下网页会显示,宕机的节点已经被自动从集群中踢除了。 - 查看hadoop2主机没有Block块文件的节点是否已经有块文件复制过去?这样就实现达到了复制三份的目的了。
- 验证能否从文件系统下载test.file文件和hbase的使用?
【测试结果】
hadoop集群中任何一台datanode节点意外宕机,不会影响文件系统和hbase的使用。
故障场景四
集群中其中一台datanode数据节点硬盘故障。
【测试描述】
模拟hadoop集群中其中一台datanode数据节点硬盘故障,验证是否影响文件系统和hbase的使用?
【测试步骤】
- 手动拔掉hadoop2节点的所有硬盘,hadoop集群仍然运行
- namenode节点会检查每个正常工作datanode的文件块是否都为3份,如果不是则会备份成3份放到正常工作的datanode节点中。
- 在任何别的节点上查看和读取文件系统的数据一切正常。
- hbase也一切正常。
【测试结果】
hadoop集群中任何节点的硬盘故障对数据存储的完整性无影响。
相关文章:
Hadoop集群破坏试验可靠性验证
集群环境说明: 准备5台服务器,hadoop1、hadoop2、hadoop3、hadoop4、hadoop5; 分别部署5个节点的zookeeper集群、hadoop集群、hbase集群 本次对于Hadoop集群测试主要分为五个方面: 手动进行datanode节点删除:&#…...
Notepad++ 安装TextFx插件失败
据说TextFx插件是Notepad常用插件之一;有很多格式化代码的功能;下面安装一下; 插件管理里面看一下,没有这个TextFx; 根据资料,先安装NppExec; 然后下一个5.9老版本的Notepad,如下图…...
探究Logistic回归:用数学解释分类问题
文章目录 前言回归和分类Logistic回归线性回归Sigmoid函数把回归变成分类Logistic回归算法的数学推导Sigmoid函数与其他激活函数的比较 Logistic回归实例1. 数据预处理2. 模型定义3. 训练模型4. 结果可视化 结语 前言 当谈论当论及机器学习中的回归和分类问题时,很…...
杨辉三角
打印n行杨辉三角,n<10。 输入格式: 直接输入一个小于10的正整数n。 输出格式: 输出n行杨辉三角,每个数据输出占4列。 输入样例: 5输出样例: 11 11 2 11 3 3 11 4 6 4 1代码长度限制 16 KB 时间限制 400 ms 内存限制 6…...
MS5228/5248/5268:2.7V 到 5.5V、 12/14/16Bit、内置基准、八通道数模转换器
MS5228/MS5248/MS5268 是一款 12/14/16bit 八通道输出的电压型 DAC ,内部集成上电复位电路、可选内部基准、接口采用四线串口模式, 最高工作频率可以到 40MHz ,可以兼容 SPI 、 QSPI 、 DSP 接口和 Microwire 串口。输出接到一个 …...
2024年江苏省职业院校技能大赛 信息安全管理与评估 第二阶段教师组 (样卷)
2024年江苏省职业院校技能大赛 信息安全管理与评估 第二阶段教师组 (样卷) 项目竞赛样题 本文件为信息安全管理与评估项目竞赛-第二阶段样题,内容包括:网络安全事件响应、数字取证调查、应用程序安全。 本次比赛时间为180分钟。 介绍 GeekSec专注技能竞…...
最新版IDEA专业版大学生申请免费许可证教学(无需学校教育邮箱+官方途径+非破解手段)
文章目录 前言1. 申请学籍在线验证报告2. 进入IDEA官网进行认证3. 申请 JB (IDEA) 账号4. 打开 IDEA 专业版总结 前言 当你进入本篇文章时, 你应该是已经遇到了 IDEA 社区版无法解决的问题, 或是想进一步体验 IDEA 专业版的强大. 本文是一篇学生申请IDEA免费许可证的教学, 在学…...
zookeeper常用接口
ZookeeperTemplate 是 Spring Cloud Zookeeper 中的一个重要类,它提供了一组方便的方法来操作 Zookeeper,例如创建节点、获取节点数据、删除节点等。下面列举了 ZookeeperTemplate 的一些常用方法及其作用: createExclusive(String path):创建独占节点。如果节点已经存在,…...
scipy笔记:scipy.interpolate.interp1d
1 主要使用方法 class scipy.interpolate.interp1d(x, y, kindlinear, axis-1, copyTrue, bounds_errorNone, fill_valuenan, assume_sortedFalse) 2 主要函数 x一维实数值数组,代表插值的自变量y N维实数值数组,其中沿着插值轴的 y 长度必须等于 x 的…...
外包干了一个月,技术明显进步。。。。。
先说一下自己的情况,本科生生,19年通过校招进入南京某软件公司,干了接近2年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试…...
docker安装node及使用
文章目录 一、安装node二、创建node容器三、进入创建的容器如有启发,可点赞收藏哟~ 一、安装node 查看可用版本 docker search node安装最新版本 docker install node:latest二、创建node容器 docker run -itd --name node-test node–name node-test࿱…...
要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 18 章:对抗性提示
要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 18 章:对抗性提示 对抗性提示是一种允许模型生成能够抵御某些类型的攻击或偏差的文本的技术。这种技术可用于训练更健壮、更能抵御某些类型的攻击或偏差的模型。 要在 ChatGPT 中使用对抗性提…...
若依框架的搭建
若依框架 若依框架的搭建(前后端分离版本)环境要求IDEA拉取Gitee源码Mysql 配置Redis 配置后端启动前端配置问题解决 效果展示 若依框架的搭建(前后端分离版本) 简介 RuoYi-Vue 是一个 Java EE 企业级快速开发平台,基…...
SQL Server 数据库,多表查询
4.2使用T-SQL实现多表查询 前面讲述过的所有查询都是基于单个数据库表的查询,如果一个查询需要对多个表进行操作, 就称为联接查询,联接查询的结果集或结果称为表之间的联接。 联接查询实际上是通过各个表之间共同列的关联性来查询数据的&…...
程序解释与编译
▶1.程序的解释执行方式 程序语言强写的计策机指令序列称为“源程序”,计算机并不能直接执行用高级语言编写的源程序,源程序必须通过“翻译程序”翻译成机器指令的形式,计算机才能项别和执行。源程序的翻译有两种方式:解释执行和编译执行。不…...
聊聊 Jetpack Compose 的 “状态订阅自动刷新” -- mutableStateListOf
Jekpack Compose “状态订阅&自动刷新” 系列: 【 聊聊 Jetpack Compose 的 “状态订阅&自动刷新” - - MutableState/mutableStateOf 】 【 聊聊 Jetpack Compose 的 “状态订阅&自动刷新” - - remember 和重组作用域 】 【 聊聊 Jetpack Compose 的 …...
Dockerfile详解#如何编写自己的Dockerfile
文章目录 前言编写规则指令详解FROM:基础镜像LABEL:镜像描述信息MAINTAINER:添加作者信息COPY:从宿主机复制文件到镜像中ADD:从宿主机复制文件到镜像中WORKDIR:设置工作目录 前言 Dockerfile是编写docker镜…...
Elasticsearch桶聚合和管道聚合
1. 根据名称统计数量 GET order/_search {"_source": false,"aggs": {"aggs_name": { // 自定义查询结果名称"terms": { // 使用的函数"field": "name.keyword"}}} }查询结果例子: "aggregat…...
联想范建平:联想混合AI架构具备两大明显优势
12月7日,首届AI PC创新论坛在北京联想集团总部举办。联想集团副总裁、联想研究院人工智能实验室负责人范建平表示,为提供真正可信、个性化的AI专属服务,联想提出了混合智能(Hybrid AI)概念,并已经显现出更强…...
探索Spring事件监听机制的奇妙世界
文章目录 什么是Spring事件监听机制主要组件内置的事件监听类自定义事件监听类总结 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 什么是Spring事件监听机制 Spring事件监听机制是Spr…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
Django RBAC项目后端实战 - 03 DRF权限控制实现
项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...
