阿里雲ECS掛載映象後,IP配置的修改
阿新 • • 發佈:2020-10-14
寫篇文章緬懷多哥,多哥真的很優秀。
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叢集,需要給每一個子節點發送一遍。如果主節點也負責儲存,別忘了給本節點也發一個。