hadoop集群的机器数业界(国内)最大的在5000左右,是什么限制了集群的规模呢?有好几个原因。

1. namenode的内存大小限制

2. 机器故障概率随着机器数目增大而增大,通常一份数据存储在hdfs集群时保存3份拷贝,因此需要估算故障概率。

两个问题:

问题1. hdfs的数据存在10000块硬盘,每份数据都保存3份拷贝,请问在12小时以内3块或3块以上硬盘损坏的概率是多少?

解答:

每块2T硬盘在12小时内损坏的概率为p=(年损坏率 为3%-8%)/(365*24/12) = 1e-4。(按8%计算).

假设每块硬盘是独立的,不受其它硬盘正常或损坏的影响, 那么n块硬盘里在12个小时内有k块损坏的概率为 Q(k) = C(n, k)* p^k *(1-p)^(n-k) 
n=10000块硬盘,在12小时内同时有3块或3块以上硬盘损坏的概率为 1 - Q(0) - Q(1) - Q(2) = 9%

问题 2. 假设10000块硬盘,一个硬盘放30000个块。每个块必须重复三次,那么随机三个硬盘有同样块的概率是多少?

解答:

这个题目比较难,简化一下:
假设每个盘可以放无穷多个块。
假设总共存了m块数据(每块数据保存在随机从n=10000中取3块硬盘上),则随机取三块硬盘,某块数据分布在这三块硬盘上的概率为:p = 1/C(n, 3)。
则随机取三块硬盘,上面保存了k块相同的数据的概率为: Q(k) = C(m, k)* p^k *(1-p)^(m-k) 
则随机取3块硬盘,这三块硬盘上面保存了相同块的概率为P(n,m)= 1 - Q(0).
计算两个实例:
n=10000, m=1时,P(n,m)= 6.0e-12
n=10000, m=n*1000时,P(n,m)= 0.01%

n=100, m=n*1000时,P(n,m)= 46.12%
这里n是问题的关键,n越小,P(n,m)越大。
这是实际问题的一个估算。

hadoop集群的故障概率估算的更多相关文章

  1. hadoop集群安装故障解决

    nodemanager进程解决:http://blog.csdn.net/baiyangfu_love/article/details/13504849 编译安装:http://blog.csdn.n ...

  2. hadoop集群故障排除

    故障一:某个datanode节点无法启动 我是以用户名centos安装和搭建了一个测试用的hadoop集群环境,也配置好了有关的权限,所有者.所属组都配成centos:centos [故障现象] 名称 ...

  3. Hadoop集群(第8期)_HDFS初探之旅

    1.HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开 ...

  4. 非常不错 Hadoop 的HDFS (Hadoop集群(第8期)_HDFS初探之旅)

    1.HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开 ...

  5. Hadoop集群_HDFS初探之旅

    1.HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开 ...

  6. 大数据系列(2)——Hadoop集群坏境CentOS安装

    前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...

  7. Hadoop集群搭建

    配置IP,修改主机名,关闭防火墙,配置SSH免密码登录

  8. 实战CentOS系统部署Hadoop集群服务

    导读 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高 ...

  9. 大数据——Hadoop集群坏境CentOS安装

    前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...

随机推荐

  1. bootstrap 动态添加验证项和取消验证项

    bootstrap 中的bootstrapValidator可以对前端的数据进行验证,但是有的时候我们需要动态的添加验证,这样需要我们动态的对bootstrapValidator的内容做修改. 传统的 ...

  2. MSSQL 标准PROC 写法

    MSSQL 标准PROC 写法 ALTER PROC [dbo].[usp_ADM_InsertFlowSortInfo]@FlowSortName NVARCHAR(50),AS/*PAGE: 分类 ...

  3. Shell入门第一课

    Shell是用C语言编写的程序. 几种常见的shell:bash.sh.csh.ksh等 bash是linux的默认标准shell, 完全兼容sh sh 是unix的默认 标准shell ash 是l ...

  4. mysql中的unique

    distinct可以把重复的行去掉,查询时候用select distinct * from ...; unique在MySQL中是完整性约束里的一种,如果某列的值需要是唯一的那么就添加UNIQUE约束 ...

  5. (转)在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送

    在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送 From: http://saeapns.sinaapp.com/doc.html 1,在 ...

  6. lesson1:threadlocal的使用demo及源码分析

    本文中所使用的demo源码地址:https://github.com/mantuliu/javaAdvance 其中的类Lesson1ThreadLocal 本文为java晋级系列的第一讲,后续会陆续 ...

  7. iOS8及以后 地图定位当前城市

    通过以下网址的步骤实现定位获取城市的功能 http://www.2cto.com/kf/201504/393312.html

  8. C#使用jmail组件发送邮件

    1.安装 命令行环境下,到jmail.dll所在目录,运行regsvr32 jmail.dll 2.代码 #region 发送邮件    /// <summary>    /// 发送邮件 ...

  9. 一步一步教你做ios推送

    最近在研究ios的推送问题,遇到了一些问题,最终整理了一下.放在这里和大家分享 APNS的推送机制 首先我们看一下苹果官方给出的对ios推送机制的解释.如下图 Provider就是我们自己程序的后台服 ...

  10. windows 7 SDK和DDK下载地址

    查个小资料,得到地址,顺便记录一下. Windows Driver Kit Version 7.1.0 http://www.microsoft.com/downloads/details.aspx? ...