7. 操纵 Hadoop 集群

所有必备的配置都完成了,分发 HADOOP_CONF_DIR 配置文件到所有机器,所有机器安装 Hadoop 目录的路径应该是一样的。

在一般情况下,建议 HDFS 和 YARN 作为单独的用户运行。在大多数安装中,HDFS 执行 “hdfs”。YARN 通常使用“yarn”帐户。

Hadoop 启动

为了启动 Hadoop 集群,你需要启动 HDFS 和 YARN 集群。

第一次使用 HDFS 需要格式化。 作为 hdfs 格式化新分发的文件系统:

  1. [hdfs]$ $HADOOP_PREFIX/bin/hdfs namenode -format <cluster_name>

作为 hdfs,通过如下命令启动 HDFS NameNode 到指定的节点 :

  1. [hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start namenode

作为 hdfs,通过如下命令启动 HDFS DataNode 到每个指定的节点 :

  1. [hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemons.sh --config $HADOOP_CONF_DIR --script hdfs start datanode

作为 hdfs,如果 etc/hadoop/slaves 和 ssh 可信任访问已经配置,那么所有的 HDFS 进程都可以通过脚本工具来启动:

  1. [hdfs]$ $HADOOP_PREFIX/sbin/start-dfs.sh

作为 yarn,通过下面的命令启动 YARN,运行指定的 ResourceManager :

  1. [yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR start resourcemanager

作为 yarn,运行脚本来启动从机上的所有 NodeManager:

  1. [yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemons.sh --config $HADOOP_CONF_DIR start nodemanager

作为 yarn,启动本地化的 WebAppProxy 服务器。如果想使用大量的服务器来实现负载均衡,那么它就应该运行在它们各自机器之上:

  1. [yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR start proxyserver

作为 yarn,如果 etc/hadoop/slaves 和 ssh 可信任访问已经配置,那么所有的 YARN 进程都可以通过脚本工具来启动:

  1. [yarn]$ $HADOOP_PREFIX/sbin/start-yarn.sh

作为 mapred,根据下面的命令启动 MapReduce JobHistory Server :

  1. [mapred]$ $HADOOP_PREFIX/sbin/mr-jobhistory-daemon.sh --config $HADOOP_CONF_DIR start historyserver

Hadoop 关闭

作为 hdfs,通过以下命令停止 NameNode:

  1. [hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs stop namenode

作为 hdfs,运行脚本停止在所有从机上的所有 DataNode:

  1. [hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemons.sh --config $HADOOP_CONF_DIR --script hdfs stop datanode

作为 hdfs,如果 etc/hadoop/slaves 和 ssh 可信任访问已经配置,那么所有的 HDFS 进程都可以通过脚本工具来关闭:

  1. [hdfs]$ $HADOOP_PREFIX/sbin/stop-dfs.sh

作为 yarn,通过以下命令停止 ResourceManager:

  1. [yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR stop resourcemanager

作为 yarn,运行一下脚本停止 slave 机器上的 NodeManager :

  1. [yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemons.sh --config $HADOOP_CONF_DIR stop nodemanager

作为 yarn,如果 etc/hadoop/slaves 和 ssh 可信任访问已经配置,那么所有的 YARN 进程都可以通过脚本工具来关闭

  1. [yarn]$ $HADOOP_PREFIX/sbin/stop-yarn.sh

作为 yarn,停止 WebAppProxy 服务器。由于负载均衡有可能设置了多个:

  1. [yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR stop proxyserver

作为 mapred,通过以下命令停止 MapReduce JobHistory Server :

  1. [mapred]$ $HADOOP_PREFIX/sbin/mr-jobhistory-daemon.sh --config $HADOOP_CONF_DIR stop historyserver