之前的公司在数据中台的项目上调研决定启用了Atlas作为我们数据血缘管理的工具,让我给大家写了一份Atlas快速入门的文档,所以在这里我将这篇文档以一个纯新手视角的方式再一次优化,希望能够帮助大家更好的快速上手使用Atlas。
Atlas为组织提供了开放的元数据管理和治理功能,以建立其数据资产的目录,对这些资产进行分类和治理,并为数据科学家,分析师和数据治理团队提供围绕这些数据资产的协作功能。
而如果想要对这些数据做好管理,光用文字、文档等东西是不够的,必须用图,Atlas就是把元数据变成图的工具。
REST API
进行集成REST API
说明元数据的存储是hbase,检索使用的索引solr,数据来源主要是hive和hbase,数据和atlas之间的通信使用的是kafka
元数据存储:hbase,可以采集也可以导出
检索索引:solr
数据来源:hive(重点),hbase(重点),sqoop,falcon,storm
数据和atlas的通信通道:基于kafka的消息传递接口
Admin UI:web界面操作
Ranger Tag Based Policies:权限管理模块
Bussiness Type:业务分类
API:所有功能通过REST API向最终用户暴露,该API允许创建,更新和删除类型和实体
Graph Engine 图形引擎:使用Graph模型持久保存它管理的元数据对象
Type System 类型系统:用户为他们想要管理的元数据对象定义模型,Type System 称为实体和类型实例,表示受管理的实际元数据对象
jdk8、hadoop@2.7.2
zookeeper@3.4.10
kafka@0.11.0.2
hbase@1.3.1
solr@5.2.1
hive@1.2.1、mysql
azkaban@2.5.0
atlas@0.84
/soft/atlas/conf/atlas-application.properties
-> atlas.graph.storage.hostname = 集群主机名
,修改atals存储数据主机/soft/atals/conf/hbase
,添加hbase集群的配置文件到${Atlas_Home}
,示例命令ln -s /soft/hbase/conf/ /soft/atlas/conf/hbase/
,相当于建立软连接/soft/atlas/conf/atlas-env.sh
中添加HBASE_CONF_DIR
,也就是Hbase配置文件路径export HBASE_CONF_DIR = /soft/atlas/conf/hbase/conf
ln -s
命令ln命令是linux系统中一个非常重要命令,英文全称是"link",即链接的意思,它的功能是为某一个文件在另外一个位置建立一个同步的链接
Hadoop -> Zookeeper -> Kafka -> Hbase -> Solr -> 重启Atlas服务
主要是通过执行.sh
脚本文件来导入,后续可以引入Azkaban来做全流程执行job
target-job.zip
Atlas有丰富的开放接口供大家使用以进行二次开发,对于我们公司后续如果有非常重大的个性化需求项目的开发,能够提供很好的帮助,这里是官方的api说明文档地址
主要会有公司配发的不同权限的使用账号和密码
在Search界面中提供了Basic(基础)和Advanced(高级)两种UI界面。
可查询的数据类型包括但不限于hive_db、hive_table、hdfs_path
等等,点击橘色方框中的箭头即可查看选择可供查找的数据类型。
在Basic界面中,可以进行更加细粒度的划分查询,还可以保存常用的查询条件组合。
包括的查询条件有:Type(查询的数据类型)、Classification(查询数据的所属分类)、Term(查询数据的术语)、Text(查询数据的name),
在Basic查询界面中还可以对Type
和ClassiFication
进行。
在Advanced界面中,查询条件包括:Type(查询的数据类型)、Query(查询语句),也可以保存常用的查询条件组合
分类界面中可以进行分类标签的管理,在这个界面中可以新建一个分类,或者在一个分类下新建出一个小分类,也可以删除一个已有的分类,
通过分类的设定,并为数据添加相应的分类标签,可以方便数据的管理与查找。
点击相应的分类便可以看到拥有该分类和其子分类的数据,而在查询界面中点击数据中的分类标签,即可跳转到分类界面的相应分类下
在Atlas中一个数据可以拥有多个分类标签,在查询界面中,可以通过在数据的Classification
列点击+
为该数据添加分类
分类传播使数据所关联的分类能延血缘关系,使其这个数据的后代也能得到其父类数据的分类标签。
为第一个数据打上分类标签后其数据的子类也得到了该分类的标签,
更改第一个数据的分类标签,子类的分类标签也会受到更改,删除第一个数据的分类标签,其子类对应的分类标签也会删除。
总结来说数据的分类标签能沿着血缘关系传播到其子类
在Atlas的Glossary界面下,可以创建术语表,并且在术语表中可以创建一些"单词",这些"单词"能彼此进行关联和分类。
以便业务用户在使用的时候,即使这些"单词"在不同的术语表中也能很好的理解它们。此外,这些术语也是可以映射到数据资产中的,即可以给数据添加术语标签。
术语表抽象出了和数据相关的专业术语,使得用户能以他们更熟悉的方式去查找和使用数据。
需要注意的是如果为数据添加术语时,该术语已经设置了分类标签,那么这个术语的分类标签会被数据继承:
即数据的分类标签中,会被加上术语的分类标签,这样做是因为,我们可以为术语单独创建一个分类,然后为数据打上术语标签时,数据也会继承这个分类。
然后我们通过查看这个分类的数据时就能找到被打上这个术语标签的所有数据及术语本身。
Atlas Simple Authprizer
权限管理 需要在/atlas/conf/
中配置文件 atlas-application.properties`atlas.authorizer.impl = simple
atlas.authorizer.simple.authz.policy.file = /atlas/conf/atlas-simple-authz-policy.json
/atlas/conf
目录中有两个文件atlas-simple-authz-policy.json
和users-credentials.properties
atlas-simple-authz-policy.json
文件用于配置权限、用户权限、用户组权限users-credentials.properties
用于配置用户名、用户所属用户组、用户密码,需要注意的是:密码采用sha256编码/atlas/conf
目录中配置atlas-application.properties
atlas.authorizer.impl = ranger
我是 fx67ll.com,如果您发现本文有什么错误,欢迎在评论区讨论指正,感谢您的阅读!
如果您喜欢这篇文章,欢迎访问我的 本文github仓库地址,为我点一颗Star,Thanks~
转发请注明参考文章地址,非常感谢!!!