2016-04-04 10 views
0

hadoopでputコマンドを実行時間を表示するように設定するにはどうすればよいですか?hadoop:putコマンドの実行時間を表示する方法は?または、hdfsにファイルをロードする時間を表示する方法は?

このコマンドので:

hadoop fs -put table.txt /tables/table 

はこれを返している:

16/04/04 01:44:47 WARN util.NativeCodeLoader: 
Unable to load native-hadoop library for your platform... using  
builtin-java classes where applicable 

コマンドは動作しますが、任意の実行時間を表示しません。コマンドが実行時間を表示できるかどうか知っていますか?または、その情報を取得する別の方法がありますか?私の過小のHadoop fsコマンド毎

答えて

1

は、実行時間などの任意のデバッグ情報を提供していませんが、次の2つの方法で実行時間を取得することができます。

  1. バッシュ方法:start=$(date +'%s') && hadoop fs -put visit-sequences.csv /user/hadoop/temp && echo "It took $(($(date +'%s') - $start)) seconds"

  2. ログファイル:実行されたコマンドに関連するすべての詳細、つまり所要時間、ファイルサイズ、レプリケーションなどの詳細を一覧表示するnamenodeログファイルを確認できます。

私はこのコマンドを試してみたhadoop fs -put visit-sequences.csv /user/hadoop/tempと、ログファイルの中に操作を入れる特定のログがあります。

2016-04-04 20:30:00,097 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Roll Edit Log from 127.0.0.1 
2016-04-04 20:30:00,097 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLog: Rolling edit logs 
2016-04-04 20:30:00,097 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLog: Ending log segment 38 
2016-04-04 20:30:00,097 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLog: Number of transactions: 2 Total time for transactions(ms): 1 Number of transactions batched in Syncs: 0 Number of syncs: 2 SyncTimes(ms): 75 
2016-04-04 20:30:00,118 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLog: Number of transactions: 2 Total time for transactions(ms): 1 Number of transactions batched in Syncs: 0 Number of syncs: 3 SyncTimes(ms): 95 
2016-04-04 20:30:00,120 INFO org.apache.hadoop.hdfs.server.namenode.FileJournalManager: Finalizing edits file /data/misc/hadoop/store/hdfs/namenode/current/edits_inprogress_0000000000000000038 -> /data/misc/hadoop/store/hdfs/namenode/current/edits_0000000000000000038-0000000000000000039 
2016-04-04 20:30:00,120 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLog: Starting log segment at 40 
2016-04-04 20:30:01,781 INFO org.apache.hadoop.hdfs.server.namenode.TransferFsImage: Transfer took 0.06s at 15.63 KB/s 
2016-04-04 20:30:01,781 INFO org.apache.hadoop.hdfs.server.namenode.TransferFsImage: Downloaded file fsimage.ckpt_0000000000000000039 size 1177 bytes. 
2016-04-04 20:30:01,830 INFO org.apache.hadoop.hdfs.server.namenode.NNStorageRetentionManager: Going to retain 2 images with txid >= 0 
2016-04-04 20:30:56,252 INFO org.apache.hadoop.hdfs.StateChange: BLOCK* allocate blk_1073741829_1005{UCState=UNDER_CONSTRUCTION, truncateBlock=null, primaryNodeIndex=-1, replicas=[ReplicaUC[[DISK]DS-1b928386-65b9-4438-a781-b154cdb9a579:NORMAL:127.0.0.1:50010|RBW]]} for /user/hadoop/temp/visit-sequences.csv._COPYING_ 
2016-04-04 20:30:56,532 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: BLOCK* blk_1073741829_1005{UCState=COMMITTED, truncateBlock=null, primaryNodeIndex=-1, replicas=[ReplicaUC[[DISK]DS-1b928386-65b9-4438-a781-b154cdb9a579:NORMAL:127.0.0.1:50010|RBW]]} is not COMPLETE (ucState = COMMITTED, replication# = 0 < minimum = 1) in file /user/hadoop/temp/visit-sequences.csv._COPYING_ 
2016-04-04 20:30:56,533 INFO org.apache.hadoop.hdfs.server.namenode.EditLogFileOutputStream: Nothing to flush 
2016-04-04 20:30:56,548 INFO BlockStateChange: BLOCK* addStoredBlock: blockMap updated: 127.0.0.1:50010 is added to blk_1073741829_1005{UCState=COMMITTED, truncateBlock=null, primaryNodeIndex=-1, replicas=[ReplicaUC[[DISK]DS-1b928386-65b9-4438-a781-b154cdb9a579:NORMAL:127.0.0.1:50010|RBW]]} size 742875 
2016-04-04 20:30:56,957 INFO org.apache.hadoop.hdfs.StateChange: DIR* completeFile: /user/hadoop/temp/visit-sequences.csv._COPYING_ is closed by DFSClient_NONMAPREDUCE_1242172231_1  
+0

ご回答ありがとうございます。あなたはそのログファイルをどこで確認しますか?私はnamenodeのURLでそれを見つけることができません!マスターノードの – codin

+1

、_ [HADOOP_HOME]/logs/hadoop- [USERNAME] -namenode- [HOSTNAME] .log_ – Mahendra

+0

ありがとう!だから、転送に現れる時間は0,06秒かかるのですか? – codin

関連する問題