7. 操纵 Hadoop 集群
所有必备的配置都完成了,分发 HADOOP_CONF_DIR 配置文件到所有机器,所有机器安装 Hadoop 目录的路径应该是一样的。
在一般情况下,建议 HDFS 和 YARN 作为单独的用户运行。在大多数安装中,HDFS 执行 “hdfs”。YARN 通常使用“yarn”帐户。
Hadoop 启动
为了启动 Hadoop 集群,你需要启动 HDFS 和 YARN 集群。
第一次使用 HDFS 需要格式化。 作为 hdfs 格式化新分发的文件系统:
[hdfs]$ $HADOOP_PREFIX/bin/hdfs namenode -format <cluster_name>
作为 hdfs,通过如下命令启动 HDFS NameNode 到指定的节点 :
[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start namenode
作为 hdfs,通过如下命令启动 HDFS DataNode 到每个指定的节点 :
[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemons.sh --config $HADOOP_CONF_DIR --script hdfs start datanode
作为 hdfs,如果 etc/hadoop/slaves
和 ssh 可信任访问已经配置,那么所有的 HDFS 进程都可以通过脚本工具来启动:
[hdfs]$ $HADOOP_PREFIX/sbin/start-dfs.sh
作为 yarn,通过下面的命令启动 YARN,运行指定的 ResourceManager :
[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR start resourcemanager
作为 yarn,运行脚本来启动从机上的所有 NodeManager:
[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemons.sh --config $HADOOP_CONF_DIR start nodemanager
作为 yarn,启动本地化的 WebAppProxy 服务器。如果想使用大量的服务器来实现负载均衡,那么它就应该运行在它们各自机器之上:
[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR start proxyserver
作为 yarn,如果 etc/hadoop/slaves
和 ssh 可信任访问已经配置,那么所有的 YARN 进程都可以通过脚本工具来启动:
[yarn]$ $HADOOP_PREFIX/sbin/start-yarn.sh
作为 mapred,根据下面的命令启动 MapReduce JobHistory Server :
[mapred]$ $HADOOP_PREFIX/sbin/mr-jobhistory-daemon.sh --config $HADOOP_CONF_DIR start historyserver
Hadoop 关闭
作为 hdfs,通过以下命令停止 NameNode:
[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs stop namenode
作为 hdfs,运行脚本停止在所有从机上的所有 DataNode:
[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemons.sh --config $HADOOP_CONF_DIR --script hdfs stop datanode
作为 hdfs,如果 etc/hadoop/slaves
和 ssh 可信任访问已经配置,那么所有的 HDFS 进程都可以通过脚本工具来关闭:
[hdfs]$ $HADOOP_PREFIX/sbin/stop-dfs.sh
作为 yarn,通过以下命令停止 ResourceManager:
[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR stop resourcemanager
作为 yarn,运行一下脚本停止 slave 机器上的 NodeManager :
[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemons.sh --config $HADOOP_CONF_DIR stop nodemanager
作为 yarn,如果 etc/hadoop/slaves
和 ssh 可信任访问已经配置,那么所有的 YARN 进程都可以通过脚本工具来关闭
[yarn]$ $HADOOP_PREFIX/sbin/stop-yarn.sh
作为 yarn,停止 WebAppProxy 服务器。由于负载均衡有可能设置了多个:
[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR stop proxyserver
作为 mapred,通过以下命令停止 MapReduce JobHistory Server :
[mapred]$ $HADOOP_PREFIX/sbin/mr-jobhistory-daemon.sh --config $HADOOP_CONF_DIR stop historyserver