Apache Atlas HA部署

本文介绍如何使用HDPAmbari部署ApacheAtlas元数据治理服务,并实现其高可用性,包括AtlasWebServer、Titan图数据库(HBase、Solr)及Kafka的HA配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

Apache Atlas是开源的元数据治理框架,可以为Hive、HBase、Kafka等提供元数据管理功能,如:

  1. 数据分类
  2. 查看和更新Lineage
  3. 元数据搜索
  4. 与Apache Ranger集成控制权限

注意:为便于安装配置,以及后续的管理维护,建议用HDP Ambari等工具来部署Atlas。这里用HDP-2.6.4 Ambari部署Atlas 0.8.0元数据治理服务。

架构

atlas_architecture.png

注意:

  1. Atlas 内部用Graph图模型来保存元数据。
  2. Atlas 1.0.0之前默认使用Titan图数据库(后来叫JanusGraph图数据库)来存储Graph图模型。
  3. Titan图数据库可以用HBase、Cassandra、Berkeley DB 作为Storage Backend来存储图数据,用Elasticsearch、Solr、Lucene作为Index Backend来索引图数据。Atlas-Titan默认使用HBase来存储元数据,用Solr来索引元数据。
  4. Atlas 使用Kafka作为通知服务。Hook将元数据变化发送到Kafka Topic,Atlas根据这些通知更新元数据库。

Atlas HA部署

由上述Atlas架构可知,要实现Atlas HA,则要实现Atlas 各组件的HA。

  • Atlas Web Server HA
  • Titan Storage Backend HA,这里即HBase HA(已实现)。
  • Titan Index Backend HA,这里即Solr HA。
  • Atlas Notification Server HA,这里即Kafka HA(已实现)。

注意:这里只需再实现Titan Index Backend HA(即Solr HA)与Atlas Web Server HA即可。

  • Solr HA通过SolrCloud集群实现。
  • Atlas Web Server HA通过Zookeeper实现。

节点规划

节点角色
node1ZooKeeper、Kafka、HBase Master
node2ZooKeeper、Kafka、HBase RegionServer、Solr、Atlas Web Service
node3ZooKeeper、Kafka、HBase RegionServer 、Solr、Atlas Web Service
node4HBase Maste、HBase RegionServer、Solr

Solr HA

Solr集群,也叫SolrCloud,提供分布式索引和搜索功能。这里通过Ambari Infra Solr Instance实现。

第一步: 配置node2
通过Ambari-Add Service在node2添加Infra Solr Instance

第二步: 配置node3
通过Ambari-Host Add 添加Infra Solr Instance

第三步: 配置node4
通过Ambari-Host Add 添加Infra Solr Instance

第四步:启动所有Infra Solr Instance服务

第五步:简单验证
1、任意一台solr机器,创建solr collection,查看WebUI
    A、创建collection
        [root@node2 ~]# /usr/lib/ambari-infra-solr/bin/solr create_collection -c test_collection -shards 3 -replicationFactor 2

    B、删除collection
        [root@node2 ~]# /usr/lib/ambari-infra-solr/bin/solr delete -c test_collection

2、挂掉任意一台Infra Solr Instance服务
    A、查看zookeeper /infra-solr/live_nodes
        [root@node2 ~]# /usr/hdp/2.6.4.0-91/zookeeper/bin/zkCli.sh -server node1:2181

    B、Solr WebUI Query

solr_cloud.png

Atlas Web Server HA

这里通过Ambari Atlas Service服务来部署。

第一步: 配置node2
通过Ambari-Add Service在node2添加Atlas Web Server
注意,以下参数使用如下推荐值即可,也可安装后再修改参数。
    hive.atlas.hook=true
    hive.exec.post.hooks=org.apache.atlas.hive.hook.HiveHook
    atlas.rest.address=	http://node2:21000
    
第二步:配置node3
通过Ambari-Host Add 添加Atlas Web Server
注意,以下参数使用如下推荐值即可,也可安装后再修改参数。
    atlas.rest.address=http://node2:21000,http://node3:21000
    
第三步:配置HA,并启动
通过Ambari Atlas Custom application-properties添加如下参数。
    atlas.server.ha.enabled=true
    atlas.server.ids=id1,id2
    atlas.server.address.id1=node2:21000
    atlas.server.address.id2=node3:21000
    atlas.server.ha.zookeeper.connect=node1:2181,node2:2181,node3:2181

第四步:配置Hive Hook 
1、检查hive-site.xml并添加如下配置
    hive.exec.post.hooks=org.apache.atlas.hive.hook.HiveHook
2、拷贝atlas-application.properties至Hive Conf目录
    cp /usr/hdp/2.6.4.0-91/atlas/conf/atlas-application.properties /usr/hdp/2.6.4.0-91/hive/conf/
    [root@node3 ~]# cp /usr/hdp/2.6.4.0-91/atlas/conf/atlas-application.properties /usr/hdp/2.6.4.0-91/hive/conf/
    
第五步:验证
1、验证HA
    A、查看状态
    通过Rest API查看
    curl -XGET http://node2:21000/api/atlas/admin/status 如:ACTIVE、PASSIVE
    通过Zookeeper查看
    [root@node2 ~]# /usr/hdp/2.6.4.0-91/zookeeper/bin/zkCli.sh -server node1:2181
        get /apache_atlas/active_server_info
    挂掉一台,通过WebUI查看是否正常工作
    
2、验证Hive Hook
   A、Hive中创建表
    create external table page_browsing
    (  
    page_id bigint comment '页面ID',    
    page_url string comment '页面URL'  
    )
    PARTITIONED BY (dt string)
    LOCATION '/data/hive/test2'
  B、在Kafka Topic ATLAS_ENTITIES 中可看到建表产生的Notification
  C、WebUI查看LINEAGE

atlas_hive_lineage.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值