1. 程式人生 > >Could not find output/file.out in any of the configured local directories

Could not find output/file.out in any of the configured local directories

轉載:http://blog.pureisle.net/archives/1785.html

十二、如果遇到如下錯誤:

FAILED java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI:***

就是URI裡邊出現了不允許出現的字元,比如冒號:之類的,作業系統不允許的檔案命名字元。詳細的可以根據提示的部分(星號部分)來進行grep匹配檢視。消除掉就可以解決了。

十三、遇到tasktracker無法啟動,tasktracker日誌報錯如下:

ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.net.BindException: Address already in use ***

是埠被佔用或者已經有相應的程序啟動了,這時候你先停止叢集,然後使用ps -aux | grep hadoop 命令,來看看相關的hadoop程序,把hadoop相關的守護程序kill掉即可。

十四、遇到datanode無法啟動的情況,datanode日誌報錯如下:

ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: No locks available

網上有許多說需要format,個人感覺是扯淡,因為我同樣的新增節點,新增的其他節點沒有問題,只有一個有問題,所以問題一定不在是否format身上,而且如果format後hdfs內的資料就會全部丟失,我也不會去嘗試這種方法。詳細看了一下,apache的郵件列表有這樣一段內容:

No locks available can mean that you are trying to use hadoop on a filesystem that does not support file level locking. Are you trying to run your name node storage in NFS space?

這裡提到檔案級鎖的情況,使用

$ /etc/init.d/nfs status

命令檢視網路檔案系統的情況,都是關閉的。另外使用df -Th或者mount命令可以檢視檔案系統的型別,得到的結果確實是NFS檔案系統的問題。不能使用掛在的網路檔案系統,因為又貌似只讀的情況,即便不是隻讀情況,也像上邊說的,是不支援file級鎖的。
最後解決辦法,可以嘗試給nfs新增檔案級的鎖。我這裡就是修改dfs.data.dir,不使用nfs完事了。

十五、datanode died,並且無法啟動該程序,log報如下錯誤:

2012-06-04 10:31:34,915 INFO org.apache.hadoop.hdfs.server.common.Storage: Cannot access storage directory /data5/hadoop_data
2012-06-04 10:31:34,915 INFO org.apache.hadoop.hdfs.server.common.Storage: Storage directory /data5/hadoop_data does not exist.
2012-06-04 10:31:35,033 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: org.apache.hadoop.util.DiskChecker$DiskErrorException: Invalid value for volsFailed : 2 , Volumes tolerated : 0

我的這個問題,查到原因是該節點的磁碟變成的只讀(only read)模式,網上搜了一下發現這種情況還蠻多,Linux機器的硬碟本來都是設定成讀寫(Read/Write)方式的,不過偶爾會發現自動變成了只讀(Read Only),查了一些資料,發生這種情況的原因有多種,可能的問題:

  • 檔案系統錯誤
  • 核心相關硬體驅動bug
  • FW韌體類問題
  • 磁碟壞道
  • 硬碟背板故障
  • 硬碟線纜故障
  • HBA卡故障
  • RAID卡故障
  • inode資源耗盡

解決的辦法:

  • 重啟伺服器(命令reboot)
  • 重新mount硬碟
  • fsck嘗試修復
  • 更換硬碟

一個詳細的解決辦法(未嘗試,看著挺靠譜的)。

十六、jps無法檢視到hadoop、hbase的daemon守護程序,但是hadoop、hbase均工作正常,web頁面也能訪問,用ps -ef|grep java 也能看到啟動的java程序。

造成這個情況的原因是java程式啟動後,預設(請注意是預設)會在/tmp/hsperfdata_userName目錄下以該程序的id為檔名新建檔案,並在該檔案中儲存jvm執行的相關資訊,其中的userName為當前的使用者名稱,/tmp/hsperfdata_userName目錄會存放該使用者所有已經啟動的java程序資訊。對於windows機器/tmp用Windows存放臨時檔案目錄代替。而jps、jconsole、jvisualvm等工具的資料來源就是這個檔案(/tmp/hsperfdata_userName/pid)。所以當該檔案不存在或是無法讀取時就會出現jps無法檢視該程序號,jconsole無法監控等問題。

所以如果你的tmp有定期清空、磁碟滿、寫入許可權等情況,均會造成jps無法檢視java程序的情況,需要解決的可以設定快取的儲存位置。關於設定該檔案位置的引數為-Djava.io.tmpdir

另外:
/tmp/hsperfdata_userName/pid檔案會在對應java程序退出後被清除。如果java程序非正常退出(如kill -9),那麼pid檔案會被保留,直到執行一次java命令或是載入了jvm程式的命令(如jps、javac、jstat),會將所有無用的pid檔案都清除掉

十七、執行mapreduce任務的時候報錯如下:

2012-06-21 10:50:43,290 WARN org.mortbay.log: /mapOutput: org.apache.hadoop.util.DiskChecker$DiskErrorException: Could not find taskTracker/hadoop/jobcache/job_201206191809_0004/attempt_201206191809_0004_m_000006_0/output/file.out.index in any of the configured local directories
2012-06-21 10:50:45,592 WARN org.apache.hadoop.mapred.TaskTracker: getMapOutput(attempt_201206191809_0004_m_000006_0,0) failed : org.apache.hadoop.util.DiskChecker$DiskErrorException: Could not find taskTracker/ha.doop/jobcache/job_201206191809_0004/attempt_201206191809_0004_m_000006_0/output/file.out.index in any of the configured local directories

雖然是兩個warn,但是也影響作業效率,所以還是嘗試解決一下,錯誤原因是無法找到作業的中間輸出檔案。需要作如下檢查:

a、配置mapred.local.dir屬性
b、df -h 看看快取路徑下的空間是否足夠
c、free 看看記憶體空間是否足夠
d、確保快取路徑可寫許可權
e、檢查磁碟損壞

namenode迴圈報錯如下:

2012-08-21 09:20:24,486 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Cannot roll edit log, edits.new files already exists in all healthy directories:
/data/work/hdfs/name/current/edits.new
/backup/current/edits.new
2012-08-21 09:20:25,357 ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:hadoop cause:java.net.ConnectException: Connection refused
2012-08-21 09:20:25,357 ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:hadoop cause:java.net.ConnectException: Connection refused
2012-08-21 09:20:25,359 WARN org.mortbay.log: /getimage: java.io.IOException: GetImage failed. java.net.ConnectException: Connection refused

secondarynamenode也有相關錯誤。
搜到一個說法原因是:

With 1.0.2, only one checkpoint process is executed at a time. When the namenode gets an overlapping checkpointing request, it checks edit.new in its storage directories. If all of them have this file, namenode concludes the previous checkpoint process is not done yet and prints the warning message you've seen.

這樣的話如果你確保edits.new檔案是之前錯誤操作殘留下的沒有用的檔案的話,那麼可以刪掉,檢測之後是否還有這樣的問題。
另外請確保namenode的hdfs-site.xml的配置有如下項:

<property>
<name>dfs.secondary.http.address</name>
<value>0.0.0.0:50090</value>
</property>

將上述的0.0.0.0修改為你部署secondarynamenode的主機名

secondarynamenode的hdfs-site.xml有如下項:

<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>

將上述的0.0.0.0修改為你部署namenode的主機名

相關推薦

Could not find output/file.out in any of the configured local directories

轉載:http://blog.pureisle.net/archives/1785.html 十二、如果遇到如下錯誤: FAILED java.lang.IllegalArgumentException: java.net.URISyntaxException: R

OSError: Could not find library geos_c or load any of its variants ['libgeos_c.so.1', 'libgeos_c.so

5.0 load find erro onf nbsp function lai bsp OSError: Could not find library geos_c or load any of its variants [‘libgeos_c.so.1‘, ‘libge

MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.transport.TTransportExcep

hive在hive-site.xml中配置hive.metastore.uris屬性,後啟動異常 hive異常 [[email protected] hive-0.13.1-cdh5.3.6]$ bin/hive Logging initialized using configuration

react-native Could not find "store" in either the context or props

1.參考 https://stackoverflow.com/questions/35420989/could-not-find-store-in-either-the-context-or-props 2.在所有需要繫結Redux的檔案中使用connect 容器元件使用 connect() 方法連線 R

sts安裝出現could not find jar:file解決辦法

標題sts外掛下載好但是安裝出錯 我的eclipse是4.5.2,在官方網站https://spring.io/tools3/sts/legacy下載,壓縮包的名字為:spring-tool-suite-3.7.3.RELEASE-e4.5.2-win32-x86_64.zip 但是重點

Cannot find entry file index.android.js in any of the roots

一 在 ../../node_modules/react-native/react.gradles 檔案中 新增 project.ext.react = [ entryFile: "in

React Native demo執行報錯:Cannot find entry file index.android.js in any of the roots

android執行GaGaMall出現如圖錯誤,怎麼弄都不行,index.android.js明明在根目錄的,頭疼的要死...可是同事那邊下的,在npm install後,拷貝過來又行了... 然後想了想,我原來是用cnpm install安裝的,可能是cnpm出了問題,

【原】Cannot find entry file index.ios.js [index.android.js] in any of the roots

今天在執行新的React Native專案時,出現了錯誤。 錯誤資訊如圖: 在stackoverflow上搜索了一下,發現很多人遇到過這個問題。React Native的github上也有相

ceph儲存 Could not find keyring file: /etc/ceph/ceph.client.admin.keyring on host

[ceph_deploy.mon][INFO ] Running gatherkeys... [ceph_deploy.gatherkeys][DEBUG ] Checking manila59 for /etc/ceph/ceph.client.admin.keyring [manila59][DEBUG

Maven 項目創建時遇到問題 (Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:1.0 from any of the configured repositories.)

href .html 圖片 config pos maven 沒有 web con 解決辦法:配置一下 maven阿裏雲鏡像,親測有效,完美解決! 配置教程: http://blog.java1234.com/blog/articles/252.html 試過網上的

Flink中scala提示錯誤——could not find implicit value for evidence parameter of type org.apa

Flink第一個簡單的demo ,wordCount 該問題參考引用如下: https://blog.csdn.net/dax1n/article/details/70211035 自身程式碼中問題: package cetc.flink import org.apa

建立maven專案的時候:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:1.0 from any of the configured repositories. 解決辦法

問題:      https://yq.aliyun.com/ziliao/364921      嘗試沒成功。 https://www.aliyun.com/jiaocheng/296712.html   嘗試沒成功。

Spring Boot使用thymeleaf模板時報異常:template might not exist or might not be accessible by any of the configured Template Resolvers

logs pla 開頭 spring 方法 temp ring mode acc 錯誤如下: template might not exist or might not be accessible by any of the configured Template R

Error_template might not exist or might not be accessible by any of the configured Template Resolver

    錯誤提示為:           Error resolving template "login.html", template might not exist or might not be accessible b

Error resolving template [index], template might not exist or might not be accessible by any of the configured Template Resolvers

1,首先我按照網上找的在controller上面的註解改成@RestController,這個是不行的。給我返回了一個   -------------------------    /login 2,把返回的 return "/login" 改成

template might not exist or may not be accessible by any of the configured Template Resolvers檢視解析錯誤

樓主用的是springboot+hibernate+thymeleaf。不知道這個選型是否和問題有相關性,姑且列在這裡,可以參考。一開始遇到這個問題的時候上網查過,看到大多提到什麼取消斜槓的方法,並沒有解決。自己搗鼓下來發現是遺漏了@Response註解將@Controlle

ERROR: Could not find a valid gem 'redis' (>= 0) in any repository

虛擬機器安裝redis的時候,執行下面的命令 gem install redis 報了這個錯 ERROR: Could not find a valid gem 'redis' (>= 0) in any repository 經過查詢資料發現,一部分原因是gem sou

'Could not find first log file name in binary log index file'的解決辦法

在配置Mysql主從備份時 從資料庫的狀態一直是Error,狀態圖如下 原因:從資料庫讀取日誌檔案位置問題,沒有與主資料的位置相對應; 解決方式:檢視主資料庫的狀態 更改從資料庫讀取日誌的檔案和位置 mysql> CHANGE MASTER TO MASTER_

'Could not find first log file name in binary log index file'的解決辦法

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file' 解決辦法: 從

PANIC: HOME is defined but could not find Nexus_5_API_22_64-x86.ini file in $HOME/.android/avd

Mac下Android開發模擬器啟動不了 BUG 解決方案 一、BUG PANIC: HOME is defined but could not find Nexus_5_API_22_6