不需要服务状态关键字“service”

不需要服务状态关键字“service”

有人可以帮助我理解为什么会发生以下情况吗?

$ 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

相关内容