Atlas安装详解_atlas hbase_conf_dir_g511266804的博客-程序员秘密

技术标签: hive  zookeeper  hadoop  大数据  

一、Atlas简介

1.Atlas概述

Apache Atlas为组织提供开放式元数据管理和治理功能,用以构建其数据资产目录,对这些资产进行分类和管理,并为数据分析师和数据治理团队,提供围绕这些数据资产的协作功能,它为Hadoop集群提供了包括 数据分类、集中策略引擎、数据血缘、安全和生命周期管理在内的元数据治理核心能力。

2. Atlas框架原理

在这里插入图片描述

2.1 Core层

Atlas核心包含以下组件:
2.1.1 类型系统(Type System): 用户为他们想要管理的元数据对象定义模型。Type System称为“实体”的“类型”实例,表示受管理的实际元数据对象。
2.1.2 图形引擎(Graph Engine): Atlas在内部使用Graph模型持久保存它管理的元数据对象。
2.1.3 采集/导出(Ingest/Export):采集组件允许将元数据添加到Atlas。同样,“导出”组件将Atlas检测到的元数据更改公开为事件。

2.2 Integration层

在Atlas中,用户可以使用以下的两种方式管理元数据:
2.2.1 API: Atlas的所有功能都通过REST API向最终用户暴露,该API允许创建,更新和删除类型和实体。它也是查询和发现Atlas管理的类型和实体的主要机制。
2.2.2 Messaging: 除了API之外,用户还可以选择使用基于Kafka的消息传递接口与Atlas集成。

2.3 Metadata sources层

使用HDFS进行存储,使用MapReduce进行计算。
目前,Atlas支持从以下来源提取和管理元数据:HBase 、Hive、Sqoop、Storm、Kafka

2.4 Applications层

Atlas管理的元数据被各种应用程序使用,以满足许多治理需求。
2.4.1 Atlas Admin UI: 该组件是一个基于Web的应用程序,允许数据管理员和科学家发现和注释元数据。这里最重要的是搜索界面和类似SQL的查询语言,可用于查询Atlas管理的元数据类型和对象。
2.4.2 Ranger Tag Based Policies:权限管理模块

二、下载

1.Atlas官网地址

https://atlas.apache.org/

2.下载地址

https://www.apache.org/dyn/closer.cgi/atlas/0.8.4/apache-atlas-0.8.4-sources.tar.gz
Solr下载: http://archive.apache.org/dist/lucene/solr/5.2.1/solr-5.2.1.tgz

三、安装

1.安装环境准备

1.1安装Maven

(1)解压apache-maven-3.6.1-bin.tar.gz
[[email protected] soft]$ tar -zxvf apache-maven-3.6.1-bin.tar.gz -C /opt/
(2)修改apache-maven-3.6.1的名称为maven
[[email protected] opt]$ mv apache-maven-3.6.1/ maven
(3)配置Maven环境变量
[[email protected] opt]$ vim /etc/profile
#MAVEN_HOME
export MAVEN_HOME=/opt/module/maven
export PATH= P A T H : PATH: PATH:MAVEN_HOME/bin
(4)测试安装结果
[[email protected] opt]$ source /etc/profile
[[email protected] opt]$ mvn -v
(5)修改setting.xml,指定为阿里云
[[email protected] maven]$ cd conf
[[email protected] maven]$ vim settings.xml

nexus-aliyun central Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public ### 1.2安装Solr集群(只装了单节点) (1)解压solr-5.2.1.tgz [[email protected] soft]$ tar -zxvf solr-5.2.1.tgz -C /opt/ (2)修改solr-5.2.1的名称为solr [[email protected] opt]$ mv solr-5.2.1/ solr (3)进入solr/bin目录,修改solr.in.sh文件(如果是solr集群模式,分发solr目录到其他节点,修改SOLR_HOST为当节点) [[email protected] solr]$ vim bin/solr.in.sh #添加下列指令 ZK_HOST="bigdata3.jms.com:2181,bigdata2.jms.com:2181,bigdata1.jms.com:2181" SOLR_HOST="bigdata3.jms.com" Sets the port Solr binds to, default is 8983 #可修改端口号 SOLR_PORT=8983 (4)启动solr(先启动Zookeeper服务),cloud模式。(如果是solr集群模式,都可启动并访问) [[email protected] solr]$ bin/solr start -c -z bigdata3.jms.com:2181,bigdata2.jms.com:2181,bigdata1.jms.com:2181 -p 8983 (5)Web访问8983端口 http://bigdata3.jms.com:8983/solr/#/

提示:UI界面出现Cloud菜单栏时,solr的Cloud模式才算部署成功。

1.3其他环境要求

JDK8、稳定运行的Hadoop集群、Zookeeper集群、Hbase集群(要求1.x)Hive数据仓库、Kafka集群、Solr集群(5.2.1)

2.安装Atlas

Atlas对Hadoop、Solr、Kafka、Hbase等的版本都有要求,hdp集群的版本都较低,故折中选择Atlas0.84
2.1 编译Atlas源码包
(1)解压apache-atlas-0.8.4-sources.tar.gz
[[email protected] soft]$ tar -zxvf apache-atlas-0.8.4-sources.tar.gz -C /opt/module/
(2)修改apache-atlas-sources-0.8.4的名称为atlas
[[email protected] opt]$ mv apache-atlas-sources-0.8.4/ atlas
(3)构建Atlas
[[email protected] atlas]$ export MAVEN_OPTS="-Xms2g -Xmx2g"
[[email protected] atlas]$ mvn clean -DskipTests install#一定要在 a t l a s h o m e 执 行 提 示 : 需 翻 墙 , 网 络 要 求 很 高 , 尝 试 多 次 未 果 , 下 载 网 上 开 源 编 译 好 的 b i n 包 2.2 安 装 A t l a s 编 译 包 ( 1 ) 解 压 a p a c h e − a t l a s − 0.8.4 − b i n . t a r . g z [ r o o t @ b i g d a t a 3 s o f t ] {atlas_home}执行 提示:需翻墙,网络要求很高,尝试多次未果,下载网上开源编译好的bin包 2.2 安装Atlas 编译包 (1)解压apache-atlas-0.8.4-bin.tar.gz [[email protected] soft] atlashomebin2.2Atlas1apacheatlas0.8.4bin.tar.gz[root@bigdata3soft] tar -zxvf apache-atlas-0.8.4-bin.tar.gz -C /opt/
(2)修改apache-atlas-0.8.4的名称为atlas
[[email protected] opt]$ mv apache-atlas-0.8.4/ atlas

3.集成外部Hbase

(1)进入/opt/atlas/conf/目录,修改配置文件
[[email protected] conf]$ vim atlas-application.properties
#修改atlas存储数据主机(hbase对应zk的主机名)
atlas.graph.storage.hostname=bigdata3.jms.com,bigdata2.jms.com,bigdata1.jms.com
(2)进入/opt/atlas/conf/hbase路径,添加Hbase集群的配置文件到 A t l a s H o m e [ r o o t @ b i g d a t a 3 h b a s e ] {Atlas_Home} [[email protected] hbase] AtlasHome[root@bigdata3hbase] ln -s /usr/hdp/2.6.5.0-292/hbase/conf/ /opt/atlas/conf/hbase/
(3)在/opt/atlas/conf/atlas-env.sh中添加HBASE_CONF_DIR
[[email protected] conf]$ vim atlas-env.sh
#添加HBase配置文件路径
export HBASE_CONF_DIR=/opt/atlas/conf/hbase/conf

4.集成外部Solr

(1)进入/opt/module/atlas/conf目录,修改配置文件
[[email protected] conf]$ vim atlas-application.properties
修改如下配置
atlas.graph.index.search.solr.zookeeper-url=bigdata3.jms.com:2181,bigdata2.jms.com:2181,bigdata1.jms.com:2181
(2)将Atlas自带的Solr文件夹拷贝到外部Solr集群的节点上。
[[email protected] conf]$ cp -r /opt/atlas/conf/solr /opt/solr/
(3)进入到/opt/module/solr路径,修改拷贝过来的配置文件名称为atlas_conf
[[email protected] solr]$ mv solr atlas_conf
(4)在Cloud模式下,启动Solr(需要提前启动Zookeeper集群),并创建collection
[[email protected] solr]$ bin/solr create -c vertex_index -d /opt/solr/atlas_conf -shards 3 -replicationFactor 2
[[email protected] solr]$ bin/solr create -c edge_index -d /opt/solr/atlas_conf -shards 3 -replicationFactor 2
[[email protected] solr]$ bin/solr create -c fulltext_index -d /opt/solr/atlas_conf -shards 3 -replicationFactor 2
-shards 3:表示该集合分片数为3
-replicationFactor 2:表示每个分片数都有2个备份
vertex_index、edge_index、fulltext_index:表示集合名称
注意:如果需要删除vertex_index、edge_index、fulltext_index等collection可以执行如下命令。
[[email protected] solr]$ bin/solr delete -c ${collection_name}
(5)验证创建collection成功
登录solr web控制台:http://bigdata3.jms.com:8983/solr/#/~cloud 看到如下图显示:

5.集成Hive

(1)进入/opt/atlas/conf/目录,修改配置文件

[[email protected] conf]$ vim atlas-application.properties
######### Hive Hook Configs #######
atlas.hook.hive.synchronous=false
atlas.hook.hive.numRetries=3
atlas.hook.hive.queueSize=10000
atlas.cluster.name=yl_bigdata

(2)将atlas-application.properties配置文件加入到atlas-plugin-classloader-1.0.0.jar中

[[email protected] hive]$ zip -u /opt/atlas/hook/hive/atlas-plugin-classloader-0.8.4.jar /opt/atlas/conf/atlas-application.properties
[[email protected] hive]$ cp /opt/atlas/conf/atlas-application.properties /usr/hdp/2.6.5.0-292/hive/conf/

(3)hdp集群上更改hive-site.xml文件,设置Atlas hook

hive.exec.post.hooks: org.apache.atlas.hive.hook.HiveHook (提示:该属性已有一个变量,在后面添加即可)

6.集成Kafka

(1)进入/opt/atlas/conf/目录,修改配置文件atlas-application.properties

[[email protected] conf]$ vim atlas-application.properties
######### Notification Configs #########
atlas.notification.embedded=false
atlas.kafka.zookeeper.connect=bigdata3.jms.com:2181,bigdata2.jms.com:2181,bigdata1.jms.com:2181
atlas.kafka.bootstrap.servers=bigdata5.jms.com:6667,bigdata6.jms.com:6667,bigdata4.jms.com:6667(提示:hdp集群kafka默认端口是6667)
atlas.kafka.zookeeper.session.timeout.ms=4000
atlas.kafka.zookeeper.connection.timeout.ms=2000
atlas.kafka.enable.auto.commit=true
atlas.notification.create.topics=true
atlas.notification.topics=ATLAS_HOOK,ATLAS_ENTITIES

(2)创建Topic(可以不创建,启动Atlas会自动创建)

[[email protected] kafka]$ bin/kafka-topics.sh --zookeeper bigdata3.jms.com:2181,bigdata2.jms.com:2181,bigdata1.jms.com:2181
–create --replication-factor 3 --partitions 3 --topic ATLAS_HOOK
[[email protected] kafka]$ bin/kafka-topics.sh --zookeeper bigdata3.jms.com:2181,bigdata2.jms.com:2181,bigdata1.jms.com:2181
–create --replication-factor 3 --partitions 3 --topic ATLAS_ENTITIES

7.其他配置

atlas-application.properties 其他配置
######### Server port configuration #########
atlas.client.readTimeoutMSecs=60000
atlas.client.connectTimeoutMSecs=60000
######### Security Properties #########
SSL config
atlas.enableTLS=false
######### Server Properties #########
atlas.rest.address=http://bigdata3.jms.com:21000
If enabled and set to true, this will run setup steps when the server starts
atlas.server.run.setup.on.start=false
######### Entity Audit Configs #########
atlas.audit.hbase.tablename=apache_atlas_entity_audit
atlas.audit.zookeeper.session.timeout.ms=1000
atlas.audit.hbase.zookeeper.quorum=bigdata3.jms.com:2181,bigdata2.jms.com:2181,bigdata1.jms.com:2181

8.启动Atlas服务

[[email protected] atlas]$ bin/atlas_start.py
提示:错误信息查看路径:/opt/module/atlas/logs/*.out和application.log
访问地址:http://bigdata3.jms.com:21000
注意:等待时间大概2分钟。
账户:admin
密码:admin

9.将Hive元数据导入Atlas

(1)在/opt/atlas/路径,将Hive元数据导入到Atlas
[[email protected] atlas]$ bin/import-hive.sh
输入用户名:admin;输入密码:admin
(2)导入不成功可参考/opt/atlas/logs/import-hive.log
(3)导入后hive需要执行insert (select)等操作,并且有数据改变才能显示表之间的血缘关系,否则在安装Atlas之前建的库表只有建表的血缘显示。

四、使用

1.界面查看
1.1 访问http://jms.com:21000端口号,进行登录账号密码默认都为admin,登录成功页面如下:
在这里插入图片描述
1.2 查询Hive库
1.2.1 选择hive_db,Search
在这里插入图片描述
1.2.2 点击dwb库,查看库信息
在这里插入图片描述
1.2.3 点击Tables,查看表信息
在这里插入图片描述
1.2.4 进入任意表,Properties可看基本信息,Lineage可看表间的血缘关系,Tags可看标签,也可添加标签,Audits可看表修改更新详情,Schema可看字段详情
在这里插入图片描述

五、问题解决方案

1.Atlas UI页面出现503错误

在这里插入图片描述

1.1首先先排查是否是solr集群是否正常运行,查看solr页面cloud模式是否有vertex_index、edge_index、fulltext_index三个collection

在这里插入图片描述
1.2如果不是solr的问题,查看/opt/module/atlas/logs/*.out和log日志,发现是Hbase的问题
在这里插入图片描述
1.2.1首先检查Hbase是否正常运行,然后检查Hbase是否有Atlas的信息表,可在Hbase的节点上执行hbase shell,然后list查看
在这里插入图片描述
1.2.2因Atlas和Hbase的节点不同,查看atlas-env.sh的HBASE_CONF_DIR指向目录下的文件是否跟Hbase与zk对应的节点相同,最好拷贝一份到Atlas相同节点上

2.导入不成功,查看日志import-hive.log

2.1找不到TaskAttemptContext类
在这里插入图片描述

2.1.1缺少hadoop-mapreduce-client-core-2.7.3 jar包,去maven仓库下载对应hadoop版本的jar包放到/opt/atlas/hook/hive/atlas-hive-plugin-impl目录下

2.2导入表失败,读取时间超时(org.apache.atlas.hook.AtlasHookException: HiveMetaStoreBridge.registerTable() failed.)
在这里插入图片描述
2.2.1Kafka的问题,hdp的默认端口是6667,在atlas-application.properties修改,首先删除kafka的对应的Topic(ATLAS_HOOK,ATLAS_ENTITIES),修改后重启Atlas服务。

3.ZookeeperException

想要solr重建索引,删除collection后,重建不成功,报找不到索引错误
Could not find configName for collection vertex_index found:[]
在这里插入图片描述

3.1 Zookeeper内索引不存在, 在另一个zookeeper集群(测试)安装solr,atlas后确认zookeeper内新增的索引文件,删掉新增的索引文件,重装solr,新建collection。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/g511266804/article/details/106489935

智能推荐

Python 安装scrapy : Command python setup.py egg_info failed with error code 1_copeming的博客-程序员秘密

Windows cmd命令行在使用pip install scrapy安装scrapy时,报错Command python setup.py egg_info failed with error code 1需要我们更新pip和setuptools ,分别运行下面命令,在安装就行了python -m pip install --upgrade --force pip pip insta...

深度学习/机器学习的处理器列表(最全_中文版)_lqfarmer的博客-程序员秘密

https://basicmi.github.io/Deep-Learning-Processor-List/获取更多深度学习最新资讯快速通道:获取最新消息快速通道 - lqfarmer的博客 - 程序员秘密Nvidia公司GPU· Nvidia的最新版GPU可以使用其最新的Tensor核心架构,即16位TF或120 TFlops,这是

android根据语言加载资源,android的语言切换-应用程序 根据 不同的语言 加载不同的 res..._胖泽的博客-程序员秘密

internationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称L10n。 一般说明一个地区的语言时,用 语言_地区的形式,如 zh_CN, zh_TW.android 对i18n和L10n提供了非常好的支持。android没有专门的API来提供国际化,而是通过对不同resource的命名来达到国际化,同时这种命名方法...

Android漏洞检测与分析初探_zheshanye的博客-程序员秘密

近两天对Android漏洞检测的基础知识进行了初步了解,现总结如下:程序正确性证明对于程序的正确性证明,有公理证明、静态分析、动态分析、符号执行等方法。从公理角度证明程序的正确性就是想通过某种公理系统对程序进行描述,判断程序能否转移到正确状态或满足某种安全性质。而对于静态分析或动态分析方法则是从检测程序的执行路径角度对程序的正确性进行检验。静态分析方法由于执行方便,覆盖面广,可以广泛地检验...

osg 学习之十六:osgconv工具(android支持的纹理格式)_「已注销」的博客-程序员秘密

osgconv使用指南                                           osgconv是一种用来读取3D数据库以及对它们实施一些简单的操作的实用应用程序,同时也被称作一种专用3D数据库工具。用osgconv把其他格式的文件转换为OSG所支持的格式   osgconv是一种非常有用的的工具来读取标准的3D格式,如Open

随便推点

linux ifconfig 查看网卡_ifconfig 网卡列表_国苏的博客-程序员秘密

ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。ifconfig eth0表示第一块网卡,其中HWaddr表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是00:16:3E:00:1E:51。inet addr用来表示

SpringBoot使用@Async异步注解_springboot @async的限制_时间可以改变一切的博客-程序员秘密

在项目中,当访问其他人的接口较慢或者做耗时任务时,不想程序一直卡在耗时任务上,想程序能够并行执行,我们可以使用多线程来并行的处理任务,这里介绍下 SpringBoot 下的 @Async 注解,还有 ApplicationEventPublisher 可以了解下代码地址Github: https://github.com/dolyw/ProjectStudy/tree/master/SpringBoot/AsyncDemoGitee(码云): https://gitee.com/dolyw/Proj

SAP Spartacus 页面元数据_汪子熙的博客-程序员秘密

我Angular项目的angular.json文件里有这么一行:“aot”: true,意思是使用Ivy编译, 即Angular 下一代编译和渲染管道的代号。 从 Angular 的版本 9 开始,这个新的编译器和运行时指令集就代替了老的编译器和运行时(即视图引擎 View Engine)成为了默认值。可以使用通过 View Engine 编译器创建的库来构建 Ivy 应用程序。此兼容性由称为 Angular 兼容性编译器( ngcc )的工具提供。CLI 命令在执行 Angular 构建时会根据需

064 渗透测试实战,靶机 DC-2_入狱计划进度50%的博客-程序员秘密

文章目录一:环境准备二:flag1三:flag2四:flag3五:flag4六:flag5一:环境准备下载:点我下载之后完成安装,过程详情请参考,063 渗透测试实战,靶机 DC-1打开DC-2打开Kalinmap 扫描局域网主机nmap -sP 192.168.100.0/24 -oN nmap.sP确定主机之后,对主机进行端口扫描:nmap -A 192.168.100.8 -p 1-65535 -oN nmap.A发现开放了80和7744端口号。开放了80端口号,所以这时候

学生信息管理系统---数据库的建立_创建学生管理数据库_赵崇的博客-程序员秘密

学习学生信息管理,对于数据库的建立,两种基础方法的总结。

关于matlab中textread_matlab textread_DiamondDownload的博客-程序员秘密

textread基本语法是:    [A,B,C,…] = textread(filename,format)    [A,B,C,…] = textread(filename,format,N)其中filename就是文件名, format就是要读取的格式,A,B,C就是从文件中读取到的数据。必须严格遵守用法不可出现data=textread(filename,f