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,就可以正常執行程式,得到輸出結果檔案了。