Apache Atlas系列 -- 部署
文章目录
- 1 Overview
- 2 Atlas 部署
- 3 导入 Hive 元数据
1 Overview
Apache Atlas 是什么?
Atlas is a scalable and extensible set of core foundational governance services – enabling enterprises to effectively and efficiently meet their compliance requirements within Hadoop and allows integration with the whole enterprise data ecosystem.
摘抄一段官网上的介绍,Atlas 是一个可伸缩且功能丰富的数据管理系统,深度集成了 Hadoop 大数据组件。简单理解就是一个跟 Hadoop 关系紧密的,可以用来做元数据管理的一个系统。
为什么需要管理元数据?
这里只简单介绍一下,元数据管理的好处。比如 Hive 表新增的字段,需要了解其生命周期,也需要了解他的“来龙去脉”,也就是需要知道 Hive 表里,这个数据是如何生成的,由谁生存,什么时候生成,产生了什么变化,这些信息在等数据部门相对成熟了,而且各业务部门需求比较多,比较繁琐的时候,有这么一套系统就会有很大的好处。
元数据的定义非常广,比如一个 Hive 表什么时候生成,什么时候可以放弃,如果有元数据管理的体系,那么这些做起来就非常方便了,因此很多公司的大数据部门会安排人力去开发这样的一套系统。而 Atlas 则提供了很好的实现的参考思路和架构。
2 Atlas 部署
1.1.0 部署不成功。一直报集成的 HBase 的问题,不深究了,直接用 1.0.0 重新编译部署。然后就成功了…
具体的部署步骤就按照官方文档就好了。
需要注意的是,因为是单机部署,仅作测试使用,所以请按照 Packaging Apache Atlas with embedded Apache HBase & Apache Solr 的方式,集成 HBase 和 Solr。所以最关键就是以下这个命令。
mvn clean -DskipTests package -Pdist,embedded-hbase-solr
请注意,启动命令在以下路径输入:
/Path/to/apache-atlas-sources-1.0.0/distro/target/apache-atlas-1.0.0-bin/apache-atlas-1.0.0
因为我按照官网的提示,实际上是并没有 atlas-${project.version} (version 是指你安装的版本)这个文件的。
tar -xzvf apache-atlas-${project.version}-bin.tar.gz
cd atlas-${project.version}
关于启动的时候,如果想知道发生了什么事情,那么可以参考以下路径,找到日志文件。因为是集成的 HBase 和 Solr,对应路径也有 log 文件,可以帮助排查服务为什么起不来。
/Path/to/apache-atlas-sources-1.0.0/distro/target/apache-atlas-1.0.0/logs
正常启动的日志应该是这样的:
########################################################################################
Atlas Server (STARTUP)
project.name: apache-atlas
project.description: Metadata Management and Data Governance Platform over Hadoop
build.user: runzhliu
build.epoch: 1549713649455
project.version: 1.0.0
build.version: 1.0.0-rrelease
vc.revision: release
vc.source.url: scm:git:git://git.apache.org/atlas.git/atlas-webapp
######################################################################################## (Atlas:215)
2019-02-09 20:37:55,332 INFO - [main:] ~ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (Atlas:216)
2019-02-09 20:37:55,332 INFO - [main:] ~ Server starting with TLS ? false on port 21000 (Atlas:217)
2019-02-09 20:37:55,332 INFO - [main:] ~ <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (Atlas:218)
2019-02-09 20:37:56,258 INFO - [main:] ~ No authentication method configured. Defaulting to simple authentication (LoginProcessor:102)
2019-02-09 20:37:56,503 INFO - [main:] ~ Logged in user runzhliu (auth:SIMPLE) (LoginProcessor:77)
2019-02-09 20:37:57,562 INFO - [main:] ~ Not running setup per configuration atlas.server.run.setup.on.start. (SetupSteps$SetupRequired:189)
需要注意的是,如果在 Mac 上进行单机部署,内存和资源有可能会不足的,这样会影响各个组件的性能,产生各种各样的问题导致服务无法成功启动的!
3 导入 Hive 元数据
单机部署 Hive 其实十分简单,如果是 Mac 用户,直接 brew install hive
就可以了。大家都知道 Hive 需要 Hadoop 环境,所以使用 brew 安装 hive 的时候,默认会先安装 Hadoop 对应的版本,当然了用 brew 有很多版本的问题,如果你需要指定你想安装的 Hive 版本,会比较麻烦一点,但是直接从 Hive 官网下载你需要的版本就解压,并且指定单机的 Hadoop 环境也是相当容易的。
- 一个脑洞“颇大”的恶搞链接
- SQL 行列转换简单示例
- SQLSERVER 2012计算上一条,下一条数据的函数
- 使用命名管道实现进程间通信
- 获取SqlServer存储过程定义的3种方法
- 【自然框架】开源社区活动,会员注册的第一份代码!
- CentOS 7 安装Mono 和 MonoDevelop
- 【自然框架】注册会员活动——第一份代码的修改建议(第一版)
- 【视频】自然框架之分页控件的使用方法(一) PostBack方式的一般分页方式
- Java中的Socket编程学习
- 【视频】自然框架之分页控件的使用方法(二) 下载、DLL说明和web.config的设置
- Jsp开发中遇到的中文乱码问题及解决方法
- 开发中最常见的Java字符串问题总结
- .net异步性能测试(包括ASP.NET MVC WebAPI异步方法)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 前端「N皇后」递归回溯经典问题图解
- 深入 TypeScript 中的子类型、逆变、协变,进阶 Vue3 源码前必须搞懂的。
- Vue3 + TypeScript 实现递归菜单组件
- TypeScript 4.1 新特性:字符串模板类型,Vuex 终于有救了?
- TS 4.1 新特性实现 Vuex 无限层级命名空间的 dispatch 类型推断。
- egg.js踩坑记录(一)开始篇
- VUI创建日志(二)——防抖节流组件的实现
- 为你的VuePress博客添加GitTalk评论
- Go 中 Set 的实现方式
- Go 译文之词法分析与解析 Part Three
- React-Native踩坑记
- 【译】成为优秀程序员(和人类)的101个技巧
- 谈谈ES6语法(汇总中篇)
- 谈谈ES6语法(汇总下篇)
- [译] JS 中 service workers 的简介