Hadoop fs -put:上傳文件至Hdfs總是失敗

背景Hadoop正常啓動,所有服務:namenode,datanode,jobtracker,tasktracker都正常啓動運行。且執行hadoop其他命令如-ls,-rm,-mkdir等都正常運行。就是執行hadoop fs -put test.txt input命令時失敗。

注:namenode主機ip:192.168.101.135

問題描述

  1. namenode節點日誌(hadoop-hadoop-namenode-NameNode.log),出錯信息:IOException:File /user/hadoop/input/test1.txt could only be replicated to 0 nodes,instead of 1

  2. datanode和tasktracker日誌,出錯信息:call to Namenode/192.168.101.135:9000 failed on local exception:java.net.NoRouteToHostException:沒有到主機的路由

原因

  1. hdfs文件系統出現異常;

  2. 防火牆問題;

解決方法

  1. 文件系統異常:停止hadoop--> 把配置文件core-site.xml中選項 hadoop.tmp.dir指定目錄(此處爲/home/hadoop/hadoop/tmp)下的所有文件***-->重新格式化hadoop-->啓動;

  2. 防火牆問題:停止hadoop-->關閉master和namenode所有節點上的防火牆-->重新啓動hadoop;



關閉防火牆需切換至root用戶,命令如下(centOs)

/etc/init.d/iptables stop


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章