reign of kings吧运行磁盘会被占满

后使用快捷导航没有帐号?
查看: 835|回复: 0
HDFS中的部分Datanode存在大量没有删除的Block磁盘被占满
高级会员, 积分 541, 距离下一级还需 459 积分
论坛徽章:2
数据中心的HBase(cdh3u3)集群已经稳定运行了差不多半年多了。由于前期规划的不合理,最近给所有的数据节点分批重装了一下系统,最后发现经常有几个节点出现磁盘空间不足的异常。查看文件系统,发现原来大约占用6T空间的HDFS已经占用了差不多15+T的数据1、先用fsck进行文件系统检查,发现大约占用2T的空间(*3约等于6T,数据重量差不多就是这么多),并没有数据块有过多的备份。2、查看对应datanode的数据目录,发现确实有很多的数据块(量非常大,都超过了实际hdfs中的数据块总量)
这时候,猜测应该是有很多需要被删除的数据块没有被删除。猜测可能是NameNode和DataNode之间的通讯出现异常导致。于是查看NameNode和DataNode日志,发现并没有任何异常信息,只是发现NameNode定时对其中的三台机器发出了删除指令
BLOCK* ask 192.168.200.8:50010 to delete&&blk_0145
BLOCK* ask 192.168.200.9:50010 to delete&&blk_-5333
BLOCK* ask 192.168.200.7:50010 to delete&&blk_0687
其他节点则没有收到过相应的删除数据块的指令。因为所有节点的心跳一直没有问题,日志中也没有异常信息,一时想不到解决这个问题的办法。于是重启datanode,仍然无法删除过期的数据块。重启namenode,过了一段时间,发现数据量恢复正常了。
可是,过了一周发现同样的问题再次出现。google了一圈,只有在maillist中找到有人提到相关的问题,但是描述起来和我的情况并不完全一致:最后,通过dfsadmin证实了,确实是有大量的block在等待删除hadoop dfsadmin -metasave meta.txtmeta.txt显示有:几十万的block等待删除Metasave: Blocks 572428 waiting deletion from 8 datanodes.4、没有办法,只好从源码着手。在FSNameSystem.java文件里面找到了最终问题的所在:Java代码&&
public int computeDatanodeWork() throws IOException {&&&&int workFound = 0;&&&&int blocksToProcess = 0;&&&&int nodesToProcess = 0;&&&&// blocks should not be replicated or removed if safe mode is on&&&&if (isInSafeMode())&&& & return workF&&&&synchronized(heartbeats) {&&& & blocksToProcess = (int)(heartbeats.size()& && && &&&* ReplicationMonitor.REPLICATION_WORK_MULTIPLIER_PER_ITERATION);&&& & &span style=&color: #ff0000;&&nodesToProcess = (int)Math.ceil((double)heartbeats.size()& && && &&&* ReplicationMonitor.INVALIDATE_WORK_PCT_PER_ITERATION / 100);&/span&&&&&&&}&&&&&&workFound = computeReplicationWork(blocksToProcess);& && & &&// Update FSNamesystemMetrics counters&&&&synchronized (this) {&&& & pendingReplicationBlocksCount = pendingReplications.size();&&& & underReplicatedBlocksCount = neededReplications.size();&&& & scheduledReplicationBlocksCount = workF&&& & corruptReplicaBlocksCount = corruptReplicas.size();&&&&}&&& & &&&span style=&color: #ff0000;&&workFound += computeInvalidateWork(nodesToProcess);&/span&&&&&&&return workF&&}&&
注意上面红色部分代码,computeInvalidateWork就是用于计算这次需要删除的数据块。但是并不是每次都把所有的节点都处理一遍,而是每次只处理nodesToProcess个节点,而这个数量决定于datanode的总数(heartbeats.size,我这儿是8)和一个系数(INVALIDATE_WORK_PCT_PER_ITERATION,写死的32)。也就是说每次只处理8*32% = 3(这就解释了为啥每次只删除三台数据节点上的数据块。)再查看节点选择部分:Java代码&&
……&&&span style=&color: #ff0000;&&&&private Map&String, Collection&Block&& recentInvalidateSets =& && & new TreeMap&String, Collection&Block&&();&/span&&&&&……&&&span style=&color: #ff0000;&&String firstNodeId = recentInvalidateSets.keySet().iterator().next();&/span&&&&&……&&
发现是通过iterator遍历的,然后悲剧的发现recentInvalidateSets用的是TreeMap,也就是说是有序的……所以只要这三个节点有数据需要删除,就不会删除到其他节点
这时候,发现这个问题是调整的时候,修改了一个配置项(dfs.replication.interval,默认是3秒,我修改成了30秒)导致的,当时修改的初衷是防止过早出现数据块复制。但是修改这个配置项以后,数据块副本数检查的间隔拉长了,导致30秒内,有几台机器一直有数据块需要删除,从而无法删除其他节点上的数据块,最终导致磁盘空间无法释放。因为INVALIDATE_WORK_PCT_PER_ITERATION是系统写死的,所以只能通过把dfs.replication.interval改回来,暂时解决这个问题。
ps:查了一下最新的1.0.4代码,这部分bug已经修复,改成随机抽取的模式,避免出现上述情况。(cdh3u4还存在这个问题)单机QQ群: |
没有巴士通行证?! 无法正常登陆?
登录中,请稍后...
您的当前位置: >
> 君临天下Reign of kings配置要求 低端亲民
君临天下Reign of kings配置要求 低端亲民
时间: 15:51 |来源:本站原创|
作者:Revenant|点击: 47289
  君临天下虽然作为一款中古时代开放的游戏世界,配置很低,一般的电脑都基本上能带动。能玩的上骑马与砍杀的电脑基本上跑起来都没什么问题,而画面的话也是类似于骑马与砍杀。下面就是详细的君临天下Reign of kings配置要求。
  配置要求:
  操作系统:Windows XP/Vista/7/8
  运行环境:DirectX 9c
  处理器:1 GHz
  内存:1 GB RAM
  游戏介绍
  你将奋斗在一个恶劣的中世纪的世界生存。捕猎野生动物,矿产资源,构造建筑,并用武器和盔甲来保护自己。你可以组织一个不对,征服所有反对你的人,最终登上王位,成为国王!
  游戏详情
  在Reign Of Kings(以下简称ROK),您可以收集资源来建造各种建筑和设施,最后建立一个庞大而强大的王国项目。我们开发这个游戏的主要灵感来自于Rust(腐蚀)和骑士(Chivalry)除了标准的资源,在一座可以鸟瞰整个领土的国王大厅内,有可以被争夺的王座。所有不是国王阵营的人都需要为所收集的资源缴税。ROK的开发者为近战系统添加了逼真的感觉,让玩家深深的沉浸在浓烈的中世纪时期生存环境中。这个世界鼓励竞争和权利的争斗。资源位置的战略性分布会造成不公平和嫉妒。玩家可以制造战争,甚至可以通过胁迫别人来获得想要的东西。每个玩家将有权决定王国的命运,或者选择完全统治的欲望而成为一名游侠。
  捕获玩家可以抓住,囚禁和处决其他玩家。玩家可以用绳或铁锁链捕捉别人。一旦束缚,玩家不再能够访问他们除了孔槽以外的物品。被捕获玩家的物品可被捕获者搜索和夺取。此外,可以将囚犯用一根绳子牵起来,使他们能够随着捕获者想要的方向移动。为了避免被捕玩家太过背上,玩家可以隐藏一个锋利的石头或开锁器在他们的孔槽中。这种&隐藏&的物品可以帮助他们逃脱或自杀。
  惩罚与死亡玩家一旦捕获一个俘虏可以立刻进行惩罚或死刑,有多个处理囚犯的选项可供选择。从简单的锁在笼中的地牢,在刑台当众羞辱,到简单地执行死刑。
  游戏截图
前面是谁,高度戒备
晚上是谁在海边
爱心形状的沙滩
孤独的一栋牌坊
城堡已经戒备森严
和盔甲武士正面对抗
马来剑的威力不容小觑你看不到我~
看不到我……
视频: Reign Of Kings【国王的统治】【君临天下】汉化和开服教程
<mendVideo();
分享给好友
Reign Of Kings【国王的统治】【君临天下】汉化和开服教程
下载至电脑
扫码用手机看
用或微信扫码在手机上继续观看
二维码2小时内有效
把视频贴到Blog或BBS&&
<input id="link4" type="text" class="form_input form_input_s" value=''>
flash地址:
<input type="text" class="form_input form_input_s" id="link3" value=''>
手机扫码分享视频
二维码2小时内有效
Reign Of Kings【国王的统治】【君临天下】汉化和开服教程
扫码用手机继续看
用或微信扫码在手机上继续观看
二维码2小时内有效,扫码后可分享给好友
没有优酷APP?立即下载
请根据您的设备选择下载版本
Reign Of Kings【国王的统治】【君临天下】汉化和开服教程
万万表情系列(VIP会员专享)
泡芙表情系列(VIP会员专享)
暴漫表情系列(VIP会员专享)
节目制作经营许可证京字670号
药品服务许可证(京)-经营-

我要回帖

更多关于 reign of kings地图 的文章

 

随机推荐