1.1 引言
之前学云计算的时候只是单纯在实验室操作了一下,很多步骤都忘记了,找攻略的时候也很杂,于是记录最近在自己电脑上搭建Hadoop的时候遇到的一些问题以及相关的解决方案。
在安装Hadoop的同时,我发现hadoop-3.x版本中的hadoop-env.sh文件已经没有可供java环境配置更改的情况。因此如果想要安装hadoop-3.x的小伙伴可以参考一下3.x的配置文件修改方案,其余的步骤大致相同。
1.2 教程链接
先放搭建Hadoop集群的教程链接:
Hadoop-2.x:https://blog.csdn.net/weixin_44898710/article/details/109832031
Hadoop-3.x:https://blog.csdn.net/selfsojourner/article/details/45171199
2.1 常见问题
2.1.1 传输Hadoop的安装包时winscp ssh连不上怎么办?
首先检查主机与虚拟机之间是否能ping通。
查看本机ip的方式:
win+R输入cmd,如下图。
命令框中输入ipconfig,找到下图所示的ipv4地址即为本机的ip。
解决方案一:不能互相ping通,则通过vim /etc/sysconfig/network-scripts/ifcfg-ens33配置ip地址、网关和子网掩码、DNS等信息,将ONBOOT改成yes。
解决方案二:如果已经设置好ens33,但仍然出现请求超时的情况,主机能够ping通的前提下可以考虑直接ssh连接主机,如果连接不上则尝试在主机上安装OpenSSH。
在win10上安装OpenSSH的方法如下:Win10内置的OpenSSH如何安装?Win10中安装OpenSSH的方法_windows10_Windows系列_操作系统_脚本之家 (jb51.net)https://www.jb51.net/os/win10/644881.html#:~:text=Win10%E4%B8%AD%E5%AE%89%E8%A3%85OpenSSH%E7%9A%84%E6%96%B9%E6%B3%95%201%E3%80%81%E5%9C%A8%E5%BC%80%E5%A7%8B%E5%9B%BE%E6%A0%87%E4%B8%8A%E5%8F%B3%E9%94%AE%EF%BC%8C%E7%84%B6%E5%90%8E%E7%82%B9%E5%87%BB%E5%BA%94%E7%94%A8%E5%92%8C%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%A6%82%E4%B8%8B%E5%9B%BE%202%E3%80%81%E7%82%B9%E5%87%BB%E7%AE%A1%E7%90%86%E5%8F%AF%E9%80%89%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%A6%82%E4%B8%8B%E5%9B%BE%203%E3%80%81%E7%82%B9%E5%87%BB%E6%B7%BB%E5%8A%A0%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%A6%82%E4%B8%8B%E5%9B%BE%204%E3%80%81%E5%9C%A8%E5%8F%AF%E9%80%89%E5%8A%9F%E8%83%BD%E5%88%97%E8%A1%A8%E4%B8%AD%E5%8D%B3%E5%8F%AF%E7%9C%8B%E5%88%B0%E2%80%9COpenSSH%20Client,%EF%BC%88Beta%EF%BC%89%E5%AE%A2%E6%88%B7%E7%AB%AF%20%E5%92%8C%20OpenSSH%20Server%20%EF%BC%88Beta%EF%BC%89%20%E6%9C%8D%E5%8A%A1%E2%80%9D%E3%80%82
解决方案三:如果在虚拟机上使用ifconfig的命令发现没有ens33的情况下,一种可能:systemctl restart network.service后不报错,再尝试ping通;另一种情况就是重启failed了,这个时候需要如下的两个命令:systemctl stop NetworkManager,systemctl disable NetworkManager然后再输入systemctl restart network.server;此时再查看ifconfig,发现出现ens33,ping百度能够ping通。
2.1.2 java路径没有错,但是在start-all.sh命令后yarn却找不到目标文件
尽管认为路径没有错,但还是要检查一下自己的路径是不是在bin的上一级目录,一般情况下,JAVA_HOME一定是在bin的上一级目录才有效。
如果确认路径无误,则需要考虑是否是安装linux时自带的java,linux自带的java往往缺少很多启动hadoop和yarn时的必要文件,一定不要觉得自己的虚拟机上已经有linux了就偷懒省掉yum的步骤。
2.1.3 hadoop命令一定要在sbin和bin的目录下使用吗
vim /etc/profile配制好profile文件后一定要记得用source /etc/profile刷新一下。但是配置完/etc/profile之后不一定能生效,需要相同的方式配置~/.bashrc。
两者的具体区别如下:(76条消息) 【笔记】etc/profile和~/.bashrc的区别_ZoeYen_-CSDN博客_/etc/profile和.bashrc的区别https://blog.csdn.net/ZoeYen_/article/details/78560905
配置~/.bashrc:“hadoop:未找到命令”解决办法 - Someday&Li - 博客园 (cnblogs.com)https://www.cnblogs.com/somedayLi/p/9750373.html
2.1.4 如何看JAVA_HOME(原文补充)
安装Hadoop2.x的相关文章中作者贴了一个配置JAVA_HOME的教程,但是页面打不开,在这里给大家补充一下:linux 查看JAVA_HOME,配置环境变量 - xiaoxingx - 博客园 (cnblogs.com)https://www.cnblogs.com/huaisn/articles/14499330.html