【问题标题】:What is best way to start and stop hadoop ecosystem, with command line?使用命令行启动和停止 hadoop 生态系统的最佳方法是什么?
【发布时间】:2016-06-13 16:17:01
【问题描述】:

我知道我们可以通过多种方式启动 hadoop 生态系统,

  1. start-all.sh & stop-all.sh 说不推荐使用 start-dfs.sh 和 start-yarn.sh。

  2. start-dfs.sh, stop-dfs.sh and start-yarn.sh, stop-yarn.sh

  3. hadoop-daemon.sh namenode/datanode and yarn-deamon.sh resourcemanager

编辑:我认为每个命令都必须有一些特定的用例。

【问题讨论】:

  • 参见this for CDH4 "运行服务:启动、停止和重新启动 CDH 组件时,始终使用 service (8) 命令,而不是在 /etc/init.d 中运行脚本这很重要,因为服务将当前工作目录设置为 / 并删除大多数环境变量(仅传递 LANG 和 TERM),以便创建一个可预测的环境来管理服务"
  • 仅供参考 作为一个新手,在 CDH5 和 CentOS 上,我什至找不到 start*/stop*.sh 脚本。相反,服务命令通过 /etc/init.d/(例如,'hadoop-hdfs-datanode')调用 hadoop-daemon.sh start/stop(位于我机器上的 /usr/lib/hadoop/sbin/ )。所以看起来贬值的脚本现在已经被完全删除了?
  • 跟进(为什么我不能编辑?),从源代码我看到了 start*/stop*.sh 脚本,最终调用 hadoop-daemons.sh。 start-all.sh 只是调用 start-dfs.sh 和 start-yarn.sh。 HTH 其他新手。

标签: hadoop


【解决方案1】:

start-all.sh & stop-all.sh : 用于一次性启动和停止 hadoop 守护进程。在主机上发出它将启动/停止集群所有节点上的守护进程。如您所见,已弃用。

start-dfs.sh、stop-dfs.sh 和 start-yarn.sh、stop-yarn.sh : 同上,但在所有节点上分别启动/停止 HDFS 和 YARN 守护进程从主机。现在建议在 start-all.sh 和 stop-all.sh 上使用这些命令

hadoop-daemon.sh namenode/datanode 和 yarn-deamon.sh 资源管理器: 手动启动单个机器上的单个守护进程。您需要转到特定节点并发出这些命令。

用例:假设您已经向集群添加了一个新的 DN,并且您只需要在这台机器上启动 DN 守护程序,

bin/hadoop-daemon.sh start datanode

注意:如果你想从一台机器上启动所有节点上的所有守护进程,你应该启用 ssh。

希望这能回答您的问题。

【讨论】:

  • 为什么不推荐使用 start-allstop-all
【解决方案2】:

来自 Hadoop page

start-all.sh 

这将在您的机器上启动 Namenode、Datanode、Jobtracker 和 Tasktracker。

start-dfs.sh

这将启动 HDFS,Namenode 运行在您运行命令的机器上。在这样的机器上,您需要start-mapred.sh 来单独启动作业跟踪器

start-all.sh/stop-all.sh 必须在 主节点上运行

您将在单节点集群上使用start-all.sh(即,您将在同一节点上拥有所有服务。namenode 也是数据节点并且是主节点)。

多节点设置中,

您将在主节点上使用start-all.sh,并在从属节点上启动必要的操作。

或者,

在您希望 Namenode 运行的节点上使用start-dfs.sh。这将启动 HDFS,其中 Namenode 在您运行命令的机器上运行,Datanodes 在从属文件中列出的机器上运行。

在您计划运行 Jobtracker 的机器上使用 start-mapred.sh。这将启动 Map/Reduce 集群,其中 Jobtracker 运行在您运行命令的机器上,Tasktrackers 运行在从属文件中列出的机器上。

hadoop-daemon.sh 如 Tariq 所述,用于每个单独的节点。主节点不会在从属节点上启动服务。在单节点设置中,这将与start-all.sh 相同。在多节点设置中,您必须访问每个节点(主节点和从节点)并在每个节点上执行其中。

看看 this start-all.sh 它调用 config 然后是 dfsmapred

【讨论】:

  • 是的。但我感兴趣的是所有不同命令的用例。
【解决方案3】:

开始

start-dfs.sh (starts the namenode and the datanode)
start-mapred.sh (starts the jobtracker and the tasktracker)

停止

stop-dfs.sh
stop-mapred.sh

【讨论】:

  • 我认为你弄错了,我问的是什么是最好的开始方式和用例。你提到的,即使我知道......
猜你喜欢
  • 2010-09-26
  • 1970-01-01
  • 1970-01-01
  • 2017-12-11
  • 1970-01-01
  • 2015-01-20
  • 2010-09-07
  • 1970-01-01
  • 2021-12-25
相关资源
最近更新 更多