zoukankan      html  css  js  c++  java
  • 解析Cloudera Manager内部结构、功能包括配置文件、目录位置等

    本文出自:解析Cloudera Manager内部结构、功能包括配置文件、目录位置等
    http://www.aboutyun.com/thread-9189-1-1.html
    (出处: about云开发)

    • 问题导读

    1.CM的安装目录在什么位置?

    2.Hadoop配置文件在什么位置?

    3.Cloudera manager运行所需要的信息存在什么位置?

    4.CM结构和功能是什么?

    • 1.相关目录

    • /var/log/cloudera-scm-installer:安装日志目录
    • /var/log/*:相关日志文件(相关服务的以及CM的)
    • /usr/share/cmf/:程序安装目录
    • /usr/lib64/cmf/:Agent程序代码
    • /var/lib/cloudera-scm-server-db/data:内嵌数据了目录
    • /usr/bin/postgres:内嵌数据库程序
    • /etc/cloudera-scm-agent/:agent的配置目录
    • /etc/cloudera-scm-server/:server的配置目录
    • /opt/cloudera/parcels/:hadoop相关服务安装目录
    • /opt/cloudera/parcel-repo/:下载的服务软件包数据,数据格式为parcels
    • /opt/cloudera/pacel-cache/:下载的服务软件包缓存数据
    • /etc/hadoop/*:客户端配置文件目录

    2.配置

    • Hadoop配置文件

      配置文件放置于/var/run/cloudera-scm-agent/process/目录下。如:/var/run/cloudera-scm-agent/process/193-hdfs-NAMENODE/core-site/xml。这些配置文件是通过Cloudera Manager启动相应服务(如HDFS)时生成的,内容从数据库中获得(即通过界面配置的参数)。

    在CM界面上更改配置是不会立即反映到配置文件中,这些信息会存储于数据库中,等下次重启服务时才会生成配置文件。且每次启动时都会产生新的配置文件。

    CM Server主要数据库为scm基中放置配置的数据表为configs。里面包含了服务的配置信息。每一次配置的更改会把当前页面的所有配置内容添加到数据库中,以此保存配置修改历史。

    scm数据库被配置成只能从localhost访问,如果需要从外部链接此数据库,修改 vim /var/lib/cloudera-scm-server-db/data-pg_hba.conf文件,之后重启数据库。运行数据库的用户为cloudera-scm.

    • 查看配置内容

      1.直接查询scm数据库的configs数据表的内容。

      2.访问REST API:http://hostname:7180/api/v4/cm/deployment,返回JSON格式部署配置信息。

    • 配置生成方式

      CM为每个服务进程生成独立的配置目录(文件)。所有配置统一在服务端查询数据库生成(因为scm数据库只能在localhost下访问)生成配置文件,再由agent通过忘了下载包含配置我呢间的zip

    包到本地解压到指定的目录。

    • 配置修改

      CM对于需要修改的配置预先定义,对于没有预先定义的配置,则通过在高级配置项中使用xml配置片段的方式进行配置。而对于/etc/hadoop/下的配置文件是客户端的配置,可以在CM通过部署客户端生成客户端配置。

    3.数据库

    Cloudera manager主要的数据库为scm,存储Cloudera manager运行所需要的信息:配置,主机,用户等。

    4.CM结构

    CM分为Server和Agent两部分及数据库(自带更改过的嵌入postgresql)。它主要做三件事:

      1.管理监控集群主机。

      2.统一管理配置。

      3.管理维护Hadoop平台系统。

    实现采用C/S结构,Agent为客户端负责执行服务端发来的命令,执行方式一般为使用python调用相应的服务shell脚本。Server端为Java Rest服务,提供REST API,Web管理端通过REST API调用Server端功能,Web界面使用富客户端技术(Knockout)。

      1.Server端主体使用Java实现。

      2.Agent端主体使用Python,服务的启动通过调用相应的shell脚本进行启动,如果启动失败会重复4次调用启动脚本。

      3.Agent与Server保持心跳,使用Thrift RPC框架。

    5.升级

    在CM中可以通过界面想到升级相关服务,升级过程分为3步:

    1.下载服务软件包。

    2.把所下载的服务软件包分发到机器中受管的机器上。

    3.安装服务软件包,使用软链接的方式吧服务程序目录链接到新安装的软件包目录上。

    6.卸载

    sudo /usr/share/cmf/unintall-scm-express.sh,然后再删除/var/lib/cloudera-scm-server-db/目录,不然下次安装可能不成功。

  • 相关阅读:
    【插件】博客园markdown编辑器自定义代码黑色背景高亮显示
    【MatrixSynapseChat】安装教程(一)基于centOS7.* 安装Synapse
    【Python3】python安装 matrix-synapse[all] 报错’Error: pg_config executable not found‘
    【python3】在CentOS7上升级SQLite,并让Python3使用新版SQLite
    【linux】CentOS7 升级sqlite3
    【Python3】Centos7 安装Python3.7
    面试官:兄弟,说说Java的static关键字吧
    六一儿童节,程序员写给女儿的一封信
    被缠上了,小王问我怎么在 Spring Boot 中使用 JDBC 连接 MySQL
    女生适合学编程吗?
  • 原文地址:https://www.cnblogs.com/jingblogs/p/5498684.html
Copyright © 2011-2022 走看看