私はクラスタのHDFSブロック分布の可視化を作成しようとしています。HDFSブロック分布の可視化
私はTableauを使用してこれを作成する予定ですが、どのノードで再バランスが必要なのか、そしてサーバログデータをテーブルに入れる効率的な方法を知ることができますか?
私はクラスタのHDFSブロック分布の可視化を作成しようとしています。HDFSブロック分布の可視化
私はTableauを使用してこれを作成する予定ですが、どのノードで再バランスが必要なのか、そしてサーバログデータをテーブルに入れる効率的な方法を知ることができますか?
これにあまりにも多くの時間を費やす前に、TwitterのオープンソースHDFS-DUプロジェクトを見てみてください。これは、クラスタ内のDataNodeではなく、ファイルシステム内のパスに基づいて利用状況を表示しますが、それでも依然として要件に役立ちます。
リバランスを必要とするノードを特定するだけの目的であれば、この情報はすでにNameNode Web UIの[Datanodes]タブからアクセスできます。 hdfs dfsadmin -report
を実行して、スクリプト内の各ノードの使用状況統計を取得することもできます。
上記のいずれも要件を満たしておらず、情報をTableauのような外部のレポートツールに統合する必要がある場合は、ネームノードでHTTP経由で公開されるJMXメトリクスを参考にしてください。 NameNodeからこの情報の一部を照会する例のcurl
コマンドについては、以下を参照してください。特に各データノードに関する容量情報を含むLiveNodes
セクションに注意してください。
これらのメトリックに関する追加情報は、Apache Hadoop Metricsのマニュアルに記載されています。
> 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
} ]
}
チャールズさんに感謝します。とても役に立ちました。具体的には、データの分散方法をよりよく理解するために、データブロックの分布を可視化する必要がありました。それが新しいアイデアを生み出すなら、教えてください!すべての助けに感謝します! – SB2017