环境篇:Atlas2.0.0兼容CDH6.2.0部署

Atlas 是什么?

Atlas是一组可扩展和可扩展的核心基础治理服务,使企业能够有效地满足Hadoop中的合规性要求,并允许与整个企业数据生态系统集成。

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

如果没有Atlas

大数据表依赖问题不好解决,元数据管理需要自行开发,如:hive血缘依赖图

对于表依赖问题,没有一个可以查询的工具,不方便错误定位,即业务sql开发

  • 字段与字段之间的血缘依赖

1 Atlas 架构原理

2 Atlas 安装及使用

安装需要组件,HDFS、Yarn、Zookeeper、Kafka、Hbase、Solr、Hive,Python2.7环境

需要Maven3.5.0以上,jdk_151以上,python2.7。

2.1 下载源码包2.0.0,IDEA打开

2.2 修改相关版本与CDH版本对应

  1. <hadoop.version>3.0.0</hadoop.version>
  2. <hbase.version>2.1.0</hbase.version>
  3. <kafka.version>2.1.0</kafka.version>
  4. <zookeeper.version>3.4.5</zookeeper.version>

2.3 修改配置文件

apache-atlas-2.0.0-sources\apache-atlas-sources-2.0.0\distro\src\conf\atlas-application.properties

  1. #集成修改hbase配置
  2. atlas.graph.storage.hostname=cdh01.cm:2181,cdh02.cm:2181,cdh03.cm:2181
  3. #集成修改solr配置
  4. atlas.graph.index.search.solr.zookeeper-url=cdh01.cm:2181,cdh02.cm:2181,cdh03.cm:2181/solr
  5. #集成修改kafka配置
  6. atlas.notification.embedded=false #false外置的kafka
  7. atlas.kafka.zookeeper.connect=cdh01.cm:2181,cdh02.cm:2181,cdh03.cm:2181
  8. atlas.kafka.bootstrap.servers=cdh01.cm:9092,cdh02.cm:9092,cdh03.cm:9092
  9. atlas.kafka.zookeeper.session.timeout.ms=60000
  10. atlas.kafka.zookeeper.connection.timeout.ms=30000
  11. atlas.kafka.enable.auto.commit=true
  12. #集成修改其他配置
  13. atlas.rest.address=http://cdh01.cm:21000 #访问地址端口,此值修改不生效,默认本地21000端口,此端口和impala冲突
  14. atlas.server.run.setup.on.start=false #如果启用并设置为true,则在服务器启动时将运行安装步骤
  15. atlas.audit.hbase.zookeeper.quorum=cdh01.cm:2181,cdh02.cm:2181,cdh03.cm:2181
  16. #集成添加hive钩子配置(文件最下面即可)
  17. #在hive中做任何操作,都会被钩子所感应到,并生成相应的事件发往atlas所订阅的kafka-topic,再由atlas进行元数据生成和存储管理
  18. ######### Hive Hook Configs #######
  19. atlas.hook.hive.synchronous=false
  20. atlas.hook.hive.numRetries=3
  21. atlas.hook.hive.queueSize=10000
  22. atlas.cluster.name=primary
  23. #配置用户名密码(选做)
  24. #开启或关闭三种验证方法
  25. atlas.authentication.method.kerberos=true|false
  26. atlas.authentication.method.ldap=true|false
  27. atlas.authentication.method.file=true
  28. #vim users-credentials.properties(修改该文件)
  29. #>>>源文件
  30. #username=group::sha256-password
  31. admin=ADMIN::8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
  32. rangertagsync=RANGER_TAG_SYNC::e3f67240f5117d1753c940dae9eea772d36ed5fe9bd9c94a300e40413f1afb9d
  33. #<<<
  34. #>>>修改成用户名bigdata123,密码bigdata123
  35. #username=group::sha256-password
  36. bigdata123=ADMIN::aa0336d976ba6db36f33f75a20f68dd9035b1e0e2315c331c95c2dc19b2aac13
  37. rangertagsync=RANGER_TAG_SYNC::e3f67240f5117d1753c940dae9eea772d36ed5fe9bd9c94a300e40413f1afb9d
  38. #<<<
  39. #计算sha256:echo -n "bigdata123"|sha256sum

apache-atlas-2.0.0-sources\apache-atlas-sources-2.0.0\distro\src\conf\atlas-env.sh

  1. #集成添加hbase配置->下面的目录为atlas下的hbase配置目录,需要后面加入集群hbase配置
  2. export HBASE_CONF_DIR=/usr/local/src/atlas/apache-atlas-2.0.0/conf/hbase/conf
  3. #export MANAGE_LOCAL_HBASE=false (false外置的zk和hbase)
  4. #export MANAGE_LOCAL_SOLR=false (false外置的solr)
  5. #修改内存指标(根据线上机器配置)
  6. export ATLAS_SERVER_OPTS="-server -XX:SoftRefLRUPolicyMSPerMB=0
  7. -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC
  8. -XX:+CMSParallelRemarkEnabled -XX:+PrintTenuringDistribution
  9. -XX:+HeapDumpOnOutOfMemoryError
  10. -XX:HeapDumpPath=dumps/atlas_server.hprof
  11. -Xloggc:logs/gc-worker.log -verbose:gc
  12. -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10
  13. -XX:GCLogFileSize=1m -XX:+PrintGCDetails -XX:+PrintHeapAtGC
  14. -XX:+PrintGCTimeStamps"
  15. #优化 JDK1.8(以下需要16G内存)
  16. export ATLAS_SERVER_HEAP="-Xms15360m -Xmx15360m
  17. -XX:MaxNewSize=5120m -XX:MetaspaceSize=100M
  18. -XX:MaxMetaspaceSize=512m"

apache-atlas-2.0.0-sources\apache-atlas-sources-2.0.0\distro\src\conf\atlas-log4j.xml

  1. #去掉如下代码的注释(开启如下代码)
  2. <appender name="perf_appender" class="org.apache.log4j.DailyRollingFileAppender">
  3. <param name="file" value="${atlas.log.dir}/atlas_perf.log" />
  4. <param name="datePattern" value="'.'yyyy-MM-dd" />
  5. <param name="append" value="true" />
  6. <layout class="org.apache.log4j.PatternLayout">
  7. <param name="ConversionPattern" value="%d|%t|%m%n" />
  8. </layout>
  9. </appender>
  10. <logger name="org.apache.atlas.perf" additivity="false">
  11. <level value="debug" />
  12. <appender-ref ref="perf_appender" />
  13. </logger>

2.4 编译打包

  1. export MAVEN_OPTS="-Xms2g -Xmx2g"
  2. mvn clean -DskipTests install
  3. mvn clean -DskipTests package -Pdist

出现错误,使用-X参数打印详情对应解决,无非是一些网络,node代理等

Build将创建以下文件,这些文件用于安装Apache Atlas。

2.5 创建安装目录,上传安装包

  1. mkdir /usr/local/src/atlas
  2. cd /usr/local/src/atlas
  3. #复制apache-atlas-2.0.0-bin.tar.gz到安装目录
  4. tar -zxvf apache-atlas-2.0.0-bin.tar.gz
  5. cd apache-atlas-2.0.0/conf

2.5.1 集成Hbase

  • 添加hbase集群配置文件到apache-atlas-2.0.0/conf/hbase下(这里连接的路径需要和上面配置中一样)
  1. ln -s /etc/hbase/conf/ /usr/local/src/atlas/apache-atlas-2.0.0/conf/hbase/
  2. #ln -s /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hbase/conf/ /usr/local/src/atlas/apache-atlas-2.0.0/conf/hbase/

2.5.2 安装集成Solr

http://archive.apache.org/dist/lucene/solr/7.5.0/

官网推荐的solr节点数为3,内存为32G

  • 所有节点
  1. mkdir /usr/local/src/solr
  2. cd /usr/local/src/solr
  • 主节点上传包
  1. tar -zxvf solr-7.5.0.tgz
  2. cd solr-7.5.0/
  • 主节点修改 vim /usr/local/src/solr/solr-7.5.0/bin/solr.in.sh

ZK_HOST="cdh01.cm:2181,cdh02.cm:2181,cdh03.cm:2181"

SOLR_HOST="cdh01.cm"

SOLR_PORT=8983

  • 主节点分发
  1. scp -r /usr/local/src/solr/solr-7.5.0 root@cdh02.cm:/usr/local/src/solr
  2. scp -r /usr/local/src/solr/solr-7.5.0 root@cdh03.cm:/usr/local/src/solr

分发完,将SOLR_HOST改为对应机器

  • 集成solr

将apache-atlas-2.0.0/conf/solr文件拷贝到/usr/local/src/solr/solr-7.5.0/,更名为atlas-solr

  1. scp -r /usr/local/src/atlas/apache-atlas-2.0.0/conf/solr/ root@cdh01.cm:/usr/local/src/solr/solr-7.5.0/
  2. scp -r /usr/local/src/atlas/apache-atlas-2.0.0/conf/solr/ root@cdh02.cm:/usr/local/src/solr/solr-7.5.0/
  3. scp -r /usr/local/src/atlas/apache-atlas-2.0.0/conf/solr/ root@cdh03.cm:/usr/local/src/solr/solr-7.5.0/
  • 所有solr节点操作并启动
  1. cd /usr/local/src/solr/solr-7.5.0/
  2. mv solr/ atlas-solr
  3. #所有节点创建用户附权限
  4. useradd atlas && echo atlas | passwd --stdin atlas
  5. chown -R atlas:atlas /usr/local/src/solr/
  6. #所有节点执行启动(cloud模式)
  7. su atlas
  8. /usr/local/src/solr/solr-7.5.0/bin/solr start -c -z cdh01.cm:2181,cdh02.cm:2181,cdh03.cm:2181 -p 8983

  • 随便solr节点创建collection
  1. /usr/local/src/solr/solr-7.5.0/bin/solr create -c vertex_index -d /usr/local/src/solr/solr-7.5.0/atlas-solr -shards 3 -replicationFactor 2
  2. /usr/local/src/solr/solr-7.5.0/bin/solr create -c edge_index -d /usr/local/src/solr/solr-7.5.0/atlas-solr -shards 3 -replicationFactor 2
  3. /usr/local/src/solr/solr-7.5.0/bin/solr create -c fulltext_index -d /usr/local/src/solr/solr-7.5.0/atlas-solr -shards 3 -replicationFactor 2
  4. #如果创建错误,可使用 /opt/cloudera/parcels/CDH/lib/solr/bin/solr delete -c ${collection_name} 删除
  5. #切换root用户继续配置其他
  6. su root

2.5.3 集成kafka

  • 创建kafka-topic
  1. kafka-topics --zookeeper cdh01.cm:2181,cdh02.cm:2181,cdh03.cm:2181 --create --replication-factor 3 --partitions 3 --topic _HOATLASOK
  2. kafka-topics --zookeeper cdh01.cm:2181,cdh02.cm:2181,cdh03.cm:2181 --create --replication-factor 3 --partitions 3 --topic ATLAS_ENTITIES
  3. kafka-topics --zookeeper cdh01.cm:2181,cdh02.cm:2181,cdh03.cm:2181 --create --replication-factor 3 --partitions 3 --topic ATLAS_HOOK

2.5.5 集成Hive

  • 将 atlas-application.properties 配置文件,压缩加入到 atlas-plugin-classloader-2.0.0.jar 中
  1. #必须在此路径打包,才能打到第一级目录下
  2. cd /usr/local/src/atlas/apache-atlas-2.0.0/conf
  3. zip -u /usr/local/src/atlas/apache-atlas-2.0.0/hook/hive/atlas-plugin-classloader-2.0.0.jar atlas-application.properties
  • 修改 hive-site.xml

  1. <property>
  2. <name>hive.exec.post.hooks</name>
  3. <value>org.apache.atlas.hive.hook.HiveHook</value>
  4. </property>
  • 修改 hive-env.sh 的 Gateway 客户端环境高级配置代码段(安全阀)

  1. HIVE_AUX_JARS_PATH=/usr/local/src/atlas/apache-atlas-2.0.0/hook/hive
  • 修改 HIVE_AUX_JARS_PATH

  • 修改 hive-site.xml 的 HiveServer2 高级配置代码段(安全阀)

  1. <property>
  2. <name>hive.exec.post.hooks</name>
  3. <value>org.apache.atlas.hive.hook.HiveHook</value>
  4. </property>
  5. <property>
  6. <name>hive.reloadable.aux.jars.path</name>
  7. <value>/usr/local/src/atlas/apache-atlas-2.0.0/hook/hive</value>
  8. </property>
  • 修改 HiveServer2 环境高级配置代码段

  1. HIVE_AUX_JARS_PATH=/usr/local/src/atlas/apache-atlas-2.0.0/hook/hive
  • 将配置好的Atlas包发往各个hive节点后重启集群
  1. scp -r /usr/local/src/atlas/apache-atlas-2.0.0 root@cdh02.cm:/usr/local/src/atlas/
  2. scp -r /usr/local/src/atlas/apache-atlas-2.0.0 root@cdh02.cm:/usr/local/src/atlas/

重启集群

  • 将atlas配置文件copy到/etc/hive/conf下(集群各个节点)
  1. scp /usr/local/src/atlas/apache-atlas-2.0.0/conf/atlas-application.properties root@cdh01.cm:/etc/hive/conf
  2. scp /usr/local/src/atlas/apache-atlas-2.0.0/conf/atlas-application.properties root@cdh02.cm:/etc/hive/conf
  3. scp /usr/local/src/atlas/apache-atlas-2.0.0/conf/atlas-application.properties root@cdh03.cm:/etc/hive/conf

2.6 启动 Atlas

  1. #启动
  2. ./bin/atlas_start.py
  3. #停止:./bin/atlas_stop.py

注意监控日志,看是否报错。主要日志application.log

2.7 将 Hive 元数据导入 Atlas

  • 所有节点添加hive环境变量
  1. vim /etc/profile
  2. #>>>
  3. #hive
  4. export HIVE_HOME=/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hive
  5. export HIVE_CONF_DIR=/etc/hive/conf
  6. export PATH=$HIVE_HOME/bin:$PATH
  7. #<<<
  8. source /etc/profile
  • 执行atlas脚本
  1. ./bin/import-hive.sh
  2. #输入用户名:admin;输入密码:admin(如修改请使用修改的)

体验一下吧

环境篇:Atlas2.0.0兼容CDH6.2.0部署的更多相关文章

  1. 环境篇:Atlas2.1.0兼容CDH6.3.2部署

    环境篇:Atlas2.1.0兼容CDH6.3.2部署 Atlas 是什么? Atlas是一组可扩展和可扩展的核心基础治理服务,使企业能够有效地满足Hadoop中的合规性要求,并允许与整个企业数据生态系 ...

  2. 环境篇:Kylin3.0.1集成CDH6.2.0

    环境篇:Kylin3.0.1集成CDH6.2.0 Kylin是什么? Apache Kylin™是一个开源的.分布式的分析型数据仓库,提供Hadoop/Spark 之上的 SQL 查询接口及多维分析( ...

  3. Win7 64下Visual C++ 6.0不兼容

    Win7 64下Visual C++ 6.0不兼容 安装VSE6.0: 1.运行setup.exe安装程序,会弹出如下的的 程序兼容性助手 提示框,这个是Win7在警告用户vc6存在兼容性问题:此程序 ...

  4. CDH6.3.0下Apache Atlas2.1.0安装与配置

    CDH6.3.0下Apache Atlas2.1.0安装与配置 0. 说明 文中的${ATLAS_HOME}, ${HIVE_HOME} 环境变更需要根据实际环境进行替换. 1. 依赖 A. 软件依赖 ...

  5. CDH6.1.0离线安装——笔记

    一. 概述 该文档主要记录大数据平台的搭建CDH版的部署过程,以供后续部署环境提供技术参考. 1.1 主流大数据部署方法 目前主流的hadoop平台部署方法主要有以下三种: Apache hadoop ...

  6. 环境篇:CM+CDH6.3.2环境搭建(全网最全)

    环境篇:CM+CDH6.3.2环境搭建(全网最全) 一 环境准备 1.1 三台虚拟机准备 Master( 32g内存 + 100g硬盘 + 4cpu + 每个cpu2核) 2台Slave( 12g内存 ...

  7. 【Android】AppCompat V21:将 Materia Design 兼容到5.0之前的设备

    AppCompat V21:将 Materia Design 兼容到于5.0之前的设备 本篇文章翻译自Chris Banes(就职于Google,是Android-PullToRefresh,Phot ...

  8. ①CM+CDH6.2.0安装(全网最全)

    CM+CDH6.2.0环境准备 一 虚拟机及CentOs7配置 CentOS下载地址 master(16g+80g+2cpu+2核)+2台slave(8g+60g+2cpu+2核) 1.1 打开&qu ...

  9. CDH6.2.0离线安装(详细)

    目录 01 准备工作 02 环境配置 03 CDH安装 报错 01 准备工作 官网地址下载页面:https://www.cloudera.com/downloads/cdh.html,现在下载好像需要 ...

随机推荐

  1. AJ学IOS(53)多线程网络之NSOperation简介

    AJ分享,必须精品 一:简单介绍 1:NSOperation的作⽤使用步骤: 配合使用NSOperation和NSOperationQueue也能实现多线程编程. NSOperation和NSOper ...

  2. AJ学IOS(10)UI之_NSTimer_ios计时器

    AJ分享,必须精品 先看效果 代码 #import "NYViewController.h" @interface NYViewController () <UIAlertV ...

  3. 核心task

    由于Ant具有跨平台的特性,因此编写Ant生成文件时可能会失去一些灵活性.为了弥补这个不足,Ant提供了一个“exec”核心task,允许执行特定操作系统上的命令.

  4. sws_接口自动化_demo

    登录接口获取token: import requests import json def get_token(username, password): host = "https://sws ...

  5. 高校战“疫”网络安全分享赛 Misc ez_mem&usb

    打开之后是一个流量包 用wireshark导出HTTP文件,有个upload,用一下binwalk,出来了一个镜像文件 用volatility搜一下,命令里有一个密码,看见了但是后来给忘了... 文件 ...

  6. TeamViewer11 万全免费

    下载地址:百度网盘 c4xm TeamViewer 是一款简单易用且功能强大的远程控制软件,它能穿越内网,摆脱路由器或防火墙的限制,任何一方都不需要拥有固定IP地址.让不懂技术的朋友也能远程控制电脑, ...

  7. .NET Core 3 WPF MVVM框架 Prism系列文章索引

    .NET Core 3 WPF MVVM框架 Prism系列之数据绑定 .NET Core 3 WPF MVVM框架 Prism系列之命令 .NET Core 3 WPF MVVM框架 Prism系列 ...

  8. Android 开发技术周报 Issue#277

    新闻 Android 11界面再调整:加入快速截屏.多任务向国产ROM看齐 最新版Android 11推送 谷歌Pixel 5被曝光:支持反向充电 4月Android系统版本分布:8.0 Oreo最主

  9. TVP专家眼中的云开发:定是未来,尚不完美

    TVP专家眼中的云开发:定是未来,尚不完美 C++之父 Bjarne曾说,"世界上只有两种编程语言,一种被人骂,一种没人用".这句玩笑话道出了软件开发行业的真谛,不怕被人吐槽,就怕 ...

  10. 2019-2020-1 20199303《Linux内核原理与分析》第五周作业

    系统调用的三层机制 API:第一层是指Libc中定义的API,这些API封装了系统调用,使用int 0x80触发一个系统调用中断:当然,并非所有的API都使用了系统调用,如完成数学加减运算的API就没 ...