筆者在電腦上配置了Hadoop集群后,電腦上的本地ip發生了改變。在啟動集群時,出現不斷輸入密碼的現象。
[hadoop@wh bin]# sh $HADOOP_HOME/sbin/start-all.sh This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh Starting namenodes on [wh] root@wh's password: wh: Authentication failed. root@wh's password: wh: starting datanode, logging to /home/software/hadoop-2.7.7/logs/hadoop-root-datanode-wh.out Starting secondary namenodes [0.0.0.0] root@0.0.0.0's password: 0.0.0.0: starting secondarynamenode, logging to /home/software/hadoop-2.7.7/logs/hadoop-root-secondarynamenode-wh.out starting yarn daemons starting resourcemanager, logging to /home/software/hadoop-2.7.7/logs/yarn-root-resourcemanager-wh.out root@wh's password: wh: starting nodemanager, logging to /home/software/hadoop-2.7.7/logs/yarn-root-nodemanager-wh.out
出現原因:
OpenSSH協議里,ssh會把你每個你訪問過計算機的公鑰(public key)都記錄在~/.ssh/known_hosts;當下次訪問相同計算機時,OpenSSH會核對公鑰。如果公鑰不同,OpenSSH會發出警告,在更改ip后,信息會發生改變,所以出現這次現象。
解決方法:
-
方法一:
rm -rf ~/.ssh/known_hosts
++++++++++++++++++
優點:干凈利索
缺點:把其他正確的公鑰信息也刪除,下次鏈接要全部重新經過認證
-
方法二:
vi ~/.ssh/known_hosts
刪除對應ip的相關rsa信息(本例可知刪除53行信息即可)
++++++++++++++++++
優點:其他正確的公鑰信息保留
缺點:還要vi,還要找到對應信息,稍微優點繁瑣
-
方法三:
清除舊的公鑰信息
ssh-keygen -R 192.168.0.100
++++++++++++++++++
優點:快、穩、狠
缺點:沒有缺點