千家信息网

0036-如何通过CM API优雅的获取元数据库密码

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。1.问题描述人啊,上了年纪了,总容易忘记一些事情,比如你一不小心就忘记了CDH集群Hive,Hue和Sentry服务的元数据库密码,对于数
千家信息网最后更新 2025年02月01日0036-如何通过CM API优雅的获取元数据库密码

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

1.问题描述


人啊,上了年纪了,总容易忘记一些事情,比如你一不小心就忘记了CDH集群Hive,Hue和Sentry服务的元数据库密码,对于数据库(MySQL/Oracle/PostgreSQL)管理员来说,可能有自己独特的一些奇技淫巧来找回密码。但对于咱普通人,其实Cloudera Manger提供了一种很优雅的方式让你找回元数据库密码,那就是神奇的Cloudera Manager API。

2.解决方法

2.1通过HTTP方式


1.获取Cloudera Manager所有集群信息

在浏览器输入如下地址,将替换为CM的IP地址

http://:7180/api/v10/clusters/

输入CM的账号密码

获取集群信息:

{  "items" : [ {    "name" : "cluster",    "displayName" : "Cluster 1",    "version" : "CDH5",    "fullVersion" : "5.11.2",    "maintenanceMode" : false,    "maintenanceOwners" : [ ],    "clusterUrl" : "http://ip-172-31-22-86.ap-southeast-1.compute.internal:7180/cmf/clusterRedirect/cluster"  } ]}

2.通过上一步获取的集群信息,获取指定集群的Services

在浏览器输入如下地址,将替换成CM的IP地址,替换为上一步中获取到的集群名称

http://:7180/api/v10/clusters//services/

{  "items" : [ …{    "name" : "hue",    "type" : "HUE",    "clusterRef" : {      "clusterName" : "cluster"    },    "serviceUrl" : "http://ip-172-31-22-86.ap-southeast-1.compute.internal:7180/cmf/serviceRedirect/hue",    "serviceState" : "STARTED",    "healthSummary" : "GOOD",    "healthChecks" : [ {      "name" : "HUE_HUE_SERVERS_HEALTHY",      "summary" : "GOOD"    } ],    "configStalenessStatus" : "FRESH",    "clientConfigStalenessStatus" : "FRESH",    "maintenanceMode" : false,    "maintenanceOwners" : [ ],    "displayName" : "Hue"  } …]}

以上为获取到的json数据片段,标红部分为Services名称。

3.通过服务名称获取,该服务的配置信息

在浏览器输入如下地址,将替换成CM的IP地址,替换为集群名称,将替换为指定服务的名称

http://:7180/api/v10/clusters//services//config

{  "items" : [ {    "name" : "database_host",    "value" : "ip-172-31-22-86.ap-southeast-1.compute.internal"  }, {    "name" : "database_password",    "value" : "password"  }, {    "name" : "database_type",    "value" : "mysql"  }... ]}

这样就获取到了相应服务的配置信息,标红部分即为该服务的数据库密码。

2.2命令行方式


1.获取集群信息

替换为CM的用户名,替换为CM对应用户密码,替换为CM的IP地址

curl -v -k -X GET -u : http://:7180/api/v10/clusters/

命令行执行

[ec2-user@ip-172-31-22-86 ~]$ curl -v -k -X GET -u admin:admin http://ip-172-31-22-86:7180/api/v10/clusters/...{  "items" : [ {    "name" : "cluster",    "displayName" : "Cluster 1",    "version" : "CDH5",    "fullVersion" : "5.11.2",    "maintenanceMode" : false,    "maintenanceOwners" : [ ],    "clusterUrl" : "http://ip-172-31-22-86.ap-southeast-1.compute.internal:7180/cmf/clusterRedirect/cluster"  } ]* Connection #0 to host ip-172-31-22-86 left intact}[ec2-user@ip-172-31-22-86 ~]$ 

标注部分为获取到的集群名称。

2.获取指定集群的Services

将如下命令中相应参数替换,替换为上一步获取到的集群名称

curl -v -k -X GET -u : http://:7180/api/v10/clusters//services/

命令行执行:

[ec2-user@ip-172-31-22-86 ~]$ curl -v -k -X GET -u admin:admin http://ip-172-31-22-86:7180/api/v10/clusters/cluster/services/...{  "items" : [ {    "name" : "hive",    "type" : "HIVE",    "clusterRef" : {      "clusterName" : "cluster"    },    "serviceUrl" : "http://ip-172-31-22-86.ap-southeast-1.compute.internal:7180/cmf/serviceRedirect/hive",    "serviceState" : "STARTED",    "healthSummary" : "GOOD",    "healthChecks" : [ {      "name" : "HIVE_HIVEMETASTORES_HEALTHY",      "summary" : "GOOD"    }, {      "name" : "HIVE_HIVESERVER2S_HEALTHY",      "summary" : "GOOD"    } ],    "configStalenessStatus" : "FRESH",    "clientConfigStalenessStatus" : "FRESH",    "maintenanceMode" : false,    "maintenanceOwners" : [ ],    "displayName" : "Hive"  } ...]}[ec2-user@ip-172-31-22-86 ~]$ 

标注部分为服务名称。

3.根据获取到的Service名称,获取该服务的配置

将一下命令中参数替换为自己环境信息,替换为上一步获取到的服务名称。

curl -v -k -X GET -u : http://:7180/api/v10/clusters//services//config

命令行执行:

[ec2-user@ip-172-31-22-86 ~]$ curl -v -k -X GET -u admin:admin http://ip-172-31-22-86:7180/api/v10/clusters/cluster/services/hive/config...{  "items" : [ {    "name" : "hive_metastore_database_host",    "value" : "ip-172-31-22-86.ap-southeast-1.compute.internal"  }, {    "name" : "hive_metastore_database_password",    "value" : "password"  }, {    "name" : "mapreduce_yarn_service",    "value" : "yarn"  }, {    "name" : "zookeeper_service",    "value" : "zookeeper"  } ]* Connection #0 to host ip-172-31-22-86 left intact}[ec2-user@ip-172-31-22-86 ~]$ 

上图标注部分即为hive服务元数据库的密码。

3.总结


通过以上两种方式可以获取Hue、Hive、Sentry服务元数据库密码,但不支持获取Oozie、AM、CM、RM、Navigator等服务的数据库密码。注意:以上操作需要使用CM的管理员用户获取,非管理员用户获取的密码显示为"REDACTED"。

更多关于CM的API接口可参考官网:

https://×××w.cloudera.com/documentation/enterprise/latest/topics/cm\_intro\_api.html

醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花!
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。


原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

服务 集群 密码 名称 数据 数据库 信息 地址 命令 方式 用户 上一 输入 浏览器 管理员 浏览 管理 配置 温馨 参数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发毕业设计报告 安卓和苹果互通服务器有什么区别 软件开发公司领导构架 dna打拐数据库找到了多少个 acceaa数据库 镜像数据库备机正在还原 java在网络安全中的应用 数据库技术中的分级方法 单位网络安全如何检测 局域网ftp连接服务器 网络安全知识主题班会ppt 网络电玩城一般服务器在哪里 数据库锁超时怎么办 黄浦区节能软件开发定制价格 安装软件时数据库文件打不开 和网络技术有关的参考文献 三维软件开发学 山东版式文件服务器地址 jsp如何存文件到数据库中 数据库如何十六进制加密 南京互联网智能科技产品选择 服务器pcb板有多厚 第六届广东省网络安全博览会 中国网络安全法所处的地位 哪些不是数据库子语言 无线网络技术的意义 根据数据库反向生成实体类 通信网络技术服务主要服务内容 mc服务器死亡榜 数字三维分节法 数据库
0