自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hadoop集群搭建之SSH無密碼登錄配置

運(yùn)維 系統(tǒng)運(yùn)維 Hadoop
在多臺(tái)電腦上搭建Hadoop集群已經(jīng)有一段時(shí)間了,SSH無密碼登錄服務(wù)配置成了一道無法逾越的鴻溝,在啟動(dòng)hadoop集群時(shí),老是讓輸入datanode也就是slave的密碼,但是輸入密碼但卻總是提示permission denied,啟動(dòng)不了datanode。為什么呢?下面就對ssh密碼登錄其他主機(jī)做一個(gè)粗略的說明。

在多臺(tái)電腦上搭建Hadoop集群已經(jīng)有一段時(shí)間了,SSH無密碼登錄服務(wù)配置成了一道無法逾越的鴻溝,在啟動(dòng)hadoop集群時(shí),老是讓輸入datanode也就是slave的密碼,但是輸入密碼但卻總是提示permission denied,啟動(dòng)不了datanode。看了網(wǎng)上有關(guān)hadoop集群搭建之ssh服務(wù)總是千篇一律,不得其法,由于本人是菜鳥一枚,也無法自行快速解決,十分糾結(jié)。機(jī)緣巧合,我遇到一個(gè)對SSH較為熟知的大牛,從他那里獲得啟發(fā),終于完成了ssh無密碼登錄的配置。在這里向他致敬。廢話不多說,下面就對ssh密碼登錄其他主機(jī)做一個(gè)粗略的說明(我使用的系統(tǒng)是Ubuntu12.04 lts,linux 3.2的內(nèi)核,不過這個(gè)對ssh配置應(yīng)該沒有什么影響)。

特別說明:為使在啟動(dòng)Hadoop集群時(shí)不用輸入datanode的密碼,***將所有機(jī)器的用戶名設(shè)為同一個(gè)名字,我會(huì)在文章***給出解釋。我這里用兩臺(tái)機(jī)器做為實(shí)例,兩臺(tái)機(jī)器的用戶名都是hadoop,主節(jié)點(diǎn)的ip為121.49.110.32,一臺(tái)為192.168.0.2。

1.ssh的安裝與配置(兩臺(tái)機(jī)器做同樣的設(shè)置)

1.1 ssh服務(wù)的安裝

打開終端,輸入:

sudo apt-get install openssh-server

程序自動(dòng)安裝。

1.2 ssh服務(wù)的配置

有的網(wǎng)友說在配置ssh前需要關(guān)閉防火墻,我照做了,不過關(guān)閉也應(yīng)該沒有問題。關(guān)閉防火墻的命令“sudo ufw disable”.然后在終端輸入:

ssh-keygen

遇到提示輸入文件名或是密碼的地方不用管,只需按回車鍵即可。完成之后,在/home/username(“username”是登錄名)目錄下會(huì)有生成 一個(gè)".ssh"目錄,“ls .ssh”之后會(huì)發(fā)現(xiàn)里面有兩個(gè)文件,一個(gè)是id_rsa,另一個(gè)是id_rsa.pub,前者是私鑰,后者是公鑰。

在終端輸入:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

建立信任連接列表

在終端輸入:

ssh localhost

如果有錯(cuò)誤提示,類似"ssh: connect to host localhost port22: Connection refused",說明你沒有安裝ssh-client,此時(shí)只需要在終端輸入:

sudo apt-get install openssh-client

安裝完成后,再輸入“ssh localhost”就應(yīng)該沒有問題了。按照提示輸入相關(guān)信息就可以了。

2.無密碼登錄另一臺(tái)主機(jī)(121.49.110.32無密碼登錄192.168.0.2)

在ip為121.49.110.32主機(jī)終端中輸入:

sudo gedit /etc/hosts

在***鍵入:

192.168.0.2Hadoop

保存退出。并在終端中鍵入:

scp ~/.ssh/id_rsa.pubHadoop@192.168.0.2:/home/hadoop/

這里可能會(huì)讓輸入Hadoop@192.168.0.2的主機(jī)密碼,輸入就可以了。

在ip為192.168.0.2的主機(jī)終端中鍵入:

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

建立信任列表。然后回到121.49.110.32的主機(jī)上,終端鍵入:

sshHadoop@192.168.0.2

如果有輸入密碼的提示,直接輸入ip為192.168.0.2的主機(jī)密碼就可以了。實(shí)際上,如果你鍵入:

ssh 192.168.0.2

程序也可能會(huì)提示你輸入Hadoop@192.168.0.2密碼,輸入即可。到此已經(jīng)完成了ssh無密碼登錄的配置工作,如果hadoop集群已經(jīng)好了,在終端中切換到hadoop的安裝目錄下,并輸入:

bin/start-all.sh

你會(huì)發(fā)現(xiàn)程序先是啟動(dòng)namenode,然后啟動(dòng)192.168.0.2上的job tracker,但不會(huì)讓用戶鍵入192.168.0.2的密碼。但是如果你兩臺(tái)主機(jī)的用戶名不一樣,比如說121.49.110.32主機(jī)的用戶名為namenode,而192.168.0.2主機(jī)的用戶名為datanode,系統(tǒng)將讓你輸入“namenode@192.168.0.2”的密碼。此時(shí),你怎么輸入密碼都不能成功啟動(dòng)datanode,這是為什么呢?請看下面:

ssh在登錄其他主機(jī)時(shí)采用的“ ssh 目的主機(jī)用戶名@目的主機(jī)的ip”的模式,如這里“sshHadoop@192.168.0.2”,ip確定唯一主機(jī),用戶名確定主機(jī)上的有效用戶,密碼用于切換到該用戶目錄下。在hadoop的集群中,slave文件中給的是datanode的主機(jī)ip,在啟動(dòng)hadoop的時(shí)候,hadoop會(huì)依照該文件提供的ip地址逐個(gè)啟動(dòng)datanode節(jié)點(diǎn)上的tasktracker和datanode守護(hù)進(jìn)程,但是由于沒有提供datanode主機(jī)的用戶名,因而ssh默認(rèn)以當(dāng)前用戶(假設(shè)為namenode)做為目標(biāo)主機(jī)的用戶(假設(shè)為datanode),但ssh不會(huì)檢測目標(biāo)主機(jī)是否存在該用戶(這顯然不是它的工作),在本機(jī)~/.ssh/known_hosts中沒有存放有namenode@datanode‘s ip,因而需要輸入密碼,但是由于目標(biāo)主機(jī)沒有namenode用戶,因而無論怎么輸入密碼都是錯(cuò)的,或者提示權(quán)限不夠。

所以,如果要搭建Hadoop集群,***將所有機(jī)器的用戶名改成同一個(gè)用戶,這樣會(huì)方便很多。當(dāng)然,這也是我的片面之詞請勿噴我!如果有朋友不這樣做也能將多臺(tái)機(jī)器的hadoop集群搭建成功也歡迎分享,供大家選擇。歡迎大家積極交流,一個(gè)人抗?fàn)?,能力,精力始終有限^_^。

責(zé)任編輯:黃丹 來源: Linux社區(qū)
相關(guān)推薦

2012-06-28 10:52:06

Hadoop集群

2016-10-27 09:37:10

Hadoop集群配置

2011-12-07 16:11:50

Hadoop集群搭建

2017-06-22 08:58:51

Hadoopssh+IPssh+

2010-06-04 17:43:12

Hadoop集群搭建

2010-03-10 16:16:53

Linux ssh無密

2010-03-10 16:47:53

2014-03-17 10:05:45

Hadoop集群

2021-04-19 08:52:58

Hadoop集群搭建Python

2010-06-03 19:02:31

Hadoop集群搭建

2010-06-04 18:17:50

Hadoop集群

2023-09-13 22:54:06

2022-02-25 08:28:10

身份驗(yàn)證無密碼登錄密碼

2010-06-04 18:06:22

Hadoop集群搭建

2017-08-10 10:17:32

Hadoop分布式搭建

2012-11-01 17:15:04

2012-05-08 11:14:27

LinuxOpenSSHSSH

2012-09-28 10:12:55

2015-10-21 11:03:21

ssh登錄Linux

2018-06-15 16:05:06

服務(wù)器無密碼驗(yàn)證登錄安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)