日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hadoop 卡主_HDFS DisTCP执行卡住了,怎么办?

發布時間:2023/12/2 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hadoop 卡主_HDFS DisTCP执行卡住了,怎么办? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

我們在進行兩個集群間數據同步的時候,使用的是hdfs的distcp的方式進行跨集群跨版本的數據同步,但是在執行hdfs distcp 命令時,發現在運行到 with build listing處就卡住了 .

具體問題如下圖:

針對問題解決,中間我們試過了哪些辦法

1 首先查看hdfs本身服務狀態是否正常,get命令是否可用? 這里我們嘗試使用get的方式從源集群中下載一個文件來進行測試, hadoop fs -get hdfs://namenode:8020 . 以及使用cp命令是否也是可用的? Hadoop fs -cp hdfs://namenode:8020 hdfs://namenode:8020/ 結果發現get命令和cp命令都是沒有問題的,那么這里其實就證明一方面hdfs服務本身是沒有問題的,另一方面是網絡是通的,不是網絡原因.

2 檢查yarn application 并沒有啟動yarn任務,也就是mr任務就沒有執行,那么這里我們可以試驗一下正常的提交一個mr任務看看是否能夠正常的在yarn上面running起來.

執行任務報下面的異常信息:

3 我們查找集群中mapreduce.task.io.sort.mb的設置值為4096,這個配置的意思大概是

“在排序文件時使用的緩沖內存的總量,以兆字節為單位”。有人可能已經為每個任務使用大量內存的應用程序全局設置了該值。在刪除該配置(并使用其默認值100)之后,DistCp就可以工作了。

mapreduce.task.io.sort.mb的問題根本分析

MapTask.MapOutputBuffer使用byte[] 大小的數組來實現緩沖區mapreduce.task.io.sort.mb,在分配數組之前檢查大小是否正確。問題是Java數組不能有超過2^31 - 1的元素(即使是64位JVM),這是Java語言專門化本身的一個限制。這意味著配置mapreduce.task.io.sort。mb實際上被限制為<= 2047。指定值4096對每個任務占用大量內存的應用程序沒有幫助,相反,它會破壞所有MapReduce應用程序

但是由于這個原因,distcp并不會有任何的失敗提示,它在SortPass.run()方法的內部循環中不斷重試sort傳遞,所以會一直卡住..

希望本文對你有幫助!

感謝關注“碼農星球”。本文版權屬于“碼農星球”。我們提供咨詢和培訓服務,關于本文有任何困惑,請關注并聯系我們。

總結

以上是生活随笔為你收集整理的hadoop 卡主_HDFS DisTCP执行卡住了,怎么办?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。