搭建了很多次hadoop2.2.0了,嘗試過(guò)很多不同的啟動(dòng)方法、配置參數(shù)、位置,其中涉及到到底要不要配置SSH免密碼登錄的問(wèn)題
先是搞清楚為什么需要SSH免密碼登錄
SSH免密碼登錄操作步驟:
... ...
在hadoop2.2.0中有三種啟動(dòng)方式:
三種啟動(dòng)方式在實(shí)驗(yàn)階段都可以使用,只不過(guò)第一種更適合于生產(chǎn)環(huán)境。
第一種不需要配置SSH免密碼登錄,第二種和第三鐘需要,為什么?
第一種是逐一啟動(dòng)每一臺(tái)機(jī)器的每一個(gè)進(jìn)程,就是說(shuō)如果是完全分布式環(huán)境,有多少臺(tái)機(jī)器我就要在每臺(tái)機(jī)器上使用這個(gè)命令去啟動(dòng)對(duì)應(yīng)的命令,如在namenode上啟動(dòng)namenode就要使用sbin/hadoop-daemon.sh start namenode這個(gè)命令,在datanode上啟動(dòng)datanode,就要使用sbin/hadoop-daemon.sh start datanode這個(gè)命令,對(duì)應(yīng)的yarn進(jìn)程啟動(dòng)也一樣,不過(guò)是使用yaen-daemon.sh。
而第二種和第三種是一種只在namenode上使用就可以啟動(dòng)整個(gè)集群的方便方式,它的原理是根據(jù)配置文件啟動(dòng)namenode上的對(duì)應(yīng)進(jìn)程然后再通過(guò)SSH協(xié)議登錄到slave上啟動(dòng)對(duì)應(yīng)的進(jìn)程。

說(shuō)到這已經(jīng)明白了,那么我以前的一種說(shuō)法或者一種認(rèn)識(shí)就是錯(cuò)的。
因?yàn)橹恍枰猲amenode遠(yuǎn)程登錄到slave中啟動(dòng)對(duì)應(yīng)進(jìn)程,所以所有slave只需要擁有namenode的公鑰就行了,不需要擁有其他slave的公鑰。
不過(guò)我引出一種猜想,反正namenode和slave的信息是在配置文件中讀出來(lái)的,所以如果slave能SSH免密碼登錄namenode,那么是不是就可以在namenode上格式化文件系統(tǒng),而在某臺(tái)slave上啟動(dòng)集群?呵呵。
那其他地方不用SSH協(xié)議了嗎?
答案是不用了,只有啟動(dòng)的時(shí)候才用。(我現(xiàn)在的認(rèn)識(shí))
其他如心跳等是用了RPC協(xié)議,web UI使用了HTTP協(xié)議,所以在hadoop中RPC協(xié)議、HTTP協(xié)議遠(yuǎn)比SSH協(xié)議重要的多
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注