1. 程式人生 > 實用技巧 >阿里雲ECS掛載映象後,IP配置的修改

阿里雲ECS掛載映象後,IP配置的修改

寫篇文章緬懷多哥,多哥真的很優秀。

1.問題背景

在購買ECS並掛載第三方映象市場的映象時,往往新建例項還保留了原映象中的IP,導致軟體或服務異常。

以Hadoop為例,如果我們在購買ECS時,選擇了內建Hadoop的映象。直接執行時會出現:

當時還是linux小白的我慌得很。

2.解決方案

2.1 把/etc/hosts裡過期的IP刪掉

在檢視hosts時,我們可以

2.2 把.ssh目錄下的known_hosts檔案刪除

我們如果搭建Hadoop叢集,一定會通過ssh命令實現叢集間的無密碼訪問。

eg.

第一步:在本地機器上使用ssh-keygen產生公鑰私鑰對

$ ssh-keygen

第二步:用ssh-copy-id將公鑰複製到遠端機器中

$ ssh-copy-id -i .ssh/id_rsa.pub 使用者名稱字@192.168.x.xxx

注意: ssh-copy-id命令 可以把本地主機的公鑰複製到遠端主機的authorized_keys檔案上,ssh-copy-id命令也會給遠端主機的使用者主目錄(home)和~/.ssh, 和~/.ssh/authorized_keys設定合適的許可權。

第三步: 登入到遠端機器不用輸入密碼

$ ssh 使用者名稱字@192.168.x.xxx

$ Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2

ssh會把你每個你訪問過計算機的公鑰(public key)都記錄在~/.ssh/known_hosts。

如果使用映象新建ECS例項的話,這個映象中舊的known_hosts,authorized_keys對我們來說就沒有用了。

重新使用ssh-copy-id命令傳送sshkey

對於hadoop叢集,需要給每一個子節點發送一遍。如果主節點也負責儲存,別忘了給本節點也發一個。