1. 程式人生 > >hadoop-2.7.3搭建過程中遇到的問題及解決方案

hadoop-2.7.3搭建過程中遇到的問題及解決方案

sudo add-apt-repositoryppa:openjdk-r/ppa 
sudo apt-get update  
sudo apt-get install openjdk-7-jdk


問題二:在伺服器新增完公鑰之後,ssh伺服器然後報了這個錯誤

sign_and_send_pubkey:signing failed: agent refused operation



然後執行了以下命令才好。。

解決方案:

eval"$(ssh-agent -s)"
ssh-add


問題三:hadoop重新格式化namenode

因為之前正常啟動過hadoop叢集。所以在hadoop的對應data目錄中,已經有很多相關檔案夾了。我們在格式化之前得先刪除相關資料夾才行。

解決方案:

一、對於master主節點進行操作

1、刪除data、name、namesecondary三個資料夾。

2、刪除mrlocal目錄中的四個資料夾

3、刪除logs資料夾中的所有檔案


二、對Slaves從節點進行操作

刪除對應的資料資料夾。

問題四:報錯 usr/bin/sudo 必須屬於使用者 ID  0 的使用者  並且設定setuid位

因為操作許可權問題,賦予了hadoop(ubuntu使用者)777許可權,結果log檔案增長迅速,不明所以。

而且sudo命令無法正常使用。

網上找了很多從啟動機器的時候進行操作,但是我用的是虛擬機器,而且是不太容易直接進行操作的,因為是單位的伺服器,所以找到了以下方式可以解決:

解決方案:

Su 進入root命令列;

執行

chown root:root  /usr/bin/sudo
chmod 4755  /usr/bin/sudo


問題五:建立Hadoop使用者後,對hadoop資料夾進行授權操作,不能授予root許可權。

cd /usr/local
sudo chown –Rhadoop:hadoop hadoop()


執行

chown root:root  /usr/bin/sudo
chmod 4755  /usr/bin/sudo


問題六:eclipse中開發hadoop需要匯入的包

新建Map/Reduce工程,無需匯入hadoop的jar包。

新建java project需要新增的hadoop相應jar包有:

/hadoop-2.3.0/share/hadoop/common下所有jar包,及裡面的lib目錄下所有jar包

/hadoop-2.3.0/share/hadoop/hdfs下所有jar包,不包括裡面lib下的jar包

/hadoop-2.3.0/share/hadoop/mapreduce下所有jar包,不包括裡面lib下的jar包

/hadoop-2.3.0/share/hadoop/yarn下所有jar包,不包括裡面lib下的jar包

由於要新增的jar包所在的目錄不只一個,為了方便,可以自己建立user library,新增相應的jar包。


問題七:eclipse中開發jena需要匯入的包

Jena ib目錄下的所有jar檔案

問題八:eclipse中開發hbase需要匯入的包

%hbase%/bin目錄下的所有.jar包。

此處應注意,應該是由於根目錄的原因,不能通過eclipse建立user library,再匯入專案中。

而是需要把所有的jar包拷貝到工程根目錄下,再通過build path--》configuare build path--》add external jars,將所有jar包匯入。

否則執行hbase程式會報錯。


問題九:hadoop執行wordcount程式,程式不報錯,但是沒有輸出檔案

在eclipse中對DFS Locations對檔案進行操作,報錯,permission denied。
因為對hdfs沒有寫許可權,所以沒有輸出檔案。


解決方案:
需要在hadoop配置檔案中的hdfs-site.xml中新增配置資訊:

<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>

目的是取消許可權校驗。 重啟hadoop,就可以正常執行程式,得到輸出結果檔案了。

問題十:執行hadoop程式時會報出來警告:SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder

雖然警告再程式裡面不是什麼問題,不影響程式的執行,但是有精力還是去除一下,誰讓是強迫症呢。