钩子
HBase
登录后可跨设备保存划线和私人笔记登录
Apache Atlas Hook & Bridge for Apache HBase
HBase 模型
HBase 模型包含以下类型:
实体类型:
hbase_namespace
- 超类型:Asset
- 属性:qualifiedName、name、description、owner、clusterName、parameters、createTime、modifiedTime
hbase_table
- 超类型:DataSet
- 属性:qualifiedName、name、description、owner、namespace、column_families、uri、parameters、createtime、modifiedtime、maxfilesize、isReadOnly、isCompactionEnabled、isNormalizationEnabled、ReplicaPerRegion、Durability
hbase_column_family
- 超类型:DataSet
- 属性:qualifiedName、name、description、owner、columns、createTime、bloomFilterType、compressionType、compactionCompressionType、encryptionType、inMemoryCompactionPolicy、keepDeletedCells、maxversions、minVersions、datablockEncoding、storagePolicy、ttl、blockCachedEnabled、cacheBloomsOnWrite、cacheDataOnWrite、evictBlocksOnClose、prefetchBlocksOnOpen、newVersionsBehavior、isMobEnabled、mobCompactPartitionPolicy
HBase 实体在 Atlas 中通过唯一属性 qualifiedName 创建并进行去重,其取值应按照如下格式进行组织。请注意,namespaceName、tableName 和 columnFamilyName 必须为小写。
hbase_namespace.qualifiedName: <namespaceName>@<clusterName>
hbase_table.qualifiedName: <namespaceName>:<tableName>@<clusterName>
hbase_column_family.qualifiedName: <namespaceName>:<tableName>.<columnFamilyName>@<clusterName>HBase Hook
Atlas HBase hook 以协处理器(co-processor)的身份注册到 HBase master。当检测到 HBase 命名空间/表/列族发生变化时,Atlas hook 会通过 Kafka 通知来更新 Atlas 中的元数据。请按照以下步骤在 HBase 中设置 Atlas hook:
- 在 hbase-site.xml 中添加以下内容来注册 Atlas hook:
<property>
<name>hbase.coprocessor.master.classes</name>
<value>org.apache.atlas.hbase.hook.HBaseAtlasCoprocessor</value>
</property>- 解压 apache-atlas-${project.version}-hbase-hook.tar.gz
- 执行 cd apache-atlas-hbase-hook-${project.version}
- 将文件夹 apache-atlas-hbase-hook-${project.version}/hook/hbase 中的全部内容复制到
<atlas package>/hook/hbase - 将 Atlas hook 的 jar 包链接到 HBase 的 classpath 中——执行 'ln -s
<atlas package>/hook/hbase/*<hbase-home>/lib/' - 将
<atlas-conf>/atlas-application.properties 复制到 HBase 的 conf 目录。
atlas-application.properties 中的以下属性用于控制线程池和通知相关设置:
atlas.hook.hbase.synchronous=false # whether to run the hook synchronously. false is recommended to avoid delays in HBase operations. Default: false
atlas.hook.hbase.numRetries=3 # number of retries for notification failure. Default: 3
atlas.hook.hbase.queueSize=10000 # queue size for the threadpool. Default: 10000
atlas.cluster.name=primary # clusterName to use in qualifiedName of entities. Default: primary
atlas.kafka.zookeeper.connect= # Zookeeper connect URL for Kafka. Example: localhost:2181
atlas.kafka.zookeeper.connection.timeout.ms=30000 # Zookeeper connection timeout. Default: 30000
atlas.kafka.zookeeper.session.timeout.ms=60000 # Zookeeper session timeout. Default: 60000
atlas.kafka.zookeeper.sync.time.ms=20 # Zookeeper sync time. Default: 20Kafka 通知生产者的其他配置可以通过在配置名称前加上 atlas.kafka. 前缀来指定。有关 Kafka 生产者支持的配置列表,请参阅 Kafka Producer Configs
注意事项
- Atlas HBase 钩子仅捕获命名空间、表和列族的创建/更新/删除操作。对列的更改也会被捕获。
导入 HBase 元数据
Apache Atlas 提供了一个命令行工具 import-hbase.sh,用于将 Apache HBase 命名空间和表的元数据导入 Apache Atlas。可以使用该工具,利用 Apache HBase 集群中已有的命名空间/表来初始化 Apache Atlas。该工具支持导入特定表的元数据、特定命名空间中的所有表,或全部表的元数据。
Usage 1: <atlas package>/hook-bin/import-hbase.sh
Usage 2: <atlas package>/hook-bin/import-hbase.sh [-n <namespace regex> OR --namespace <namespace regex>] [-t <table regex> OR --table <table regex>]
Usage 3: <atlas package>/hook-bin/import-hbase.sh [-f <filename>]
File Format:
namespace1:tbl1
namespace1:tbl2
namespace2:tbl1评论
登录后参与评论
正在加载评论…
KnowForge