問題一:
【namenode無法啟動(dòng),這個(gè)問題有很多原因,雖然說應(yīng)該參照日志文件進(jìn)行排錯(cuò),但是我試著看了下日志文件,真的是很難看的。不過這里我給出一個(gè)常見的錯(cuò)誤:】
(1)在core-site.xml中指定了如下配置:(就是使用了默認(rèn)的設(shè)置)
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop/hadoop-${user.name}</value>
</property>
但是tmp會(huì)在啟動(dòng)的時(shí)候清空,而dfs的數(shù)據(jù)就會(huì)變得不一致,導(dǎo)致啟動(dòng)失敗,可以重新更改位置:
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop/hadoop-${user.name}</value>
</property>
然后執(zhí)行: hadoop namenode -format 命令(由于namenode數(shù)據(jù)存儲(chǔ)目錄變更,namenode需要重新格式化)
重啟后即可。
我出錯(cuò)使用了一個(gè)種比較愚蠢的做法,我把namenode所在的結(jié)點(diǎn)的tmp文件夾和logs文件夾全部刪除,重新創(chuàng)建,然后重新格式化namenode重啟hadoop集群,但是,這么做的結(jié)果就是,我發(fā)現(xiàn)重啟hadoop集群后,namenode是跑起來了可是datanode又跑不起來了,于是我索性將slaves結(jié)點(diǎn)上的tmp文件夾河logs文件夾都刪除重新創(chuàng)建了下,最后格式化namenode,格式化的時(shí)候是沒問題,但是當(dāng)啟動(dòng)的時(shí)候一大堆的問題,體現(xiàn)最明顯的就是權(quán)限問題,我馬上想起來了,因?yàn)槠椒驳脑趓oot和grid用戶之間切換創(chuàng)建文件夾,所以,當(dāng)用grid用戶進(jìn)行某些操作時(shí)就會(huì)出現(xiàn)權(quán)限問題,所以,沒辦法,又得改權(quán)限了(改的時(shí)候先切換到root下再改):
<span style="font-size:18px;">chown –R grid:grid /usr/hadoop/tmp
sudo chmod -R a+w /usr/local/hadoop</span>
改完后重新啟動(dòng),就OK了,全部啟動(dòng)沒有問題!
問題二
【使用secureCRT中文亂碼問題:】
1,修改遠(yuǎn)程linux機(jī)器的配置 vim /etc/sysconfig/i18n
把LANG改成支持UTF-8的字符集
如:
LANG=”zh_CN.UTF-8″
或者是
LANG=”en_US.UTF-8″
2,然后再改Secure CRT的設(shè)置
選項(xiàng)->會(huì)話選項(xiàng)->外觀->字符編碼->uft-8
3,退出,再重新登錄。發(fā)現(xiàn)utf8的文件都能正確讀了,utf8的文件名也能正確顯示了
(另外補(bǔ)充一點(diǎn)的是,如果改完后,中文顯示成問號(hào)了,這種情況下,果斷換一個(gè)secure CRT!!!。我就遇到了這情況,換了一個(gè)立馬見效。
這里給大家一個(gè)我試過的沒問題的SecureCRT:http://pan.baidu.com/s/1jG4zXZo
問題三
ecureCRT中文亂碼問題是解決了,那么如何才能讓secureCRT像在linux中一樣顯示有顏色呢?
SecureCRT 設(shè)置彩色和顯示中文】
設(shè)置Options->SessionOptions ->Emulation,然后把Terminal類型改成xterm,并點(diǎn)中ANSI Color復(fù)選框。
字體設(shè)置:Options->SessionOptions->Appearance->font然后改成你想要的字體就可以了。
注意:
1:字符集選擇utf8,這樣可以避免顯示漢字亂碼
2:選擇字體的時(shí)候,需要選擇ture type的字體(如新宋體),不然會(huì)出現(xiàn)漢字亂碼
3:scrollback buffer 調(diào)大(5000),這樣你就可以看到以前顯示內(nèi)容,這樣方便很多
4:terminal要選擇xtem,這樣你ssh到服務(wù)器上才能 顯示顏色 ,并把ANSI Color打上
5:我選擇的顏色方案Windows或Traditional。