我试图创建集群的hdfs块分布的可视化。我计划使用tableau创建这个,但是想知道什么类型的可视化可以让您了解哪些节点需要重新平衡,以及将服务器日志数据导入tableau的有效方法?
wixjitnu1#
在投入太多时间之前,您可能想看看twitter的开源hdfs du项目。这提供了一个基于文件系统中的路径而不是集群中的数据节点的利用率视图,但这对于您的需求可能还是有帮助的。如果目标只是确定需要重新平衡的节点,那么可以在namenodewebui的“datanodes”选项卡上访问此信息。你也可以跑 hdfs dfsadmin -report 获取脚本中每个节点的利用率统计信息。如果以上都不符合您的需求,并且您需要继续将信息集成到外部报告工具(如tableau)中,那么一个有用的集成点可能是通过namenode上的http公开的jmx度量。请参见下面的示例 curl 从namenode查询某些信息的命令。特别注意 LiveNodes 节,其中包含有关每个数据节点的容量信息。apachehadoop度量文档中提供了一些关于这些度量的附加信息。
hdfs dfsadmin -report
curl
LiveNodes
> 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 } ] }
1条答案
按热度按时间wixjitnu1#
在投入太多时间之前,您可能想看看twitter的开源hdfs du项目。这提供了一个基于文件系统中的路径而不是集群中的数据节点的利用率视图,但这对于您的需求可能还是有帮助的。
如果目标只是确定需要重新平衡的节点,那么可以在namenodewebui的“datanodes”选项卡上访问此信息。你也可以跑
hdfs dfsadmin -report
获取脚本中每个节点的利用率统计信息。如果以上都不符合您的需求,并且您需要继续将信息集成到外部报告工具(如tableau)中,那么一个有用的集成点可能是通过namenode上的http公开的jmx度量。请参见下面的示例
curl
从namenode查询某些信息的命令。特别注意LiveNodes
节,其中包含有关每个数据节点的容量信息。apachehadoop度量文档中提供了一些关于这些度量的附加信息。