Atlas集成Hive

在安装好Atlas以后,如果想要使用起来,还要让Atlas与其他组件建立联系。

其中最常用的就是Hive。

通过Atlas的架构,只要配置好Hive Hook ,那么每次Hive做任何操作就会写入Kafka从而被atlas接收。

并在Atlas中已图的形式展示出来。

Hive Model

都会记录Hive哪些操作信息呢?Altas对Hive Model进行了定义。

包含以下内容:

1、实体类型:

hive_db

类型: Asset

属性:qualifiedName, name, description, owner, clusterName, location, parameters, ownerName

hive_table

类型:DataSet

属性:qualifiedName, name, description, owner, db, createTime, lastAccessTime, comment, retention, sd, partitionKeys, columns, aliases, parameters, viewOriginalText, viewExpandedText, tableType, temporary

hive_column

​ 类型:DataSet

​ 属性:qualifiedName, name, description, owner, type, comment, table

hive_storagedesc

​ 类型:Referenceable

​ 属性: qualifiedName, table, location, inputFormat, outputFormat, compressed, numBuckets, serdeInfo, bucketCols, sortCols, parameters, storedAsSubDirectories

hive_process

​ 类型:Process

​ 属性:qualifiedName, name, description, owner, inputs, outputs, startTime, endTime, userName, operationType, queryText, queryPlan, queryId, clusterName

hive_column_lineage

​ 类型:Process

​ 属性:qualifiedName, name, description, owner, inputs, outputs, query, depenendencyType, expression

2、枚举类型:

​ hive_principal_type 值:USER, ROLE, GROUP

3、构造类型

hive_order 属性: col, order

hive_serde 属性: name, serializationLib, parameters

HIve实体的结构:

hive_db.qualifiedName:     <dbName>@<clusterName>
hive_table.qualifiedName: <dbName>.<tableName>@<clusterName>
hive_column.qualifiedName: <dbName>.<tableName>.<columnName>@<clusterName>
hive_process.queryString: trimmed query string in lower case

配置Hive hook

hive hook会监听hive的 create/update/delete 操作,下面是配置步骤:

1、修改hive-env.sh(指定包地址)

export HIVE_AUX_JARS_PATH=/opt/apps/apache-atlas-2.1.0/hook/hive

2、修改hive-site.xml(配置完需要重启hive)

<property>
<name>hive.exec.post.hooks</name>
<value>org.apache.atlas.hive.hook.HiveHook</value>
</property>
1234

注意,这里其实是执行后的监控,可以有执行前,执行中的监控。

3、同步配置

拷贝atlas配置文件atlas-application.properties到hive配置目录

添加配置:

atlas.hook.hive.synchronous=false
atlas.hook.hive.numRetries=3
atlas.hook.hive.queueSize=10000
atlas.cluster.name=primary
atlas.rest.address=http://doit33:21000

将Hive元数据导入Atlas

bin/import-hive.sh

Using Hive configuration directory [/opt/module/hive/conf]

Log file for import is /opt/module/atlas/logs/import-hive.log

log4j:WARN No such property [maxFileSize] in org.apache.log4j.PatternLayout.

log4j:WARN No such property [maxBackupIndex] in org.apache.log4j.PatternLayout.

输入用户名:admin;输入密码:admin

Enter username for atlas :- admin

Enter password for atlas :-

Hive Meta Data import was successful!!!

踩坑全记录

一、找不到类 org.apache.atlas.hive.hook.hivehook

hive第三方jar包没加进去

小技巧 使用hive-shell 看一下jar包加进去没有 set这将打印由用户或配置单元覆盖的配置变量列表。

以加入elsaticsearch-hadoop-2.1.2.jar为例,讲述在Hive中加入第三方jar的几种方式。

1,在hive shell中加入

hive> add jar /home/hadoop/elasticsearch-hadoop-hive-2.1.2.jar;

连接方式 是否有效
Hive Shell 不需要重启Hive服务就有效
Hive Server 无效

2,Jar放入${HIVE_HOME}/auxlib目录

在${HIVE_HOME}中创建文件夹auxlib,然后将自定义jar文件放入该文件夹中。

此方法添加不需要重启Hive。而且比较便捷。

连接方式 是否有效
Hive Shell 不需要重启Hive服务就有效
Hive Server 重启Hive服务才生效

3,HIVE.AUX.JARS.PATH和hive.aux.jars.path

hive-env.sh中的HIVE.AUX.JARS.PATH和hive-site.xml的hive.aux.jars.path配置对服务器无效,仅对当前hive shell有效,不同的hive shell相互不影响,每个hive shell都需要配置,可以配置成文件夹形式。

HIVE.AUX.JARS.PATH和hive.aux.jars.path仅支持本地文件。可配置成文件,也可配置为文件夹。

连接方式 是否有效
Hive Shell 重启Hive服务才生效
Hive Server 重启Hive服务才生效
二、HIVE报错 Failing because I am unlikely to write too

HIVE.AUX.JARS.PATH配置不对

hive-env.sh脚本中有一段

# Folder containing extra libraries required for hive compilation/execution can be controlled by:
if [ "${HIVE_AUX_JARS_PATH}" != "" ]; then
export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}
elif [ -d "/usr/hdp/current/hive-webhcat/share/hcatalog" ]; then
export HIVE_AUX_JARS_PATH=/usr/hdp/current/hive-webhcat/share/hcatalog
fi

如果给HIVE_AUX_JARS_PATH设值,则/usr/hdp/current/hive-webhcat/share/hcatalog就会被忽略掉。

hive只能读取一个HIVE_AUX_JARS_PATH

在一个地方集中放置我们的共享jar包,然后在/usr/hdp/current/hive-webhcat/share/hcatalog下面建立一相应的软连接就可以

sudo -u hive ln -s /usr/lib/share-lib/elasticsearch-hadoop-2.1.0.Beta4.jar /usr/hdp/current/hive-webhcat/share/hcatalog/elasticsearch-hadoop-2.1.0.Beta4.jar

了解大数据实时计算 感受数据流动之美 欢迎关注 实时流式计算

Atlas 2.1.0 实践(3)—— Atlas集成HIve的更多相关文章

  1. Atlas 2.1.0 实践(2)—— 安装Atlas

    在完成Atlas编译以后,就可以进行Atlas的安装了.Atlas的安装主要是安装Atlas的Server端,也就Atlas的管理页面,并确保Atlas与Kafka Hbase Solr等组件的集成. ...

  2. Atlas 2.1.0 实践(1)—— 编译Atlas

    为什么要做数据治理? 业务繁多,数据繁多,业务数据不断迭代.人员流动,文档不全,逻辑不清楚,对于数据很难直观理解,后期很难维护. 在大数据研发中,原始数据就有着非常多的数据库,数据表. 而经过数据的聚 ...

  3. Atlas 2.1.0 实践(4)—— 权限控制

    Atlas的权限控制非常的丰富,本文将进行其支持的各种权限控制的介绍. 在atlas-application.properties配置文件中,可以设置不同权限的开关. atlas.authentica ...

  4. spring-boot-2.0.3之quartz集成,最佳实践

    前言 开心一刻 快过年了,大街上,爷爷在给孙子示范摔炮怎么放,嘴里还不停念叨:要像这样,用劲甩才能响.示范了一个,两个,三个... 孙子终于忍不住了,抱着爷爷的腿哭起来:爷呀,你给我剩个吧! 新的一年 ...

  5. Atlas+Keepalived系列二:管理Atlas

    1:登录代理端口1234 [root@localhost bin]# mysql -uroot -p -P1234 -h127.0.0.1 proxy-address项配置,例如proxy-addre ...

  6. 《Vue2.0 实践揭秘》终于出版啦!

    不知不觉间在园子开博都两年多了,最近一些园友问最近去哪了为何都没有新的文章了.最近确实发生了很多的事,一是忙工作二就是忙着写书.这还得多些园子的小编,自两年前发表的"架构师修炼"系 ...

  7. spring-boot-2.0.3之quartz集成,数据源问题,源码探究

    前言 开心一刻 着火了,他报警说:119吗,我家发生火灾了. 119问:在哪里? 他说:在我家. 119问:具体点. 他说:在我家的厨房里. 119问:我说你现在的位置. 他说:我趴在桌子底下. 11 ...

  8. Kafka应用实践与生态集成

    1.前言 Apache Kafka发展至今,已经是一个很成熟的消息队列组件了,也是大数据生态圈中不可或缺的一员.Apache Kafka社区非常的活跃,通过社区成员不断的贡献代码和迭代项目,使得Apa ...

  9. MyEclipse_6.0.1GA_E3.3.1集成版下载地址

    因在开发中经常使用到myeclipse 对比相关版本,还是觉得6.0 –6.5 比较适合开发,其他的开发起来比较卡,下面是下载地址 MyEclipse_6.0.1GA_E3.3.1集成版下载地址:   ...

随机推荐

  1. Python编程学习爆破一些简单加密的文件

    前言 这里只是分享一下Python如何生成爆破字典,对于简单的一些加密文件,咱们可以跑字典获取正确的密码,比如zip加密文件.这里小编给大家简单的介绍一下爆破字典的方法,希望对大家学习Python有帮 ...

  2. C# 中国日历 农历 阳历 星座 二十四节气 二十八星宿 节日 天干地支

    using System; namespace DotNet.Utilities { /// <summary> /// 农历属性 /// </summary> public ...

  3. JPA 复杂查询 - Querydsl

     添加依赖 <!--query dsl --> <dependency> <groupId>com.querydsl</groupId> <art ...

  4. sql中模糊查询和在开始和结束时间之间

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...

  5. H5-地理定位/本地存储/拖放

    一.地理定位 Geolocation 兼容性:Internet Explorer 9+, Firefox, Chrome, Safari 和 Opera 支持Geolocation(地理定位). 一次 ...

  6. go语言的下载、安装、配置

    一.下载 Go 语言支持以下系统: Linux FreeBSD Mac OS X(也称为 Darwin) Windows 安装包下载地址为:https://golang.org/dl/. 如果打不开可 ...

  7. .NET 云原生架构师训练营(模块二 基础巩固 EF Core 更新和迁移)--学习笔记

    2.4.6 EF Core -- 更新 状态 自动变更检测 不查询删除和更新 并发 状态 Entity State Property State Entity State Added 添加 Uncha ...

  8. Mapreduce实例--二次排序

    前言部分: 在Map阶段,使用job.setInputFormatClass定义的InputFormat将输入的数据集分割成小数据块splites,同时InputFormat提供一个RecordRed ...

  9. JVM内存设置多大合适?Xmx和Xmn如何设置?

    JVM内存设置多大合适?Xmx和Xmn如何设置?   问题:新上线一个java服务,或者是RPC或者是WEB站点, 内存的设置该怎么设置呢?设置成多大比较合适,既不浪费内存,又不影响性能呢? 分析:依 ...

  10. eclipse中安装jetty插件并使用

    一.eclipse中jetty插件安装: 打开eclipse,依次点击菜单Help->Eclipse Marketplace,在Find后面的框中输入jetty,选择第一项进行install即可 ...