cdh版本5.16.2, navigator版本2.15.2
1. 介绍what
Cloudera Navigator也是CDH企业版的工具之一,定位为一个数据管理工具。目前随着CDP版本的推广,该组件已开源。Hadoop大数据平台拥有存储与分析任何种类和规模数据的能力,并且将其开放给更多用户和分析工具。 但是,这同时也带来数据管理上的挑战:大量的业务用户想自助访问可发掘数据;管理员需要知道数据是怎么被用来优化分析性能的;安全团队需要看见数据的访问方式以及它们是怎么满足合规性的。一个大数据平台必须有能力在整个企业内解决数据管理以及合规性需求,但同时不能牺牲大数据本身的灵活性和优势。所以我们需要数据管理工具Navigator。
2. 架构how
Cloudera Manager会记录操作的整个生命周期,不论是在集群级别上的操作,还是主机、角色、服务、用户级别的,都会记录下来,比如下载parcel, 启动集群,以及安全相关的操作:增加用户、删除用户、登录状态。Cloudera Navigator 页面可以让管理员或者用户看到这些操作记录,也就是audit events。
Navigator主要由审计服务器和元数据服务器构成,审计服务包括时间戳、用户名、IP、服务名称和操作。元数据服务包括数据查询、标签、数据血缘分析等等。(姜黄色部分)
同时,Navigator Audit Server 和 Navigator Metadata Server 的运行状态,由Cloudera Management Service 监控和审计。(也就是下面棕色和黄色蓝色框框部分)
那么他们之间是如何运作的呢?Cloudera Manager Agent运行在集群中的每个节点上,该进程会:
• 监控本地的审计日志文件
• 发送日志里的events给Navigator Audit Server, 如果发送失败会不断的重试
• 当发送成功后,删除旧审计日志
通过以上,我们可以发现,也是工作中遇到的小坑,就是当我们把Navigator Audit Server服务关闭后,会导致大量的审计日志堆积,没有被发送,也没有被自动删除,因此解决方案就是需要定期清理的脚本。
Navigator Audit database 目前是用的mysql, 显然mysql的性能是无法满足多天审计日志分析的,当单机mysql出现瓶颈时,业内目前有两种方案可供借鉴:对 MySQL 进行分库分表处理,将一台 MySQL 的压力分摊到 MySQL 集群;对Navigator Audit Server进行 Federation,采用多套 Navigator Audit Server+ MySQL 的架构,在 Navigator Audit Server 前方设置代理,按照一定的规则,对请求进行分发(此处参考Hive Metastore的解决方案)。
6. 展望to Atlas
在CDP的版本中,原本由Navigator消费的元数据和审计日志,比如Hive, Impala, Spark和HBase的审计日志都需要被配置到Atlas来消费。Atlas替代Navigator将会带来这些新的变化:
1. 结合Ranger。
2. Atlas利用kafka来将元数据存储到Hbase和Solr中,利用了分布式存储提高可靠性和可拓展性
3. 可添加不同源的元数据。可以通过REST APIs,消费各种源发送来的元数据信息
4. Atlas提供业务术语表界面,该界面可用于管理业务术语,以及数据的定义
reference:
(1)https://cloud.tencent.com/developer/article/1078927
(2)http://39.100.211.182:7180/static/help/topics/cn_iu_audit_arch.html
(3)https://docs.cloudera.com/cdp-private-cloud/latest/upgrade-cdh/topics/atlas-migrating-new-to-cdh-users.html
网友评论