Ambari对集群的管理

对集群进行管理的几种方式

通过Ambari
通过日志系统查看
通过配置文件
通过命令行工具交互

Ambari对集群的管理

通过Ambari界面
    Dashboard 
    Hosts:Ambari 所管理的机器列表
    Service
    Alert
操作级别:
    Host Level Action(机器级别的操作)
    Component Level Action(模块级别的操作)

 Dashboard 监控
    关键的运维指标(metrics)--metrics 是“度量,指标”的意思
    在左侧的 Service 列表,
    中间部分是 Service 的模块(Component)信息,也就是该 Service 有哪些模块及其数目。
    右上角有个 Service Action 的按钮
      link  
            NameNode UI、ResourceManage UI、HBase Master UI
            http://unix191:50070/logs/   HDFS的NameNode的logs
            http://unix192:8088/logs/    YARN的ResourceManage 的logs
            http://unix191:16010/logs/   Hbase的logs
Alert介绍
    Alert 告警级别 Status:
        OK  、Warning、Critical、Unknown、None
    Alert 告警类型:
        WEB、Port、Metric、Aggregate 和 Script
    表 1. Ambari 中的 Alert 类型对比
        类型              用途                                              告警级别            阀值是否可配  单位
        PORT                用来监测机器上的一个端口是否可用                    OK, WARN, CRIT      是               秒
        METRIC              用来监测 Metric 相关的配置属性                     OK, WARN, CRIT      是               变量
        AGGREGATE           用于收集其他某些 Alert 的状态                      OK, WARN, CRIT      是               百分比
        WEB                 用于监测一个 WEB UI(URL)地址是否可用                OK, WARN, CRIT      否               无
        SCRIPT              Alert 的监测逻辑由一个自定义的 python 脚本执行      OK, CRIT            否               无   
        Port 类型的告警,Ambari 便会监测这个端口。然后依赖这个端口的响应时间,报告对应的 Alert 级别
        每个 Alert 唯一的 id 标识

    Amabri服务器需要使用数据库存放基本信息,而数据库默认为PostgreSQL
    Kerberos security  一种应用对称密钥体制进行密钥管理的系统
     Ambari 不支持在 GUI 上面卸载已安装的 Service。所以当一个 Service 不再需要的时候,用户没法删除掉该 Service。  
     幸运的是 Ambari 提供了 DELETE 的 Rest API,我们可以通过该 API 来删除 Ambari 中 Service。  
     不过这里需要注意,这个方法只是从 Ambari Service 中删除了 Service。这样一来,Ambari 的 GUI 界面中不再显示这个 Service。  
     但是 Service 本身还安装在 Agent 所在的机器。  
     如果用户需要彻底的清除掉这个 Service,仍需要手工的到每个机器卸载。  
Ambari的配置文件
    /var/lib/ambari-server/resources/stacks/HDP/2.0.6/services
        单个service下通过配置service下存储的metainfo.xml来设置构成服务的component(组件)
        以及部署组件的部署脚本、运行组件的角色名称、部署脚本的文件名称、部署脚本的语言种类等信息

日志文件的处理

查看
备份与更新<日志文件轮替>
日志文件的设置<信息等级>
日志文件服务器-日志文件分析程序

查看日志:
    Linux操作系统日志,syslog将信息分为7个主要的等级,  
       INFO,NOTICE,WARNING,ERROR,CRIT,ALERT,EMERG还有两个特殊等级debug 和none
        /var/log/cron
         var/log/lastlog
        var/log/secure
        var/log/wtmp
        cat /var/log/secure
Hadoop技术家族的日志:
    cd /hadoop
    cd /hadoop/zookeeper/version-2 
        ls
        cat log.100000001

Spark的日志
     cd  /var/log/spark
        ls
        cat

通过配置文件进行设置

 在Ambari中有对配置文件的一些参数进行设置。
 目前了解配置文件所在的文件目录,以及常用的配置参数的使用即可。

通过命令行工具

命令行交互工具。

hadoop
    一种是命令行方式,即Hadoop提供了一套与Linux文件命令类似的命令行工具;
    另一种是JavaAPI,即利用Hadoop的Java库,采用编程的方式操作HDFS的文件
    查看Linux上的文件
        查询大文件的linux shell脚本
        du -h --max-depth=2 /
    HDFS在Linux上的文件位置 du -ha /hadoop/hdfs 统计占用磁盘空间
        /hadoop/hdfs/data/
        /hadoop/hdfs/namenode           
    HDFS查看文件
      hadoop fs -help ##所有命令的详细帮助文档
        查看HDFS文件下的文件
        hadoop fs -ls /
        hadoop fs -ls -R /
        查看hdfs文件夹的大小
        hadoop fs -du -s /spark-history
        hadoop fs -du -s /hdp
        查看目录下的文件
        hadoop fs -ls /hdp
        查看内容
        hadoop fs -tail /tmp/entity-file-history

HBase
   通过hbase shell进入Hbase数据库
Spark
    spark-shell
    pyspark
    sparkR
    spark-sql
Zookeeper
    常用命令
    echo conf | nc 172.19.100.191 2181  
    echo wchp | nc 172.19.100.191 2181          
        连接到Zookeeper命令行工具
            zkCli.sh –server 172.19.100.191 2181

    以上命令默认加入到了环境变量中去了,如果没能运行成功,则要么该命令不存在,要么没加入环境变量中。

参考:

Ambari 服务配置以及 Alert 详解 http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari3/index.html
Ambari——大数据平台的搭建利器   http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/index.html
 Ambari-整体介绍 http://blog.csdn.net/dm520/article/details/44035241
Ambari之stack介绍 http://blog.csdn.net/dm520/article/details/44035475
ambari使用了那些技术 http://blog.csdn.net/dm520/article/details/44035997

blogroll

social