HDFS可视化块分发

时间:2017-01-29 17:06:44

标签: hadoop hdfs tableau

我试图创建群集的HDFS块分布的可视化。

我打算使用Tableau创建它,但想知道什么类型的可视化将能够让您了解哪些节点需要重新平衡,以及将服务器日志数据放入画面的有效方法?

1 个答案:

答案 0 :(得分:2)

在投入太多时间之前,您可能想看看Twitter的开源HDFS-DU项目。这提供了基于文件系统中的路径而不是群集中的DataNode的利用率视图,但这可能仍然有助于满足您的需求。

如果目标只是识别需要重新平衡的节点,则可以在NameNode Web UI“Datanodes”选项卡上访问此信息。您还可以运行hdfs dfsadmin -report来获取脚本中每个节点的利用率统计信息。

如果以上都不符合您的要求,并且您需要继续将信息集成到Tableau等外部报告工具中,那么有用的集成点可能是通过NameNode上的HTTP公开的JMX指标。请参阅下面的示例LiveNodes命令,该命令从NameNode查询某些信息。请特别注意> curl 'http://127.0.0.1:9870/jmx?qry=Hadoop:service=NameNode,name=NameNodeInfo' { "beans" : [ { "name" : "Hadoop:service=NameNode,name=NameNodeInfo", "modelerType" : "org.apache.hadoop.hdfs.server.namenode.FSNamesystem", "Threads" : 46, "Version" : "3.0.0-alpha2-SNAPSHOT, rdf497b3a739714c567c9c2322608f0659da20cc4", "Used" : 5263360, "Free" : 884636377088, "Safemode" : "", "NonDfsUsedSpace" : 114431086592, "PercentUsed" : 5.266863E-4, "BlockPoolUsedSpace" : 5263360, "PercentBlockPoolUsed" : 5.266863E-4, "PercentRemaining" : 88.52252, "CacheCapacity" : 0, "CacheUsed" : 0, "TotalBlocks" : 50, "NumberOfMissingBlocks" : 0, "NumberOfMissingBlocksWithReplicationFactorOne" : 0, "LiveNodes" : "{\"192.168.0.117:9866\":{\"infoAddr\":\"127.0.0.1:9864\",\"infoSecureAddr\":\"127.0.0.1:0\",\"xferaddr\":\"127.0.0.1:9866\",\"lastContact\":2,\"usedSpace\":5263360,\"adminState\":\"In Service\",\"nonDfsUsedSpace\":114431086592,\"capacity\":999334871040,\"numBlocks\":50,\"version\":\"3.0.0-alpha2-SNAPSHOT\",\"used\":5263360,\"remaining\":884636377088,\"blockScheduled\":0,\"blockPoolUsed\":5263360,\"blockPoolUsedPercent\":5.266863E-4,\"volfails\":0}}", "DeadNodes" : "{}", "DecomNodes" : "{}", "BlockPoolId" : "BP-1429209999-10.195.15.240-1484933797029", "NameDirStatuses" : "{\"active\":{\"/Users/naurc001/hadoop-deploy-trunk/data/dfs/name\":\"IMAGE_AND_EDITS\"},\"failed\":{}}", "NodeUsage" : "{\"nodeUsage\":{\"min\":\"0.00%\",\"median\":\"0.00%\",\"max\":\"0.00%\",\"stdDev\":\"0.00%\"}}", "NameJournalStatus" : "[{\"manager\":\"FileJournalManager(root=/Users/naurc001/hadoop-deploy-trunk/data/dfs/name)\",\"stream\":\"EditLogFileOutputStream(/Users/naurc001/hadoop-deploy-trunk/data/dfs/name/current/edits_inprogress_0000000000000000862)\",\"disabled\":\"false\",\"required\":\"false\"}]", "JournalTransactionInfo" : "{\"MostRecentCheckpointTxId\":\"861\",\"LastAppliedOrWrittenTxId\":\"862\"}", "NNStartedTimeInMillis" : 1485715900031, "CompileInfo" : "2017-01-03T21:06Z by naurc001 from trunk", "CorruptFiles" : "[]", "NumberOfSnapshottableDirs" : 0, "DistinctVersionCount" : 1, "DistinctVersions" : [ { "key" : "3.0.0-alpha2-SNAPSHOT", "value" : 1 } ], "SoftwareVersion" : "3.0.0-alpha2-SNAPSHOT", "NameDirSize" : "{\"/Users/naurc001/hadoop-deploy-trunk/data/dfs/name\":2112351}", "RollingUpgradeStatus" : null, "ClusterId" : "CID-4526ea43-52e6-4b3f-9ddf-5fd4412e322e", "UpgradeFinalized" : true, "Total" : 999334871040 } ] } 部分,其中包含有关每个DataNode的容量信息。

Apache Hadoop Metrics文档中提供了有关这些指标的一些其他信息。

{{1}}