问题导读

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

hadoop入门手册2:hadoop【2.7.1】【多节点】集群配置【必知配置知识2】的更多相关文章

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

    问题导读 1.改变hdfs文件的权限,需要修改哪个配置文件?2.获取一个文件的或则目录的权限,哪个命令可以实现?3.哪个命令可以实现设置访问控制列表(ACL)的文件和目录? 接上篇:Hadoop[2. ...

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

    问题导读1.Hadoop文件系统shell与Linux shell有哪些相似之处?2.如何改变文件所属组?3.如何改变hdfs的文件权限?4.如何查找hdfs文件,并且不区分大小写? 概述文件系统 ( ...

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

    问题导读1.hadoop daemonlog管理员命令的作用是什么?2.hadoop如何运行一个类,如何运行一个jar包?3.hadoop archive的作用是什么? 概述 hadoop命令被bin ...

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

    问题导读 1.说说你对集群配置的认识?2.集群配置的配置项你了解多少?3.下面内容让你对集群的配置有了什么新的认识? 目的 目的1:这个文档描述了如何安装配置hadoop集群,从几个节点到上千节点.为 ...

  5. Hadoop多节点集群安装配置

    目录: 1.集群部署介绍 1.1 Hadoop简介 1.2 环境说明 1.3 环境配置 1.4 所需软件 2.SSH无密码验证配置 2.1 SSH基本原理和用法 2.2 配置Master无密码登录所有 ...

  6. 一步步教你Hadoop多节点集群安装配置

    1.集群部署介绍 1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统HDFS(Hadoop Distributed Filesys ...

  7. Hadoop 2.6.4单节点集群配置

    1.安装配置步骤 # wget http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.rpm # rpm -i ...

  8. Linux下Hadoop集群环境的安装配置

    1)安装Ubuntu或其他Linux系统: a)为减少错误,集群中的主机最好安装同一版本的Linux系统,我的是Ubuntu12.04. b)每个主机的登陆用户名也最好都一样,比如都是hadoop,不 ...

  9. 学习Hadoop+Spark大数据巨量分析与机器学习整合开发-windows利用虚拟机实现模拟多节点集群构建

    记录学习<Hadoop+Spark大数据巨量分析与机器学习整合开发>这本书. 第五章 Hadoop Multi Node Cluster windows利用虚拟机实现模拟多节点集群构建 5 ...

随机推荐

  1. jQuery 获取Select选择的Text和 Value

    jQuery获取Select选择的Text和Value:语法解释:    1. $("#select_id").change(function(){//code...});   / ...

  2. ubuntu 16.04 配置远程连接

    1.XDMCP远程连接 vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 添加 greeter-show-manual-login=true [X ...

  3. MongoDB 3.4 分片集群副本集 认证

    连接到router所在的MongoDB Shell  我本机端口设置在50000上 mongo --port 接下来的流程和普通数据库添加用户权限一样 db.createUser({user:&quo ...

  4. RedHat/CentOS 7通过nmcli命令管理网络教程

    Red Hat Enterprise Linux 7 和CentOS 7 的网络管理实际上是对NetworkManager的管理,可通过nmcli命令进行控制,下面小编就给大家介绍下RedHat/Ce ...

  5. centos静默安装oracle12c

    配置系统和安装所需软件包 关闭selinux 临时关闭(不用重启) [root@SVR-3-125 ~]# setenforce 0 修改配置文件(需要重启):  将SELINUX=enforcing ...

  6. sql 日志统计-日、周、月活跃数

    近日网站需求:统计日志表的 日.周.月活跃数.最终研究了出来了,分享给大家看下.  如果有更好的sql语句也可以评论下方. --日活跃量 ), cr.AddTime, )as addtimt,COUN ...

  7. vue.js 源代码学习笔记 ----- $watcher

    /* @flow */ import { queueWatcher } from './scheduler' import Dep, { pushTarget, popTarget } from '. ...

  8. js函数的伪重载

    这也是今天写东西是遇到的一个问题,导致我联想起了函数重载的问题. 在javascript中是没有函数重载机制的,对于用惯了java开发的同学可能就表示吃惊了,我屮艸芔茻,函数 没有重载?那怎么搞?!! ...

  9. [置顶] 完美解决Android Studio 运行时出现的警告信息?

    今天群友看到他说运行的时候报下面的错,我记得我之前导入百度地图也是遇到过,运行的时候一堆警告信息,然后编译失败等的,特别郁闷,其实后来在网上查了下,原来是很多第三方里面加个混淆,然后你有找不到那些方法 ...

  10. Node 抓取非utf-8编码页面

    代码示例 Nodejs抓取非utf8字符编码的页面 -- Ruby's Louvre var http = require('http'); var iconv = require('iconv-li ...