上网查过很多解决方案,但是试过还是不太适合,最后还是往公钥的方面想得出得答案,下面为大家提供点思路(有可能自己的踩的坑很笨,不过没所谓,谁不是这么过来的呢嘻嘻)
先看看报出错的worker,我的workers是hadoop100、hadoop102、hadoop103,我印象中是没有这个worker的,进去$HADOOP_HOME/sbin的workers文件一看,发现只有一个localhost。原来之前创建workers的时候打错成了works,所以把worker信息都写在了works里面,随后删掉works,把信息写进workers里。(这个没错的直接跳到下一步)
更改后正常了。没有出现别的worker名字,看上图我用hadoop100跑的代码,但是还是hadoop100报出来的错误,匪夷所思。想起之前做ssh无密登录的时候只把公钥分发到了hadoop102和hadoop103,那现在hadoop100拒绝访问是不是就说我还要分发给hadoop100?于是我便尝试了一下:
果然 就能正常访问了