解决在命令行中出现/usr/local/hadoop/libexec/hadoop-functions.sh: 行 1185: dirname: 未找到命令

问题描述:

在部署了hadoop后,进入到终端和输入source  ~/.bashrc后出现

解决在命令行中出现/usr/local/hadoop/libexec/hadoop-functions.sh: 行 1185: dirname: 未找到命令_第1张图片

hadoop已经安装了很久了,都没有遇到这样的问题 ,突然出现,有点猝不及防。

问题分析与排查:

1.出现这个问题的时候,我第一反应是我自己在配置其他软件的环境变量的时候修改了配置文件,在不注意的情况下输入了其他的字符,导致文件的中的变量有所变化,但是我打开环境变量的配置文件的时候,没有检查到有什么异常,都是我现在配置的或者是以前就已经配置好并且没有出错过的,为什么是这么说,是在配置完成后我都在使用,并没有报错,而是过了一段时间后在报的错啊。

2.由于前面安装过wine,今天把它卸载了,我也删除了一些相关的依赖文件,我在想是不是自己删除了什么相关的文件。

3.在看到报错后,我到报错的文件中,找到对应的代码,这些文件从来没有打开过,不可能是我自己在这个文件上的不当操作导致的,因为我从来就没有操作过相关文件。

4.在根据2 3的猜测后,我更新尝试更新软件,但是结果还是不变。在尝试这些方法都没有结果的时候,我已经不知道怎么办了,在网上也没看到别人遇到相关的问题,于是我问了一些网友,给我的回复是环境中的变量dirname basename变量被改动过,但是我根本就不知道这这两个变量在哪里,怎么被改动的啊。

5.在尝试了这些方式后,我决定从环境配置文件中着手,经网上查询得到 初始的.bashrc文件会被系统备份到 /etc/skel目录下,将现在的.bashrc文件备份后,我用系统备份的.bashrc将其覆盖,结果,上面的问题没有了,这下我确定了问题就出现在.bashrc文件中

6.根据问题在/usr/local/hadoop/libexec/hadoop-function.sh中,我想应该是hadoop的相关配置有问题,于是我删除了hadoop的相关配置语句,在删除到export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH这条语句的时候,果然没有了错误,我也不知道这条是什么时候被引进来的,不过我可以确定的是不是今天引进来的,应该是前期在搭建hadoop环境的时候,自己参考被人的方法安装的时候引进来的,现在我将其删除后,并不影响hadoop的启动。

 

你可能感兴趣的:(hadoop)