apacheatlas案例_ApacheAtlas
Atlas Core
·Type System:Atlas 允许⽤户为他们想要管理的元数据对象定义⼀个模型。该模型由称为“类型” 的定义组成。“类型” (类)的 实例被称为 “实体” 表⽰被管理的实际元数据对象。类型系统是⼀个组件,允许⽤户定义和管理类型和实体。由 Atlas 管理的所有元数据对象(例如Hive表)都使⽤类型进⾏建模,并表⽰为实体(类对象,⼀条数据)。
·Ingest / Export:Ingest 组件允许将元数据添加到 Atlas。类似地,Export 组件暴露由 Atlas 检测到的元数据更改,以作为事件引发,消费者可以使⽤这些更改事件来实时响应元数据更改。
·Graph Engine :在内部,Atlas 通过使⽤图形模型管理元数据对象。以实现元数据对象之间的巨⼤灵活性和丰富的关系。图形引擎是负责在类型系统的类型和实体之间进⾏转换的组件,以及基础图形模型。除了管理图形对象之外,图形引擎还为元数据对象创建适当的索引,以便有效地搜索它们
---------------------
如何使⽤Atlas管理
⽤户可以使⽤两种⽅法管理 Atlas中的元数据
·API:Atlas 的所有功能通过REST API 提供给最终⽤户,允许创建,更新和删除类型和实体。它也是查询和发现通过Atlas 管理的类型和实体的主要⽅法。
·Messaging:除了 API 之外,⽤户还可以选择使⽤基于 Kafka 的消息接⼝与 Atlas 集成。这对于将元数据对象传输到 Atlas 以及从Atlas 使⽤可以构建应⽤程序的元数据更改事件都⾮常有⽤。如果希望使⽤与 Atlas 更松散耦合的集成,这可以允许更好的可扩展性,可靠性等,消息传递接⼝是特别有⽤的。Atlas 使⽤ Apache Kafka 作为通知服务器⽤于钩⼦和元数据通知事件的下游消费者之间的通信。事件由钩⼦和 Atlas 写到不同的 Kafka 主题。
Titan介绍
·Titan:⽬前,Atlas 使⽤ Titan 图数据库来存储元数据对象。 Titan 使⽤两个存储:默认情况下元数据存储配置为 HBase,索引存储配置为 Solr。也可以通过构建相应的配置⽂件将元数据存储作为 BerkeleyDB和 Index 存储使⽤为 ElasticSearch。元数据存储⽤于存储元数据对象本⾝,并且索引存储⽤于存储元数据属性的索引,其允许⾼效搜索。
·⽬前基于Java使⽤最⼴泛的有两个开源框架
(1) neo4j
社区版 免费
企业版 收费
(2) Titan
全开源
Titan是⼀个分布式的图数据库,⽀持横向扩展,可容纳数千亿个顶点和边。 Titan⽀持事务,并且可以⽀撑上千并发⽤户和 计算复杂图形遍历。
安装
在安装前需要确定,你运⾏titan的Java环境为1.8+ *
1) 将安装包拷贝到安装位置后解压缩:
unzip titan-1.0.0-hadoop2.zip
2) 删除并添加相关jar包
官⽅提供的hadoop2的安装包有⼀些问题,如果想要顺利的使⽤titan,必须删除相关的jar包,并添加⼀些缺失的jar包:
a. 删除异常jar包
hadoop-core-1.2.1.jar
b. 添加所需要的jar包,这些jar包可以通过maven进⾏下载
titan-hadoop-1.0.0.jar
titan-hadoop-core-1.0.0.jar
启动
·titan安装后,使⽤默认配置启动titan服务。
·默认情况下,titan会启动三个服务:
·
·Cassandra 作为后端数据库存储图数据
·Elasticsearch作为索引,提⾼图的检索效率
·Gremlin-Server 图数据库引擎,⽀持gremlin数据查询语法
测试
下载apache
./bin/gremlin.sh
:remote connect tinkerpop.serverconf/remote.yaml
//初始化
graph=TitanFactory.open('conf/titan-cassandra-es.properties')
GraphOfTheGodsFactory.load(graph)
aversal()
//获取saturn点
saturn=g.V().has('name', 'saturn').next()
g.V(saturn).valueMap()
//查看saturn孙⼦
g.V(saturn).in('father').in('father').values('name')
//查看hercules⽗母
hercules = g.V().has('name', 'hercules').next()
g.V(hercules).out('father', 'mother').values('name')
Atlas配置
1,Atlas安装后默认hbase和solr存储,如果想修改存储介质,需要修改
/usr/hdp/2.6.0.3-8/atlas/conf/atlas-application.properties
2,Atlas安装完之后会在l⽂件中插⼊,是⼀个钩⼦函数
Hive 在使⽤ hive hook 的hive 命令执⾏上⽀持侦听器。 这⽤于在 Atlas 中使⽤
org.apache.del.HiveDataModelGenerator 中定义的模型添加/更新/删除实体。 hive hook将请求提交给线程池执⾏器,以避免阻塞命令执⾏。 线程将实体作为消息提交给通知服务器,并且服务器读取这些消息并注册实体。
3,如果Atlas中没有元数据,需要⼿动执⾏
/usr/hdp/2.6.0.3-8/atlas/hook-bin/import-hive.sh
4,Atlas⾼可⽤
要在 Atlas 中设置⾼可⽤性,必须在 atlas-application.properties⽂件中定义⼀些配置选项。
·⾼可⽤性是Atlas 的可选功能。因此,必须通过将配置选项atlas.abled设置为true 来启⽤。
·接下来,定义标识符列表,为您为 Atlas Web Service 实例选择的每个物理机器分配⼀个标识符。这些标识符可以是简单的字符串,如id1,id2等。它们应该是唯⼀的,不应包含逗号。
·将这些标识符的逗号分隔列表定义为选项 atlas.server.ids的值。
·
对于每个物理机,请列出IP地址/主机名和端⼝作为配置 atlas.server.address.id的值,其中 id指的是此物理机的标识符字符串。
·  atlas.server.ids=id1,id2
· atlas.server.address.id1=host1pany:21000
· atlas.server.address.id2=host2pany:21000
·定义使⽤的 Zookeeper为 Atlas提供⾼可⽤性功能
atlas.t=zk1pany:2181,zk2pany:2181,zk3p
·要验证⾼可⽤性是否正常⼯作,请在安装了 Atlas Web Service 的每个实例上运⾏以下脚本。
$ATLAS_HOME/bin/atlas_admin.py -status
以下hive 操作由 hive hook 当前捕获
create database
create table/view, create table as select
load, import, export
DMLs (insert)
alter database
alter table (skewed table information, stored as, protection is notsupported)
alter view
案例
REST API
注意:已经删除的表,RESTAPI不能查询,但是图形化⼯具可以查询
总结
ApacheAtlas可监控数据的流向
ApacheRanger统⼀授权管理
-
--------------------
==
Atlas 中⽂⽂档
为初学者开发Atlas提供中⽂版⽂档,在安装Atlas后,会⾃动⽣成英⽂版⽂档,为了便于初学者更好地理解Atlas,特将此翻译成中⽂版下⾯为部分⽬录,资源连接点击打开链接
==
《⼤数据治理与服务》PDF版
==

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。