问题导读

1.如何实现检测NodeManagers健康?
2.配置ssh互信的作用是什么?
3.启动、停止hdfs有哪些方式?

上篇:

hadoop【2.7.1】【多节点】集群配置【必知配置知识1】
http://www.aboutyun.com/thread-15609-1-1.html

监控NodeManagers健康

hadoop提供检测一个节点健康状态的机制,管理员可以配置NodeManager去周期性执行一个脚本来决定一个节点是否健康

管理员可以在这个脚本中做任何的状态监控从而决定此节点是否健康.如果脚本检测节点处于非健康状态,它必须打印必须打印error开头的标准输出。NodeManager 周期性检测,和检测输出,如果脚本输出包含错误(ERROR),如上所述,node的状态报告为unhealthy,该节点被资源管理器列为黑名单。该节点不会被分配任务。

尽管如此,如果资源管理器恢复健康状态,脚本继续运行,并且会自动被移除黑名单。节点脚本输出,提供给管理,在界面上节点不健康,以及在界面上显示节点健康时间。

下面参数可以被用来控制节点是否健康监视脚本在 etc/hadoop/yarn-site.xml.

参数
说明
yarn.nodemanager.health-checker.script.path
Node health script
节点健康状态监测脚本
yarn.nodemanager.health-checker.script.opts
Node health script options
脚本的选项来检查节点的健康状态
yarn.nodemanager.health-checker.script.interval-ms
Node health script interval
运行健康脚本的时间间隔。
yarn.nodemanager.health-checker.script.timeout-ms
Node health script timeout interval
健康脚本执行超时

如果仅本地磁盘故障,检测脚本不会给出error。NodeManager 有能力定期检测磁盘本地磁盘健康状态(特别是nodemanager-local-dirs 和nodemanager-log-dirs)。当目录损坏数达到配置的阀值(yarn.nodemanager.disk-health-checker.min-healthy-disks配置的)之后整个节点就会被标记为不正常的。同时这些信息也会上报给资源管理器(resource manager),检测脚本也会检测启动盘。

Slaves File

列出所有slave hostnames or IP 地址在etc/hadoop/slaves 文件, 一行一个。Helper 脚本 (described below) 使用etc/hadoop/slaves 文件运行命令在许多客户端. 它不需要任何基于Java的hadoop配置,为了使用此功能,ssh必须连接信任( passphraseless 或则其它方法,比如 Kerberos)的账户运行hadoop
Hadoop 机架感知

许多hadoop具有感知功能和利用网络拓扑结构的性能和安全性。hadoop守护进程调用管理员配置模块获取集群slaves信息。更多信息查看 Rack Awareness ,开始启动hdfs之前,推荐配置集群机架感应。

日志

hadoop通过Apache Commons的日志框架使用 Apache log4j   作为日志。编辑 etc/hadoop/log4j.properties 文件定制hadoop守护进程日志配置比如log格式等

hadoop集群操作
所有的配置完成,分部署文件HADOOP_CONF_DIR目录分发到所有机器,他们在所有机器上路径是相同的。
建议hdfs和yarn使用独立的用户。hdfs执行hdfs用户,yarn使用yarn账户。

hadoop启动

启动hadoop集群,需要启动hdfs和yarn
第一次启动hdfs,必须要格式化,格式化分布式文件系统作为HDFS:

[Bash shell] 纯文本查看 复制代码
1
[hdfs]$ $HADOOP_PREFIX/bin/hdfs namenode -format <cluster_name>

启动hdfs

[Bash shell] 纯文本查看 复制代码
1
[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start namenode

启动datanode

[Bash shell] 纯文本查看 复制代码
1
[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemons.sh --config $HADOOP_CONF_DIR --script hdfs start datanode

如果 etc/hadoop/slaves 和 ssh配置了相互访问 (see Single Node Setup), 所有hdfs可以使用下面命令

[Bash shell] 纯文本查看 复制代码
1
[hdfs]$ $HADOOP_PREFIX/sbin/start-dfs.sh

启动yarn用下面命令,在指定的ResourceManager作为yarn

[Bash shell] 纯文本查看 复制代码
1
[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR start resourcemanager

运行下面命令在指定的客户端作为yarn启动NodeManager

[Bash shell] 纯文本查看 复制代码
1
[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemons.sh --config $HADOOP_CONF_DIR start nodemanager

启动独立WebAppProxy server. 运行 WebAppProxy server作为yarn.如果多台服务器使用负载均衡,则每台都需运行

[Bash shell] 纯文本查看 复制代码
1
[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR start proxyserver

如果etc/hadoop/slaves和ssh配置,启动脚本如下:

[Bash shell] 纯文本查看 复制代码
1
[yarn]$ $HADOOP_PREFIX/sbin/start-yarn.sh

启动MapReduce JobHistory Server

[Bash shell] 纯文本查看 复制代码
1
[mapred]$ $HADOOP_PREFIX/sbin/mr-jobhistory-daemon.sh --config $HADOOP_CONF_DIR start historyserver

hadoop停止

停止namenode,用下面命令

[Bash shell] 纯文本查看 复制代码
1
[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs stop namenode

停止datanode,用下面命令

[Bash shell] 纯文本查看 复制代码
1
[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemons.sh --config $HADOOP_CONF_DIR --script hdfs stop datanode

如果etc/hadoop/slaves 和 ssh配置相互访问,用下面脚本停止

[Bash shell] 纯文本查看 复制代码
1
[hdfs]$ $HADOOP_PREFIX/sbin/stop-dfs.sh

停止ResourceManager用下面命令

[Bash shell] 纯文本查看 复制代码
1
[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR stop resourcemanager

运行脚本停止NodeManager

[Bash shell] 纯文本查看 复制代码
1
[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemons.sh --config $HADOOP_CONF_DIR stop nodemanager

如果etc/hadoop/slaves 和 ssh配置相互访问,则运行下面脚本

[Bash shell] 纯文本查看 复制代码
1
[yarn]$ $HADOOP_PREFIX/sbin/stop-yarn.sh

停止WebAppProxy server。运行WebAppProxy,如果多台服务器使用负载平衡,则每一个都运行。

[Bash shell] 纯文本查看 复制代码
1
[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR stop proxyserver

停止MapReduce JobHistory Server,使用下面命令

[Bash shell] 纯文本查看 复制代码
1
[mapred]$ $HADOOP_PREFIX/sbin/mr-jobhistory-daemon.sh --config $HADOOP_CONF_DIR stop historyserver

Web Interfaces

Daemon
Web Interface
Notes
NameNode
http://nn_host:port/
Default HTTP port is 50070.
ResourceManager
http://rm_host:port/
Default HTTP port is 8088.
MapReduce JobHistory Server
http://jhs_host:port/
Default HTTP port is 19888.

相关内容 
hadoop入门手册1:hadoop【2.7.1】【多节点】集群配置【必知配置知识1】

hadoop入门手册2:hadoop【2.7.1】【多节点】集群配置【必知配置知识2】

hadoop入门手册3:Hadoop【2.7.1】初级入门之命令指南

hadoop入门手册4:Hadoop【2.7.1】初级入门之命令:文件系统shell1

hadoop入门手册5:Hadoop【2.7.1】初级入门之命令:文件系统shell2

hadoop2.X使用手册1:通过web端口查看主节点、slave1节点及集群运行状态
http://www.aboutyun.com/thread-7712-1-1.html

最新文章

  1. Bypass WAF Cookbook
  2. Django 静态文件配置(static files)
  3. HDU 3480 division
  4. EntityFramework追踪Sql语句
  5. poj 3230 Travel(dp)
  6. WebPack实例与前端性能优化
  7. HDU 1274 展开字符串 (递归+string类)
  8. Web Api 自动生成帮助文档
  9. SVD分解技术详解
  10. jQuery中下拉select、复选checkbox、单选radio的操作代码
  11. HDFS Architecture
  12. Leetcode解题-链表(2.2.2)ReverseLinkedList
  13. C++编译器对属性和方法的处理机制
  14. this.state.menuList.toArray()[0].get(&#39;id&#39;)
  15. mssql sqlserver updatetext关键字应用简介说明
  16. L1-Day6
  17. kubernetes 里面pod时间修改
  18. iOS 获取已安装 的APP
  19. PriorityQueue的Java实现
  20. dropwizard metrics - 基本使用介绍

热门文章

  1. jQuery 获取、设置表单元素的值
  2. jshint options
  3. hdu4318阶梯博弈nim变形
  4. 2-3 sshd服务---暴力破解应对策略
  5. MySQL,SqlServer数据库关键字在程序中处理
  6. Spark安装和简单示例
  7. 性能优化 - 查看 webpack 打包后所有的依赖关系(webpack 可视化工具)
  8. Java类的finalize()方法
  9. python命名空间的本质
  10. 网络编程的基本概念,TCP/IP协议简介