问题导读

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. 轻量级 HTTP(s) 代理 TinyProxy

      J CentOS 下安装 TinyProxy yum install -y tinyproxy 启动.停止.重启 # 启动service tinyproxy start# 停止service ti ...

  2. PHP 数组遍历 foreach 语法结构

    foreach 语法结构用于遍历数组. foreach() PHP foreach() 语法结构用于遍历操作或输出数组,foreach() 仅能用于遍历数组或对象,当试图将其用于其它数据类型或者一个未 ...

  3. Docker 进入容器的几种方式

    进入Docker容器比较常见的几种做法如下: 使用docker attach 使用SSH 使用nsenter 使用exec 一.使用docker attach进入Docker容器 Docker提供了a ...

  4. 如何在Ubuntu Linux上安装Oracle Java

    不错文档,希望地址永久可用,url:http://zh.wikihow.com/%E5%9C%A8Ubuntu-Linux%E4%B8%8A%E5%AE%89%E8%A3%85Oracle-Java

  5. 【Demo】CSS3 过渡

    CSS3 过渡transition 应用于宽度属性的过渡效果,时长为 2 秒: div { transition: width 2s; -webkit-transition: width 2s; /* ...

  6. Java栈的两种实现

    1. 基于数组 package Algorithm.learn; import java.util.Arrays; /** * Created by liujinhong on 2017/3/7. * ...

  7. uva 12086 线段树or树状数组练习

    题目链接   https://vjudge.net/problem/34215/origin 这个题就是线段树裸题,有两种操作,实现单点更新和区间和的查找即可,这里第一次学习使用树状数组完成. 二者相 ...

  8. 原生javascript-分享自己常用的函数

    [一]添加监听事件 addHandler:function(node,type,fn){if(node.addEventListener){ node.addEventListener(type,fn ...

  9. HUST 1328 String (字符串前缀子串个数 --- KMP)

    题意 给定一个字符串S,定义子串subS[i] = S[0..i],定义C[i]为S中subS[i]的数量,求sigma(C[i])(0<=i<N). 思路 我们以子串结尾的位置来划分阶段 ...

  10. IOS-网络(网页开发-UIWebView,HTML,CSS,JavaScript,OC和JS代码互调)

    一.网页基础 // // ViewController.m // IOS_0218_网页开发1 // // Created by ma c on 16/2/18. // Copyright © 201 ...