HDFS的日志文件默認存儲在HDFS文件系統的特定路徑下(如/var/log/hadoop/hdfs/或/logs目錄),可使用Hadoop提供的fs命令(或dfs命令,兩者等效)進行查看。常用操作如下:
hadoop fs -ls命令查看HDFS中日志目錄的內容(如/var/log/hadoop/hdfs/),示例:hadoop fs -ls /var/log/hadoop/hdfs/
輸出會顯示該目錄下的所有日志文件(如hadoop-hdfs-namenode-<hostname>.log、hadoop-hdfs-datanode-<hostname>.log)及文件大小、修改時間等信息。hadoop fs -cat命令查看指定日志文件的完整內容(如NameNode日志),示例:hadoop fs -cat /var/log/hadoop/hdfs/hadoop-hdfs-namenode-<hostname>.log
若日志文件較大,可使用hadoop fs -tail命令查看文件末尾的若干行(實時更新),示例:hadoop fs -tail -n 100 /var/log/hadoop/hdfs/hadoop-hdfs-namenode-<hostname>.log # 查看最后100行
該命令適合實時監控日志輸出(類似tail -f的效果)。HDFS的日志默認也會存儲在Hadoop安裝目錄的logs子目錄中(路徑由$HADOOP_HOME環境變量決定,如/usr/local/hadoop/logs/或/opt/hadoop/logs/)??赏ㄟ^以下步驟查看:
cd $HADOOP_HOME/logs
hadoop-<username>-namenode-<hostname>.loghadoop-<username>-datanode-<hostname>.loghadoop-<username>-secondarynamenode-<hostname>.logtail、cat、less等命令查看,示例:tail -f hadoop-hdfs-namenode-<hostname>.log # 實時查看NameNode日志
less hadoop-hdfs-datanode-<hostname>.log # 分頁查看DataNode日志
這種方式適合本地快速查看,無需通過網絡訪問HDFS。HDFS提供了Web管理界面,可直接在瀏覽器中查看NameNode和SecondaryNameNode的日志(需集群已開啟Web UI服務,默認端口為50070或8088,取決于Hadoop版本):
http://<namenode_hostname>:50070(或http://<namenode_hostname>:8088),進入HDFS集群管理頁面。/var/log/hadoop/hdfs/hadoop-hdfs-namenode-<hostname>.log),點擊“Browse”即可查看日志內容。hadoop-env.sh中的HADOOP_LOG_DIR參數),需根據實際配置調整查看路徑。hadoop用戶或root權限,若遇到權限不足,可使用sudo命令(如sudo hadoop fs -cat /var/log/hadoop/hdfs/hadoop-hdfs-namenode-<hostname>.log)。