沒(méi)有通往主機(jī)的路線意思就是你訪問(wèn)的目標(biāo)地址路由不可達(dá),這個(gè)no route to host的報(bào)錯(cuò)是由于收到icmp路由不可達(dá)報(bào)文而導(dǎo)致的。有網(wǎng)友遇到過(guò)同樣的問(wèn)題,如果是linux,是iptables阻擋造成的,你可以用service iptables stop關(guān)閉iptables試試,或者重新配置local的DNS。在hadoop集群中跑程序 出現(xiàn)NO Route to Host的錯(cuò)誤,原因其實(shí)很簡(jiǎn)單,就是因?yàn)橄到y(tǒng)防火墻沒(méi)有關(guān)。 出現(xiàn)No route to host 的時(shí)候,有如下幾種可能:
1、對(duì)方的域名確實(shí)不通
2、本機(jī)自己開了防火墻
3、本機(jī)的etc/hosts 里面沒(méi)有配置本機(jī)的機(jī)器名和ip(可能性最大)
其中第三點(diǎn)是最貓膩的,在不配置的時(shí)候是間斷性的。
下面先講講hadoop的工作原理 :
Hadoop起源于Google的集群系統(tǒng), Google的數(shù)據(jù)中心使用廉價(jià)Linux PC機(jī)組成集群,在上面運(yùn)行各種應(yīng)用。即使是分布式開發(fā)的新手也可以迅速使用Google的基礎(chǔ)設(shè)施。
其核心組件有3個(gè):
第一個(gè)就是,GFS(Google File System),一個(gè)分布式文件系統(tǒng),隱藏下層負(fù)載均衡,冗余復(fù)制等細(xì)節(jié),對(duì)上層程序提供一個(gè)統(tǒng)一的文件系統(tǒng)API接口;
第二個(gè)是MapReduce,Google發(fā)現(xiàn)大多數(shù)分布式運(yùn)算可以抽象為MapReduce操作。Map是把輸入Input分解成中間的Key/Value 對(duì),Reduce把Key/Value合成最終輸出Output。這兩個(gè)函數(shù)由程序員提供給系統(tǒng),下層設(shè)施把Map和Reduce操作分布在集群上運(yùn)行, 并把結(jié)果存儲(chǔ)在GFS上;
第三個(gè),BigTable,一個(gè)大型的分布式數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)不是關(guān)系式的數(shù)據(jù)庫(kù),而是一個(gè)巨大的表格,用來(lái)存儲(chǔ)結(jié)構(gòu)化的數(shù)據(jù)。