IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Atlas元数据管理 -> 正文阅读

[大数据]Atlas元数据管理

1、Atlas概述

Apache Atlas为组织提供开放式元数据管理和治理功能,用以构建其数据资产目录,对这些资产进行分类和管理,并为数据分析师和数据治理团队,提供围绕这些数据资产的协作功能。

Atlas的具体功能如下:

元数据分类 支持对元数据进行分类管理,例如个人信息,敏感信息等
元数据检索 可按照元数据类型、元数据分类进行检索,支持全文检索
血缘依赖 支持表到表和字段到字段之间的血缘依赖,便于进行问题回溯和影响分析等

2、Atlas安装

1)Atlas官网地址:https://atlas.apache.org/
2)文档查看地址:https://atlas.apache.org/2.1.0/index.html
3)下载地址:https://www.apache.org/dyn/closer.cgi/atlas/2.1.0/apache-atlas-2.1.0-sources.tar.gz

2.1 安装环境准备

Atlas安装分为:集成自带的HBase + Solr;集成外部的HBase + Solr。通常企业开发中选择集成外部的HBase + Solr,方便项目整体进行集成操作。
以下是Atlas所以依赖的环境及集群规划。

在这里插入图片描述

2.1.1 安装Solr-7.7.3

1.在每台节点创建系统用户solr

[root@hadoop102 ~]# useradd solr
[root@had oop102 ~]# echo solr | passwd --stdin solr

[root@hadoop103 ~]# useradd solr
[root@hadoop103 ~]# echo solr | passwd --stdin solr

[root@hadoop104 ~]# useradd solr
[root@hadoop104 ~]# echo solr | passwd --stdin solr

2.解压solr-7.7.3.tgz到/opt/module目录,并改名为solr

[root@hadoop102 ~]# tar -zxvf solr-7.7.3.tgz -C /opt/module/
[root@hadoop102 ~]# mv solr-7.7.3/ solr

3.修改solr目录的所有者为solr用户

[root@hadoop102 ~]# chown -R solr:solr /opt/module/solr

4.修改solr配置文件
修改/opt/module/solr/bin/solr.in.sh文件中的以下属性

ZK_HOST="hadoop102:2181,hadoop103:2181,hadoop104:2181"

5.分发solr

[root@hadoop102 ~]# xsync /opt/module/solr

6.启动solr集群
1)启动Zookeeper集群

[root@hadoop102 ~]# zk.sh start

2)启动solr集群
出于安全考虑,不推荐使用root用户启动solr,此处使用solr用户,在所有节点执行以下命令启动solr集群

[root@hadoop102 ~]# sudo -i -u solr /opt/module/solr/bin/solr start
[root@hadoop103 ~]# sudo -i -u solr /opt/module/solr/bin/solr start
[root@hadoop104 ~]# sudo -i -u solr /opt/module/solr/bin/solr start

出现 Happy Searching! 字样表明启动成功。

说明:上述警告内容是:solr推荐系统允许的最大进程数和最大打开文件数分别为65000和65000,而系统默认值低于推荐值。如需修改可参考以下步骤,修改完需要重启方可生效,此处可暂不修改。
(1)修改打开文件数限制
修改/etc/security/limits.conf文件,增加以下内容

* soft nofile 65000
* hard nofile 65000

(2)修改进程数限制
修改/etc/security/limits.d/20-nproc.conf文件

*          soft    nproc     65000

(3)重启服务器
7.访问web页面

默认端口为8983,可指定三台节点中的任意一台IP,http://hadoop102:8983 

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

2.1.8 安装Atlas2.1.0

1.把apache-atlas-2.1.0-server.tar.gz 上传到hadoop102的/opt/software目录下
2.解压apache-atlas-2.1.0-server.tar.gz 到/opt/module/目录下面

[root@hadoop102 software]# tar -zxvf apache-atlas-2.1.0-server.tar.gz -C /opt/module/

3.修改apache-atlas-2.1.0的名称为atlas

[root@hadoop102 ~]# mv /opt/module/apache-atlas-2.1.0 /opt/module/atlas

2.2 Atlas配置

2.2.1 Atlas集成Hbase

1.修改/opt/module/atlas/conf/atlas-application.properties配置文件中的以下参数

atlas.graph.storage.hostname=hadoop102:2181,hadoop103:2181,hadoop104:2181

2.修改/opt/module/atlas/conf/atlas-env.sh配置文件,增加以下内容

export HBASE_CONF_DIR=/opt/module/hbase/conf

2.2.2 Atlas集成Solr

1.修改/opt/module/atlas/conf/atlas-application.properties配置文件中的以下参数

atlas.graph.index.search.backend=solr
atlas.graph.index.search.solr.mode=cloud
atlas.graph.index.search.solr.zookeeper-url=hadoop102:2181,hadoop103:2181,hadoop104:2181

2.创建solr collection

[root@hadoop102 ~]# sudo -i -u solr /opt/module/solr/bin/solr create  -c vertex_index -d /opt/module/atlas/conf/solr -shards 3 -replicationFactor 2
[root@hadoop102 ~]# sudo -i -u solr /opt/module/solr/bin/solr create -c edge_index -d /opt/module/atlas/conf/solr -shards 3 -replicationFactor 2
[root@hadoop102 ~]# sudo -i -u solr /opt/module/solr/bin/solr create -c fulltext_index -d /opt/module/atlas/conf/solr -shards 3 -replicationFactor 2

2.2.3 Atlas集成Kafka

修改/opt/module/atlas/conf/atlas-application.properties配置文件中的以下参数

atlas.notification.embedded=false
atlas.kafka.data=/opt/module/kafka/data
atlas.kafka.zookeeper.connect= hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka
atlas.kafka.bootstrap.servers=hadoop102:9092,hadoop103:9092,hadoop104:9092

2.2.4 Atlas Server配置

1.修改/opt/module/atlas/conf/atlas-application.properties配置文件中的以下参数

#########  Server Properties  #########
atlas.rest.address=http://hadoop102:21000
atlas.server.run.setup.on.start=false

#########  Entity Audit Configs  #########
atlas.audit.hbase.zookeeper.quorum=hadoop102:2181,hadoop103:2181,hadoop104:2181

2.记录性能指标,进入/opt/module/atlas/conf/路径,修改当前目录下的atlas-log4j.xml

[root@hadoop101 conf]# vim atlas-log4j.xml

#去掉如下代码的注释

<appender name="perf_appender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="${atlas.log.dir}/atlas_perf.log" />
    <param name="datePattern" value="'.'yyyy-MM-dd" />
    <param name="append" value="true" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d|%t|%m%n" />
    </layout>
</appender>

<logger name="org.apache.atlas.perf" additivity="false">
    <level value="debug" />
    <appender-ref ref="perf_appender" />
</logger>

2.2.5 Kerberos相关配置

若Hadoop集群开启了Kerberos认证,Atlas与Hadoop集群交互之前就需要先进行Kerberos认证。若Hadoop集群未开启Kerberos认证,则本节可跳过。
1.为Atlas创建Kerberos主体,并生成keytab文件

[root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey atlas/hadoop102"
[root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/atlas.service.keytab atlas/hadoop102"

2.修改/opt/module/atlas/conf/atlas-application.properties配置文件,增加以下参数

atlas.authentication.method=kerberos
atlas.authentication.principal=atlas/hadoop102@EXAMPLE.COM
atlas.authentication.keytab=/etc/security/keytab/atlas.service.keytab

2.2.6 Atlas集成Hive

1.安装Hive Hook
1)解压Hive Hook

[root@hadoop102 ~]# tar -zxvf apache-atlas-2.1.0-hive-hook.tar.gz

2)将Hive Hook依赖复制到Atlas安装路径

[root@hadoop102 ~]# cp -r apache-atlas-hive-hook-2.1.0/* /opt/module/atlas/

3)修改/opt/module/hive/conf/hive-env.sh配置文件
注:需先需改文件名

[root@hadoop102 ~]# mv hive-env.sh.template hive-env.sh
增加如下参数
export HIVE_AUX_JARS_PATH=/opt/module/atlas/hook/hive

2.修改Hive配置文件,在/opt/module/hive/conf/hive-site.xml文件中增加以下参数,配置Hive Hook。

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

3.修改/opt/module/atlas/conf/atlas-application.properties配置文件中的以下参数

######### Hive Hook Configs #######
atlas.hook.hive.synchronous=false
atlas.hook.hive.numRetries=3
atlas.hook.hive.queueSize=10000
atlas.cluster.name=primary

4)将Atlas配置文件/opt/module/atlas/conf/atlas-application.properties
拷贝到/opt/module/hive/conf目录

[root@hadoop102 ~]# cp /opt/module/atlas/conf/atlas-application.properties  /opt/module/hive/conf/

2.4 Atlas启动

1.启动Atlas所依赖的环境
1)启动Hadoop集群
(1)在NameNode节点执行以下命令,启动HDFS

[root@hadoop102 ~]# start-dfs.sh

(2)在ResourceManager节点执行以下命令,启动Yarn

[root@hadoop103 ~]# start-yarn.sh

2)启动Zookeeper集群

[root@hadoop102 ~]# zk.sh start

3)启动Kafka集群

[root@hadoop102 ~]# kf.sh start

4)启动Hbase集群
在HMaster节点执行以下命令,使用hbase用户启动HBase

[root@hadoop102 ~]# sudo -i -u hbase start-hbase.sh

5)启动Solr集群
在所有节点执行以下命令,使用solr用户启动Solr

[root@hadoop102 ~]# sudo -i -u solr /opt/module/solr/bin/solr start
[root@hadoop103 ~]# sudo -i -u solr /opt/module/solr/bin/solr start
[root@hadoop104 ~]# sudo -i -u solr /opt/module/solr/bin/solr start

6)进入/opt/module/atlas路径,启动Atlas服务

[root@hadoop102 atlas]# bin/atlas_start.py

提示:
(1)错误信息查看路径:/opt/module/atlas/logs/*.out和application.log
(2)停止Atlas服务命令为atlas_stop.py
7)访问Atlas的WebUI

访问地址:http://hadoop102:21000

注意:等待若干分钟。
账户:admin
密码:admin

3、Atlas使用

Atlas的使用相对简单,其主要工作是同步各服务(主要是Hive)的元数据,并构建元数据实体之间的关联关系,然后对所存储的元数据建立索引,最终未用户提供数据血缘查看及元数据检索等功能。
Atlas在安装之初,需手动执行一次元数据的全量导入,后续Atlas便会利用Hive Hook增量同步Hive的元数据。

3.1 Hive元数据初次导入

Atlas提供了一个Hive元数据导入的脚本,直接执行该脚本,即可完成Hive元数据的初次全量导入。
1.导入Hive元数据
执行以下命令

[root@hadoop102 ~]# /opt/module/atlas/hook-bin/import-hive.sh 
按提示输入用户名:admin;输入密码:admin
Enter username for atlas :- admin
Enter password for atlas :- 
等待片刻,出现以下日志,即表明导入成功
Hive Meta Data import was successful!!!

2.查看Hive元数据
1)搜索hive_table类型的元数据,可已看到Atlas已经拿到了Hive元数据

2)任选一张表查看血缘依赖关系
发现此时并未出现期望的血缘依赖,原因是Atlas是根据Hive所执行的SQL语句获取表与表之间以及字段与字段之间的依赖关系的,
例如执行insert into table_a select * from table_b语句,Atlas就能获取table_a与table_b之间的依赖关系。此时并未执行任何SQL语句,故还不能出现血缘依赖关系。

3.2 Hive元数据增量同步

Hive元数据的增量同步,无需人为干预,只要Hive中的元数据发生变化(执行DDL语句),Hive Hook就会将元数据的变动通知Atlas。除此之外,Atlas还会根据DML语句获取数据之间的血缘关系。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-01 12:00:29  更:2021-09-01 12:00:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:28:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码