初次使用hadoop時遇到的問題.

1、namenode主機本機ssh登錄也要解決認證問題
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
還需要把文件傳到datanode主機上,並保證兩臺主機使用同樣的用戶名和hadoop的目錄結構
scp ~/.ssh/id_dsa.pub  192.168.12.102:/root/.ssh/namenode_192.168.12.100_pub ,
其中192.168.12.102是datanode的ip地址
2、namenode上執行hadoop fs -put conf input時,遇到safemode問題
解決方法:
第一種:修改dfs.safemode.threshold.pct爲1,缺省是0.999,在conf/hdfs-site.xml中添加下面一個節點
<property>
    <name>dfs.safemode.threshold.pct</name>
    <value>1.0f</value>
    <description>
        Specifies the percentage of blocks that should satisfy 
        the minimal replication requirement defined by dfs.replication.min.
        Values less than or equal to 0 mean not to start in safe mode.
        Values greater than 1 will make safe mode permanent.
        </description>
  </property>
第二種:hadoop dfsadmin -safemode leave命令強制離開安全模式
3、namenode上執行hadoop fs -put conf input時,遇到could only be replicated to 0 nodes, instead of 1
hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop
.ipc.RemoteException: java.io.IOException: ... could only be replicated to 0 nodes, instead of 1 ...
解決方法:
(1)防火牆原因
(2)磁盤空間原因
df –ah  #查看磁盤空間
如果是磁盤空間不夠,則調整磁盤空間,推薦一個強大的分區工具GParted 。
(3)把datanode和namenode的hadoop.tmp.dir【在conf/core-site.xml中指定的路徑清空,我設置的是/root/hadoop-1.0.1/tmp,start-all.sh時會建立】
然後執行執行hadoop namenode -format

4、當第二次執行時,如果不刪除已經存在的目錄,會出現org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory output already exists
通過以下命令解決
hadoop fs -lsr / #遞歸顯示當前的目錄結構
 hadoop fs -rmr /user/root/output/ # 遞歸刪除output目錄
再次執行hadoop fs -lsr / 確保已經刪除
5、第二次運行的時候注意:防止目錄存在,當遇到目錄存在的錯誤時,可以刪除目錄,也可以換個目錄,如 hadoop dfs -put test2/ in2 
執行的時候使用hadoop jar hadoop-examples-1.0.1.jar wordcount in2 out2

6、使用集羣的時候遇到:
12/03/11 08:56:30 INFO mapred.JobClient:  map 100% reduce 2%
12/03/11 08:57:29 INFO mapred.JobClient: Task Id : attempt_201203110853_0001_m_000002_0, Status : FAILED
Too many fetch-failures
12/03/11 08:57:30 WARN mapred.JobClient: Error reading task outputConnection refused
12/03/11 08:57:30 WARN mapred.JobClient: Error reading task outputConnection refused
12/03/11 08:57:34 INFO mapred.JobClient:  map 93% reduce 2%
能出結果,只是中間會報錯,未解決
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章