共计 2126 个字符,预计需要花费 6 分钟才能阅读完成。
这篇文章给大家介绍 Cloudera Manager 内部结构及功能是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
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/parcel-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。
查看配置内容
直接查询 scm 数据库的 configs 数据表的内容。
访问 REST API:http://hostname:7180/api/v5/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)。它主要做三件事件:
管理监控集群主机。
统一管理配置。
管理维护 Hadoop 平台系统。
实现采用 C / S 结构,Agent 为客户端负责执行服务端发来的命令,执行方式一般为使用 python 调用相应的服务 shell 脚本。Server 端为 Java REST 服务,提供 REST API,Web 管理端通过 REST API 调用 Server 端功能,Web 界面使用富客户端技术(Knockout)。
Server 端主体使用 Java 实现。
Agent 端主体使用 Python, 服务的启动通过调用相应的 shell 脚本进行启动,如果启动失败会重复 4 次调用启动脚本。
Agent 与 Server 保持心跳,使用 Thrift RPC 框架。
5. 升级
在 CM 中可以通过界面向导升级相关服务。升级过程为三步:
下载服务软件包。
把所下载的服务软件包分发到集群中受管的机器上。
安装服务软件包,使用软链接的方式把服务程序目录链接到新安装的软件包目录上。
6. 卸载
sudo /usr/share/cmf/uninstall-scm-express.sh, 然后删除 /var/lib/cloudera-scm-server-db/ 目录,不然下次安装可能不成功。
7. 开启 postgresql 远程访问
CM 内嵌数据库被配置成只能从 localhost 访问,如果需要从外部查看数据,数据修改 vim /var/lib/cloudera-scm-server-db/data/pg_hba.conf 文件, 之后重启数据库。运行数据库的用户为 cloudera-scm。
关于 Cloudera Manager 内部结构及功能是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。