许久未写blog了。研究生了已经,不能马马虎虎的学习了,做记录的去学更有帮助吧。
本次遇到的问题困扰我一宿,作为hadoop初学者配置环境这块,真的没有一个好的指导很让人头痛。
先说明我的版本信息:
- centos6.5 64
- hadoop-2.6.4-bin_x64.tar.gz
- vmware15.5 pro
- jdk-8u161-linux-x64.tar.gz(同win10的java)
遇到的问题:当到了给Hadoop配置免密登录设置时,意识到在.ssh/下的文件中没有knows_hosts文件,而我跟的视频中却存在,然后ssh-keygen -t "rsa"生成密码对后输入指令:ssh-copy-id demo01(我的虚拟机名字)出现如下错误:
问题解释:由于我对比着视频进行环境配置的,加上对于基本计算机网络和ip知识的薄弱,我的理解就是我的错误是因为没有视频中老师展示的knows_hosts文件,于是我就很不理解为什么我没有这个文件,一度怀疑镜像文件本身有问题。
解决方法:通过重返第一步一点点看配置,才发现自己一方面没有关闭selinu。另外没有修改主机映射
关闭selinux
vim /etc/selinux/config
SELINUX=disabled
修改主机映射
vim /etc/hosts
10.10.10.11 demo01
成功修改保存后在测试,结果成功:
出现了authorized_keys(已授权的密钥),说明成功
PS:关于known_hosts文件的问题
网上看的解释是
没有很正常呀!
known_host这个文件夹 表示ssh连接时不识别的主机,才会记录到这个文件中。说明你的配置正确,并且没有使用未获得公钥的主机进行ssh连接
也就是说如果你是完全第一次配置hadoop,是不存在known_hosts文件的,只有你连结过,她才会把登录过的host信息记录在文件里。
如下图,利用ssh登录:ssh demo01,再查看文件内容:cat known_hosts后,存在信息。