有人可以帮助我理解为什么会发生以下情况吗?
$ cd /etc/init.d; sudo service hadoop-hdfs-namenode status
Hadoop namenode is running [ OK ]
$ sudo /etc/init.d/hadoop-hdfs-namenode status
Hadoop namenode is running [ OK ]
$ sudo service /etc/init.d/hadoop-hdfs-namenode status
/etc/init.d/hadoop-hdfs-namenode: unrecognized service
$ cd /etc/init.d; sudo hadoop-hdfs-namenode status
sudo: hadoop-hdfs-namenode: command not found
基本上,我发现如果我在/etc/init.d/
,service
之前必须添加hadoop-hdfs-namenode
才能使其运行,否则command not found
会生成错误。
但如果我在主目录中,不添加也可以service
,实际上,service
在任何地方添加总是错误的。
为什么service
不需要,而且在主目录下添加总是错误?
答案1
通常.
不在您的路径上。所以需要指定脚本运行的路径。如果这是当前目录,则:
[cloudera@quickstart ~]$ cd /etc/init.d; sudo ./hadoop-hdfs-namenode status
对于service
,您不需要在服务名称前面指定路径。这应该可以正常工作:
[cloudera@quickstart ~]$ sudo service hadoop-hdfs-namenode status