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,否则可以尝试关闭防火墙

### 回答1: 这个错误提示意味着系统无法找到hadoop-env.sh命令。可能是因为该命令不存在或者没有正确设置环境变量。您可以尝试检查hadoop安装目录下是否存在hadoop-env.sh文件,并且确保环境变量已经正确设置。如果问题仍然存在,您可以尝试重新安装hadoop或者寻求其他解决方案。 ### 回答2: “hadoop-env.sh未找到命令”这个错误是在Hadoop安装和使用过程出现的常见问题之一。通常情况下,这是由于Hadoop环境变量没有正确配置或被更改了导致的。针对这个问题,我们可以采取以下步骤来解决: 1. 查看hadoop-env.sh文件是否存在 首先需要确认hadoop-env.sh文件是否存在于Hadoop的安装目录。如果文件不存在,则可以重新下载Hadoop并重新安装。 2. 检查hadoop-env.sh文件的路径是否正确 如果hadoop-env.sh文件存在,但仍然出现“未找到命令”的错误提示,就需要检查Hadoop的环境变量是否配置正确。可以通过以下命令查看Hadoop的环境变量: $ echo $HADOOP_HOME 该命令将输出Hadoop安装目录的路径。如果该路径不正确,可以使用以下命令修改环境变量: $ export HADOOP_HOME=/path/to/hadoop“/path/to/hadoop”是Hadoop所在的路径。 3. 执行hadoop-env.sh文件 在确认Hadoop的环境变量已经正确配置之后,可以尝试执行hadoop-env.sh文件,命令如下: $ source $HADOOP_HOME/etc/hadoop/hadoop-env.sh 如果执行成功,应该可以在命令行看到一些Hadoop的配置信息。 4. 重新启动Hadoop服务 最后,如若步骤没有解决问题,可以尝试重新启动Hadoop服务。可以通过以下命令关闭和启动Hadoop: $ stop-all.sh $ start-all.sh 总之,如果出现“hadoop-env.sh未找到命令”的错误,首先要检查Hadoop的环境变量是否正确配置,然后执行hadoop-env.sh文件。如果步骤没有解决问题,可以尝试重新启动Hadoop服务。 ### 回答3: Hadoop是一个非常流行的分布式计算平台,它可以很好地处理大规模数据的分布式存储和处理。Hadoop环境的配置对于使用Hadoop来说非常重要,它决定了Hadoop的运行状态。 而hadoop-env.sh未找到命令的问题,一般是由于以下几个原因: 1. 没有正确配置Hadoop环境变量 hadoop-env.shHadoop的环境变量脚本,它负责对Hadoop的环境变量进行配置。如果该脚本未能找到命令,那么很可能是由于环境变量没有正确配置。 解决办法:可以在hadoop-env.sh加入正确的环境变量配置,如JAVA_HOME、HADOOP_HOME等,以确保Hadoop的正常运行。 2. hadoop-env.sh文件不存在 如果hadoop-env.sh文件不存在,那么Hadoop将无法正确加载其环境变量。 解决办法:可以通过在Hadoop安装路径下使用命令查找hadoop-env.sh文件的路径,然后将其路径添加到环境变量。如果找不到该文件,则需要重新安装Hadoop。 3. 系统权限问题 Hadoop需要正确的系统权限才能运行。如果当前用户没有足够的权限,那么将无法正常启动Hadoop解决办法:可以尝试以管理员身份运行Hadoop相关命令,以获得足够的权限。 总之,hadoop-env.sh未找到命令的问题需要根据具体原因来解决。通过正确配置环境变量、找到并加载hadoop-env.sh文件,以及获得足够的系统权限,可以解决这个问题,并确保Hadoop的正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值