Atlas部署并集成HIVE

01、概述

  • Atlas:提供元数据管理和治理的服务
    企业可以对 自己Hadoop生态的数据资产 构建目录,进行分类和治理
  • 主要功能:元数据分类、元数据检索、血缘依赖(表到表、字段到字段)
  • 官网:https://atlas.apache.org

架构图

  • Core
    核心组件
    • Type System
      允许 用户 定义和管理 元数据 类型和实体 的组件
      所有由Atlas管理的开箱即用的元数据对象(如:Hive表、HIVE字段)都是用类型建模并表示为实体
    • Graph Engine
      在内部,使用 图模型 来 持久化 元数据对象,并为元数据对象创建的索引 来 加速搜索
      索引持久化到Solr
    • JanusGraph
      存储元数据对象
      元数据持久化到HBase
    • Ingest / Export
      Ingest组件:将元数据添加到Atlas
      Export组件:将Atlas检测到的元数据更改公开为事件
  • Integration
    用户可以使用两种方法管理Atlas中的元数据
    • API
      通过REST API向用户公开,允许对类型和实体的增删查改
    • Messaging
      基于Kafka的消息传递接口
      Atlas使用Kafka作为通知服务器,用于hooks和元数据通知事件的下游消费者之间的通信
      事件由hooks和Atlas编写到不同的Kafka主题
  • Metadata sources
    支持的元数据来源有:HBase、Hive、Sqoop、Storm、Kafka
  • Apps
    • Admin UI
      一个基于web的应用程序,提供搜索界面和SQL之类的查询语言
    • Ranger Tag Based Policies
      Apache Ranger是Hadoop生态系统的高级安全管理解决方案,广泛集成了各种Hadoop组件
      通过Range与Atlas集成,允许安全管理员定义元数据驱动的安全策略,以实现有效的治理

Atlas安装架构图

02、集群规划、版本、环境变量

  • Atlas自带的HBase、Solr等,本文是集成外部的,预装JDK、Zookeeper、Kafka、HBase、Hive

  • 集群规划
    https://yellow520.blog.csdn.net/article/details/115536550

  • 环境变量
    https://blog.csdn.net/Yellow_python/article/details/112692486

03、Solr集群部署

  • Apache SolrTM是 建立在Apache LuceneTM之上的 开源的企业搜索平台
  • 在此处,Solr的作用是:加快元数据的搜索
  • 下载地址:https://solr.apache.org/

在每个节点创建名为Solr的系统用户

useradd solr
echo solr | passwd --stdin solr

解压、修改户主

tar -zxvf solr-7.7.3.tgz
mv solr-7.7.3 solr
chown -R solr:solr solr
mv solr $B_HOME/solr

修改配置文件

vim $B_HOME/solr/bin/solr.in.sh
ZK_HOST="hadoop102:2181,hadoop103:2181,hadoop104:2181"

分发到每个节点

rsync.py $B_HOME/solr

在每个节点,使用solr用户来启动Solr(前提是ZooKeeper在运行)

sudo -i -u solr $B_HOME/solr/bin/solr start

Web端口为8983,任意节点都可

注意Cloud菜单栏

关闭Solr的命令(每台机执行)

sudo -i -u solr $B_HOME/solr/bin/solr stop

04、安装Atlas服务

下载编译好的Atlas:
https://download.csdn.net/download/Yellow_python/79106345

解压、改名

tar -zxvf apache-atlas-2.1.0-server.tar.gz
mv apache-atlas-2.1.0 $ATLAS_HOME

配置

vim $ATLAS_HOME/conf/atlas-application.properties
#########  Server Properties  #########
atlas.rest.address=http://hadoop102: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.zookeeper.quorum=hadoop102:2181,hadoop103:2181,hadoop104:2181

05、配置Atlas存储到外部HBase

修改图的存储地址(Zookeeper地址,HBase集群依赖ZooKeeper)

vim $ATLAS_HOME/conf/atlas-application.properties
atlas.graph.storage.hostname=hadoop102:2181,hadoop103:2181,hadoop104:2181

告诉Atlas,外部HBase配置的路径

vim $ATLAS_HOME/conf/atlas-env.sh
export HBASE_CONF_DIR=$HBASE_HOME/conf

06、Atlas集成Solr

vim $ATLAS_HOME/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

Solr创建collection(图的 顶点、边、全文)

sudo -i -u solr $B_HOME/solr/bin/solr create  -c vertex_index -d $ATLAS_HOME/conf/solr -shards 3 -replicationFactor 2
sudo -i -u solr $B_HOME/solr/bin/solr create -c edge_index -d $ATLAS_HOME/conf/solr -shards 3 -replicationFactor 2
sudo -i -u solr $B_HOME/solr/bin/solr create -c fulltext_index -d $ATLAS_HOME/conf/solr -shards 3 -replicationFactor 2

创建后

07、Atlas集成Kafka

vim $ATLAS_HOME/conf/atlas-application.properties

atlas.kafka.data=Kafka数据存放位置

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

08、Atlas集成Hive

解压hook

tar -zxvf apache-atlas-2.1.0-hive-hook.tar.gz

把hook复制到Atlas安装路径

cp -r apache-atlas-hive-hook-2.1.0/* $ATLAS_HOME/

HIVE环境添加HIVE-hook的jar路径

cd $HIVE_HOME/conf
mv hive-env.sh.template hive-env.sh
vim hive-env.sh
export HIVE_AUX_JARS_PATH=$ATLAS_HOME/hook/hive

HIVE配置添加Hook

vim $HIVE_HOME/conf/hive-site.xml
<property>
    <name>hive.exec.post.hooks</name>
    <value>org.apache.atlas.hive.hook.HiveHook</value>
</property>

加入Atlas的HIVE-Hook配置

vim $ATLAS_HOME/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

将Atlas配置文件atlas-application.properties拷贝到HIVE

cp $ATLAS_HOME/conf/atlas-application.properties  $HIVE_HOME/conf/

09、启动Atlas

$ATLAS_HOME/bin/atlas_start.py

浏览器访问hadoop102:21000
端口:21000
账号:admin
密码:admin

10、Hive元数据初次导入

$ATLAS_HOME/hook-bin/import-hive.sh

输入用户名和密码admin

11、Atlas服务密码修改

Atlas配置里,有个用户凭证

cd $ATLAS_HOME/conf
cat users-credentials.properties

文件原本内容如下

#username=group::sha256-password
admin=ADMIN::a4a88c0872bf652bb9ed803ece5fd6e82354838a9bf59ab4babb1dab322154e1
rangertagsync=RANGER_TAG_SYNC::0afe7a1968b07d4c3ff4ed8c2d809a32ffea706c66cd795ead9048e81cfaf034

admin=ADMIN::后面是SHA256算法加密后的密文

把密码修改为123456的方法如下:

1、生成密文

echo -n 123456 | sha256sum

2、替换ADMIN::后面的密文,可直接在原文件上替换,本文是复制一个新文件

cp users-credentials.properties users-credentials-2.properties
vim users-credentials-2.properties
admin=ADMIN::8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

3、修改atlas-application.properties中的身份验证
(如果密文是直接在users-credentials.properties上替换,则省略此步)

vim $ATLAS_HOME/conf/atlas-application.properties
atlas.authentication.method.file=true
atlas.authentication.method.file.filename=${sys:atlas.home}/conf/users-credentials-2.properties

4、重启Atlas

$ATLAS_HOME/bin/atlas_stop.py
$ATLAS_HOME/bin/atlas_start.py

12、附录

en🔉cn
atlasˈætləsn. 地图册;第一颈椎
hookhʊkn. 钩
backend'bæk,ɛndn. 后端
vertexˈvɜːrteksn. 顶点
synchronousˈsɪŋkrənəsadj. 同步的;同时的
embeddedɪmˈbedɪdadj. 嵌入(或插入、埋入)……之中的;v. 使嵌入
SHASecure Hash Algorithm安全散列算法
credentialkrəˈdenʃln. 资格;文凭;v. 给……提供证书

血缘展示样例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值