Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何通过CM API优雅的获取元数据库密码

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

作者头像
Fayson
修改于 2018-04-01 11:12:05
修改于 2018-04-01 11:12:05
3.4K0
举报
文章被收录于专栏:Hadoop实操Hadoop实操

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

1.问题描述


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

2.解决方法

2.1通过HTTP方式


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

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

代码语言:txt
AI代码解释
复制
http://<cmserver>:7180/api/v10/clusters/

输入CM的账号密码

获取集群信息:

代码语言:txt
AI代码解释
复制
{
  "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

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

代码语言:txt
AI代码解释
复制
http://<cmserver>:7180/api/v10/clusters/<cluster_name>/services/
代码语言:txt
AI代码解释
复制
{
  "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.通过服务名称获取,该服务的配置信息

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

代码语言:txt
AI代码解释
复制
http://<cmserver>:7180/api/v10/clusters/<cluster_name>/services/<service_name>/config
代码语言:txt
AI代码解释
复制
{
  "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_admin_user>替换为CM的用户名,<cm_admin_pass>替换为CM对应用户密码,<cmserver>替换为CM的IP地址

代码语言:txt
AI代码解释
复制
curl -v -k -X GET -u <cm_admin_user>:<cm_admin_pass> http://<cmserver>:7180/api/v10/clusters/

命令行执行

代码语言:txt
AI代码解释
复制
[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

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

代码语言:txt
AI代码解释
复制
curl -v -k -X GET -u <cm_admin_user>:<cm_admin_pass> http://<cmserver>:7180/api/v10/clusters/<cluster_name>/services/

命令行执行:

代码语言:txt
AI代码解释
复制
[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名称,获取该服务的配置

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

代码语言:txt
AI代码解释
复制
curl -v -k -X GET -u <cm_admin_user>: <cm_admin_pass>http://<cmserver>:7180/api/v10/clusters/<cluster_name>/services/<service_name>/config

命令行执行:

代码语言:txt
AI代码解释
复制
[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://www.cloudera.com/documentation/enterprise/latest/topics/cm_intro_api.html

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Kerberos环境下删除ZooKeeper服务注册信息问题分析
在CDH集群中启用了Kerberos服务后,通过zookeeper-client登录Kerberos删除服务的注册信息时报“Authentication isnot valid”,具体操作及异常信息如下。Fayson这里已经使用fayson用户kinit后操作的,当然即使用hive的keytab文件kinit后也会报同样的错。
Fayson
2018/03/29
4.2K0
Kerberos环境下删除ZooKeeper服务注册信息问题分析
0728-6.3.0-如何在Redhat7.4安装CDH6.3
Cloudera在2019年7月31日,对外宣布正式发布Cloudera Enterprise 6.3,相关介绍可以参考Fayson之前的文章《0682-Cloudera Enterprise 6.3.0发布》,《0717-6.3.0-Cloudera Manager 6.3的新功能》和《0718-6.3.0-CDH6.3的新功能》。本文档Fayson主要描述如何在Redhat7.4安装CDH6.3。CDH6与CDH5的安装步骤一致,主要包括以下四部分:
Fayson
2019/11/12
1.5K0
0728-6.3.0-如何在Redhat7.4安装CDH6.3
如何使用Java连接Kerberos的HBase
出于CDH集群安全考虑,在CDH集群中增加了Kerberos认证机制。因为HBase的存储系统是基于Hadoop的存储,所以通过HBase客户端访问HBase数据库时需要进行身份认证。在Linux下使用HBase客户端访问HBase数据时需要先kinit初始化Kerberos账号,认证完成后我们就可以直接使用HBase shell操作HBase了。通过Linux的Kinit命令可以方便的完成Kerberos的认证,那么在Java开发中如何完成Kerberos的登录认证呢?本篇文章主要讲述如何使用Java连接Kerberos环境的HBase。
Fayson
2018/03/29
6K0
如何使用Java连接Kerberos的HBase
Cloudera Manager Server服务在RedHat7状态显示异常分析
在RedHat7.x上启动了Cloudera Manager Server服务,Web界面访问正常,集群各个服务均正常,集群状态正常如下图所示:
Fayson
2018/03/29
1.8K0
Cloudera Manager Server服务在RedHat7状态显示异常分析
如何修改CM及CDH元数据库配置
在前面Fayson介绍了《如何实现CDH元数据库MySQL的主主互备》和《如何实现CDH元数据库MySQL的高可用》,实现了MySQL的高可用后访问地址有了变化,本篇文章主要介绍如何修改CM及CDH集群元数据库配置。
Fayson
2018/03/29
5.3K1
如何修改CM及CDH元数据库配置
如何在Redhat7.3安装CDH5.14
Cloudera在2018年1月26日发布了CDH5.14,新功能介绍可以参考Fayson之前的文章《CDH5.14和CM5.14的新功能》。本文档主要描述如何在Redhat7.3安装CDH。Cloudera企业级数据中心的安装主要分为5个步骤:
Fayson
2018/03/29
3.6K0
如何在CDH中使用Phoenix
昨天我们简单介绍了一下Apache Phoenix,请参考Cloudera Labs中的Phoenix。今天我们主要讲述如何在CDH中安装配置Phoenix,并会做一些使用示例。
Fayson
2018/03/29
7.2K2
如何在CDH中使用Phoenix
0733-7.0.3-如何在Redhat7.6中安装CDP DC7.0.3
CDP DC7.0.3是Cloudera与Hortonworks合并后,第一个融合CDH和HDP所有组件的on-premise版本,CDP Data Center主要由Cloudera Runtime构成,Cloudera Runtime由超过35个开源项目组成,当然CDP Data Center还包括其它功能如管理功能Cloudera Manager,Key Management,专业支持等,如下图所示:
Fayson
2019/11/27
2.1K0
0733-7.0.3-如何在Redhat7.6中安装CDP DC7.0.3
如何在Redhat7.4安装CDH6.0.0_beta1
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- Cloudera在北京时间5月16日,对外宣布发布Cloudera Enterprise 6 Beta,相关介绍可以参考Fayson昨天的文章《Cloudera Enterprise 6 Beta发布》。本文档Fayson主要描述如何在Redhat7.4安装CDH6.0.0-bet
Fayson
2018/07/12
1.6K0
Windows Kerberos客户端配置并访问CDH
本文档描述Windows Server2008 R2(windows的内核版本是6.1,与windows 7相同)下安装Kerberos Client及FireFox下HTTP访问HDFS、Yarn、Hive、HBase等Hadoop服务的Web UI(如Namenode的50070,Yarn的8088)的过程。安装文档主要分为以下几步:
Fayson
2018/03/29
8K2
Windows Kerberos客户端配置并访问CDH
如何迁移Cloudera Manager节点
本文档讲述如何将Cloudera Manager在Kerberos环境下迁移至新的CM节点。通过本文档,您将学习到以下知识:
Fayson
2018/03/29
3.5K1
如何迁移Cloudera Manager节点
如何使用Sentry实现Hive/Impala的数据脱敏
本文主要描述如何使用Sentry实现数据的脱敏(masking of sensitive data elements),高大上的叫法也就是Data Masking。数据脱敏主要是指将原始数据的全部或者部分敏感值进行替换。这样避免了用户未经授权而直接访问原始的值,并保留了底层数据的schema。
Fayson
2018/03/30
3.3K0
如何在启用Sentry的CDH集群中使用UDF
在前面的文章Fayson介绍过UDF的开发及使用《如何在Hive&Impala中使用UDF》,大多数企业在使用CDH集群时,考虑数据的安全性会在集群中启用Sentry服务,这样就会导致之前正常使用的UDF函数无法正常使用。本篇文章主要讲述如何在Sentry环境下使用自定义UDF函数。
Fayson
2018/03/29
4.1K5
如何在启用Sentry的CDH集群中使用UDF
0610-6.2.0-如何在Redhat7.4安装CDH6.2
Cloudera在2019年3月30日,对外宣布正式发布Cloudera Enterprise 6.2,相关介绍可以参考Fayson昨天的文章《0585-Cloudera Enterprise 6.2.0发布》,《0589-Cloudera Manager6.2的新功能》和《0595-CDH6.2的新功能》。本文档Fayson主要描述如何在Redhat7.4安装CDH6.2。CDH6与CDH5的安装步骤一致,主要包括以下四部分:
Fayson
2019/05/13
2.6K0
0610-6.2.0-如何在Redhat7.4安装CDH6.2
如何通过CM升级Kafka0.11及Spark2.2
在前面的文章《CDH5.13和CM5.13的新功能》中Fayson介绍过Cloudera发布CDH5.13时,同时也发布了Kafka3.0版本(即社区0.11版),目前社区最新版本为1.0。由于Kafka3.0和Spark2.2需要JDK8的支持,所以在升级Kafka3.0和Spark2.2版本时必须先升级JDK版本,可以参考《如何将CDH集群JAVA升级至JDK8》和《如何将Kerberos环境下CDH集群JAVA升级至JDK8》,本文Fayson主要介绍在CDH集群中如何升级Kakfa3.0和Spark2.2。
Fayson
2018/03/29
1.8K0
如何通过CM升级Kafka0.11及Spark2.2
如何使用Hue创建Spark1和Spark2的Oozie工作流
使用Hue可以方便的通过界面制定Oozie的工作流,支持Hive、Pig、Spark、Java、Sqoop、MapReduce、Shell等等。Spark?那能不能支持Spark2的呢,接下来本文章就主要讲述如何使用Hue创建Spark1和Spark2的Oozie工作流。
Fayson
2018/03/29
5.1K1
如何使用Hue创建Spark1和Spark2的Oozie工作流
如何卸载CDH(附一键卸载github源码)
本文档将介绍Cloudera Manager与CDH的卸载,并基于CDH使用parcels安装且未配置安全(AD/LDAP, Kerberos, Data Encryption)的集群,以下是本次测试环境,但不是本操作手册的硬限制:
Fayson
2018/03/29
2.2K0
如何卸载CDH(附一键卸载github源码)
如何配置Kerberos服务的高可用
在前面的文章中Fayson介绍过《如何在CDH集群启用Kerberos》,对于一个启用了Kerberos的正式生产系统,还需要考虑KDC的高可用。而Kerberos服务是支持配置为主备模式的,数据同步是通过kprop服务将主节点的数据同步到备节点。本文主要讲述如何配置Kerberos服务的高可用。
Fayson
2018/03/29
4.1K1
如何配置Kerberos服务的高可用
0470-如何在Redhat7.4安装CDH5.16.1
Cloudera在2018年11月29日发布了CDH5.16.1,新功能介绍可以参考Fayson之前的文章《0466-CDH5.16.1和CM5.16.1的新功能》。本文档主要描述如何在Redhat7.4安装CDH5.16.1。Cloudera大数据平台的安装主要分为4个步骤:
Fayson
2018/12/24
9650
0491-如何在Redhat7.4安装CDH6.1
Cloudera在前天12月19日,对外宣布正式发布Cloudera Enterprise 6.1,相关介绍可以参考Fayson昨天的文章《0487-CDH6.1的新功能》和《0488-Cloudera Manager6.1的新功能》。本文档Fayson主要描述如何在Redhat7.4安装CDH6.1。CDH6与CDH5的安装步骤一致,主要包括以下四部分:
Fayson
2018/12/29
1.9K0
相关推荐
Kerberos环境下删除ZooKeeper服务注册信息问题分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档