hadoop学习中的常见问题及解决办法

2021/6/22 0:00:20

本文主要是介绍hadoop学习中的常见问题及解决办法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.hadoop:找不到命令

原因:没有配置环境变量
解决办法:
在Linux环境内下输入export PATH=$PATH:/usr/local/hadoop/bin,检查hadoop命令是否可用 输入hadoop version
使hadoop命令永久生效方法:

如果第二次开机后,仍旧提示“hadoop:未找到命令”,那就是上次修改的$PATH 路径没有保存。

解决这个问题,就是直接将其添加到配置文件,有的配置文件在/etc/profile,有的在.bashrc文件里,我的是在.bashrc 中,下面将以此为例添加PATH路径。

vim ~/.bashrc #添加“ export PATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin ",引号中的内容,保存后退出
source ~/.bashrc #使修改后的 .bashrc文件生效
hadoop version #测试修改是否成功

2.bash ./ 没有那个文件或目录

ls明明有文件,但linux脚本执行会报错没有那个文件或目录
原因:没有32位的运行库 ia32-libs
解决办法:
sudo dpkg --add-architecture i386
sudo apt -get update
sudo apt-get dist-upgrade
如不成功尝试apt-get -f install 修复下载即可

3.无法启动start-dfs.sh

解决办法:
在解压的hadoop文件中的sbin文件中
vi 并编辑start-dfs.sh与stop-dfs.sh

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs 
HDFS_NAMENODE_USER=root 
HDFS_SECONDARYNAMENODE_USER=root

在这里插入图片描述
vi 并编辑start-yarn.sh与stop-yarn.sh

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

在这里插入图片描述
再次重启dfs和yarn就能解决

4.开启集群后输入jps后缺少进程

解决:查看5个配置文件:slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
修改文件workers
修改在/usr/local/hadoop/etc/hadoop目录下的配置文件workers
将内容修改为Slave1

修改文件core-site.xml
修改在/usr/local/hadoop/etc/hadoop目录下的配置文件core-site.xml
将内容修改为如下

在这里插入图片描述

修改文件hdfs-site.xml
修改在/usr/local/hadoop/etc/hadoop目录下的配置文件hdfs-site.xml
将内容修改为如下

在这里插入图片描述

修改文件mapred-site.xml
修改在/usr/local/hadoop/etc/hadoop目录下的配置文件mapred-site.xml
将内容修改为如下

在这里插入图片描述

修改文件 yarn-site.xml
修改在/usr/local/hadoop/etc/hadoop目录下的配置文件yarn-site.xml
将内容修改为如下

在这里插入图片描述

5.hadoop集群启动namenode成功,而datanode未启动

原因:namenode的集群ID和datanode的集群ID不一致,导致只启动了namenode而未启动datanode
首先切换到存放namenode和datanode数据文件的目录

cd data/tmp/dfs/

查看NameNode的集群ID

vim name/current/VERSION

复制namenode的集群ID,替换datanode的集群ID
打开DataNode的集群ID,用NameNode的集群ID去替换它

vim data/current/VERSION 

6.JAVA_HOME is not set and could not be found.

在“/usr/local/hadoop/etc/hadoop/hadoop-env.sh”里面找到“export JAVA_HOME=${JAVA_HOME}”这行,然后,把它修改成JAVA安装路径的具体地址

7.虚拟机和主机相互ping不通

原因:
1.虚拟机防火墙禁ping
2.桥接设置的ip有冲突或者是虚拟机桥接服务不正常。
检查:
1.检查虚拟网卡有没有被禁用
2.检查虚拟机与物理机是否在一个VMNet中
3.检查虚拟机的IP地址与物理机对应的VMNet是否在一个网段
4.检查虚拟机与物理机的防火墙是否允许PING,否则可以尝试关闭防火墙



这篇关于hadoop学习中的常见问题及解决办法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程