hadoop中的ssh無密碼登入配置

來源:互聯網
上載者:User

目標:

在配置hadoop分布式安裝過程中,需要配置ssh的無密碼登入。在組建hadoop叢集的時候,需要多台實體機進行通訊(發送或者讀取資料,namenode和datanode之間)就是藉助ssh,在通訊過程中如果需要操作人員頻繁輸入密碼是不切實際的,所以需要ssh的無密碼登入。

環境:

  • 主機qiuchenl0,namenode,ubuntu12.04 作業系統,使用者名稱qiuchenl
  • 從機qiuchenl1,datanode,fedora14 作業系統,使用者名稱qiuchenl
  • JDK1.7
  • Hadoop 0.20.205.0
  • HBase 0.90.5

配置:

首先請確保防火牆都處於關閉狀態,具體命令是ufs disable。並確保安裝ssh spenssh-server。

在主機qiuchenl0中執行以下命令:

  1. cd ~/.ssh     (進入使用者目錄下的隱藏檔案.ssh)
  2. ssh-keygen -t rsa   (用rsa產生密鑰)
  3. cp id_rsa.pub authorized_keys   (把公開金鑰複製一份,並改名為authorized_keys,這步執行完,應該ssh localhost可以無密碼登入本機了,可能第一次要密碼)
  4. scp authorized_keysqiuchenl@qiuchenl1:/home/qiuchenl/.ssh  (把重新命名後的公開金鑰通過ssh提供的遠程複製檔案複製到從機qiuchenl1上面)
  5. chmod 600 authorized_keys    (更改公開金鑰的許可權,也需要在從機qiuchenl1中執行同樣代碼)
  6. ssh qiuchenl1  (可以遠程無密碼登入qiuchenl1這台機子了,注意是ssh不是sudo ssh。第一次要求輸入密碼,以後不再要求輸入密碼)


注意:

在安裝分布式hadoop過程中,需要將所有機子的使用者名稱改為一樣,如我的例子:qiuchenl。在linux下,有“主機名稱”和“使用者名稱”之分。“主機名稱”相當與機子的IP,是該機子的唯一標識(可以用命令hostname來查看本機主機名稱),而一個作業系統可以有多個使用者,每個使用者都有使用者名稱,如我的qiuchenl(root也是一個使用者,只不過許可權比較大)。

我們如果要訪問其他主機,都是通過對方的ip來訪問,比如ping 192.168.2.166.既然主機名稱也是標識,為什麼不能ping qiuchenl0呢。因為當前機子步識別這個主機名稱,需要修改/etc/profile檔案如下:

現在就把ip和主機名稱一一對應起來,也就可以ping qiuchenl0了。

下面迴歸正題,ssh遠程登入其他機子,是登入那個機子的某個使用者,所以在上面的第四步 我是把公開金鑰檔案拷貝到qiuchenl1主機下的qiuchenl使用者,所以我只能遠端控制該使用者。再看上面第6步,要登入qiuchenl1的qiuchenl使用者,命令應該是ssh qiuchenl@qiuchenl1,為什麼是ssh qiuchenl1就可以呢。因為ssh qiuchenl1 會預設以當前主機的使用者名稱(也就是qiuchenl0的qiuchenl)來遠程登入。因為qiuchenl0和qiuchenl1兩個機子的使用者名稱都是qiuchenl,所以可以用ssh
qiuchenl1代替 ssh qiuchenl@qiuchenl1.如果qiuchenl1這台主機沒有qiuchenl這個使用者,那麼ssh qiuchenl1就無法使用。

最後:

既然可以用ssh qiuchenl@qiuchenl1 代替ssh qiuchenl1,就沒有必要讓hadoop每台自己的使用者名稱一樣。這樣想是不對的。因為ssh遠程無密碼登入可以用ssh qiuchenl@qiuchenl1。但是hadoop內部是不會這樣智能處理的。所以在配置hadoop叢集時,要把所有機子的使用者名稱設定一樣。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.