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

0. 说明

文中的${ATLAS_HOME}, ${HIVE_HOME} 环境变更需要根据实际环境进行替换。

1. 依赖

A. 软件依赖

CDH6.3.0 环境已安装:

  1. Apache Hadoop
  2. Apache Zookeeper
  3. Apache Kafka
  4. Apache HBase
  5. Apache Solr
  6. Apache Hive

2. Apache Atlas包编译

下载源文件包:https://atlas.apache.org/#/Downloads
2fd1d5c8b2c8b87b2dd27c5ed063a882.png

在IDEA里编译

mvn clean install -Dmaven.test.skip=true
mvn clean package -Pdist -Dmaven.test.skip=true

编译过程中会因为网络、插件等各种问题阻断。多试几次就可以了。

distro/pom.xml 里有个exec-maven-plugin一直编译不过,把他注释掉继续编译就可以了。

编译完成后在distro/target目录下会有如下产物:

distro/target/apache-atlas-{project.version}-bin.tar.gz
distro/target/apache-atlas-{project.version}-hbase-hook.tar.gz
distro/target/apache-atlas-{project.version}-hive-hook.gz
distro/target/apache-atlas-{project.version}-kafka-hook.gz
distro/target/apache-atlas-{project.version}-sources.tar.gz
distro/target/apache-atlas-{project.version}-sqoop-hook.tar.gz
distro/target/apache-atlas-{project.version}-storm-hook.tar.gz

3. 安装配置

A. 传送jar包到服务器并解压

tar -zxf apache-atlas-2.0.0-bin.tar.gz

B. 集成Hbase

a. 在atlas-application.properties文件中修改配置

vim atlas-application.properties
#修改atlas存储数据主机
atlas.graph.storage.hostname=${zk_hostname1}:2181,${zk_hostname2}:2181,${zk_hostname3}:2181

b. 将hbase的配置文件链接到${ATLAS_HOME}

ln -s ${HBASE_HOME}/conf/ ${ATLAS_HOME}/conf/hbase/

c. 在atlas_env.sh文件中添加HBASE_CONF_DIR

vim atlas-env.sh
export HBASE_CONF_DIR=${ATLAS_HOME}/conf/hbase/conf

C. 集成Solr

有个问题,我在非zookeeper结点上执行solrctl命令失败,要在zookeeper结点上执行才成功。

a. 在atlas-application.properties文件中修改配置

vim atlas-application.properties
#修改如下配置
atlas.graph.index.search.solr.zookeeper-url=${zk_hostname1}:2181/solr

b. 实例化atlas配置文件

solrctl instancedir --create atlas ${ATLAS_HOME}/conf/solr

c. 创建collection

solrctl collection --create vertex_index -s 1 -c atlas -r 1
solrctl collection --create edge_index -s 1 -c atlas -r 1
solrctl collection --create fulltext_index -s 1 -c atlas -r 1

D. 集成Kafka

a. 在atlas-application.properties文件中修改配置

vim atlas-application.properties
######### Notification Configs #########
atlas.notification.embedded=false
atlas.kafka.zookeeper.connect=${zk_hostname1}:2181,${zk_hostname2}:2181,${zk_hostname3}:2181
atlas.kafka.bootstrap.servers=${kafka_hostname1}:9092,${kafka_hostname2}:9092,${kafka_hostname2}:9092
atlas.kafka.zookeeper.session.timeout.ms=4000
atlas.kafka.zookeeper.connection.timeout.ms=2000
atlas.kafka.enable.auto.commit=true

b. 在启动好的kafka集群中创建Topic

kafka-topics --zookeeper ${zk_hostname1}:2181 --create --replication-factor 3 --partitions 3 --topic _HOATLASOK
kafka-topics --zookeeper ${zk_hostname1}:2181 --create --replication-factor 3 --partitions 3 --topic ATLAS_ENTITIES

E. Atlas配置

a.在atlas-application.properties文件中修改配置

因为CDH里21000端口被Impala占用了,这里把端口改为21001

vim atlas-application.properties
#Server port configuration
atlas.server.http.port=21001
######### Server Properties #########
atlas.rest.address=http://hadoop102:21001
#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=${zk_hostname1}:2181,${zk_hostname2}:2181,${zk_hostname3}:2181

F. 集成Hive

a. 在atlas-application.properties文件中修改配置

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=primary

b. 将atlas-application.properties文件夹复制到hive/conf目录下

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

c. 将atlas-application.properties配置文件加入到atlas-plugin-classloader-2.0.0.jar中

zip -u ${ATLAS_HOME}/hook/hive/atlas-plugin-classloader-2.0.0.jar ${ATLAS_HOME}/conf/atlas-application.properties

d. 在CDH中配置hive-site

  • 修改 hive-site.xml

d847e88a21bf91364c4fa3a5a4fac214.png

<property>
<name>hive.exec.post.hooks</name>
<value>org.apache.atlas.hive.hook.HiveHook</value>
</property>
  • 修改 hive-env.sh 的 Gateway 客户端环境高级配置代码段(安全阀)
    d8c6c053bab459b05570c62358c03e17.png
HIVE_AUX_JARS_PATH=/usr/local/src/atlas/apache-atlas-2.0.0/hook/hive
  • 修改 HIVE_AUX_JARS_PATH

60e2685be0b118a71508851d8bc611d6.png

  • 修改 hive-site.xml 的 HiveServer2 高级配置代码段(安全阀)
    a7b703bfc22fa499006b1f34bd6638a5.png
<property>
<name>hive.exec.post.hooks</name>
<value>org.apache.atlas.hive.hook.HiveHook</value>
</property>
<property>
<name>hive.reloadable.aux.jars.path</name>
<value>/usr/local/src/atlas/apache-atlas-2.0.0/hook/hive</value>
</property>
  • 修改 HiveServer2 环境高级配置代码段
    f2b2058cdbcb1afb60a64e5082b418db.png
HIVE_AUX_JARS_PATH=/usr/local/src/atlas/apache-atlas-2.0.0/hook/hive

e.在CM页面重新启动Hive相关服务

重启后检查下第c步copy的配置文件还在不,不在的话,再copy一次

G.分发atlas软件包到各个节点

scp -r /usr/local/src/atlas/apache-atlas-2.0.0 root@cdh02.cm:/usr/local/src/atlas/
scp -r /usr/local/src/atlas/apache-atlas-2.0.0 root@cdh02.cm:/usr/local/src/atlas/

4. 启动与关闭

A. 启动

cd ${ATLAS_HOME}
bin/atlas_start.py
输入账户密码 user:admin password:admin
访问地址 http://${HOST_NAME}:21001

B. 关闭

cd ${ATLAS_HOME}
bin/atlas_stop.py

5.导入Hive元数据

  • 所有节点添加hive环境变量
vim /etc/profile
#>>>
#hive
export HIVE_HOME=/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hive
export HIVE_CONF_DIR=/etc/hive/conf
export PATH=$HIVE_HOME/bin:$PATH
#<<< source /etc/profile
  • 执行atlas脚本
cd ${ATLAS_HOME}
bin/imort_hive.sh
输入账户密码 user:admin password:admin

注意:CDH6.3.0安装的HIVE版本为2.1.0, 但Atlas 2.1.0版本中编译用的HIVE版本为3.x的。

在执行import_hive.sh时会报找不到方法的错。需要修改下源代码里的方法,重新编译包hive-bridge-2.1.0.jar

所需修改的项目位置:apache-atlas-sources-2.1.0\addons\hive-bridge

org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java 577行
08fcf251c00bea942f7c2caa69e8575c.png
修改后重新编译,将apache-atlas-sources-2.1.0/addons/hive-bridge/target/hive-bridge-2.1.0.jar

替换${ATLAS_HOME}/hook/hive/atlas-hive-plugin-impl/hive-bridge-2.1.0.jar

CDH6.3.0下Apache Atlas2.1.0安装与配置的更多相关文章

  1. Windows下Apache与PHP的安装与配置

    下载Apache Apache的官网(http://httpd.apache.org) 1.把解压后的Apache拷贝到要安装的目标位置.建议拷贝到C盘根目录下,因为这是其默认设置. 2.我选择的是拷 ...

  2. CentOS下Apache+SVN+LDAP的安装与配置

    上班接近4个月了,在公司做配置管理工程师,主要是在Linux下对公司的源代码以及项目发布进行管理.4个月接触了好多新知识,也对各种工具的集成使用搞得云里来雾里去的,所以打算自己搭建一套环境,进行测试. ...

  3. Linux下MyCat和MyCat_web的安装和配置

    Linux下MyCat和MyCat_web的安装和配置 Mycat 是一个数据库分库分表中间件 Mycat web 可以对 Mycat进行监控,这里分享一下 Mycat web 的搭建过程 详细内容可 ...

  4. Sublime Text3下的markdown插件的安装及配置

    Sublime Text3下的markdown插件的安装及配置 安装准备--安装Package Control 安装MarkdownEditing 安装Markdown Preview或OmniMar ...

  5. Centos 7.3下 Linux For SQL Server安装及配置介绍

    Centos 7.3下 Linux For SQL Server安装及配置介绍 高文龙关注13人评论2828人阅读2017-03-05 21:46:21 Centos 7.3下Linux For SQ ...

  6. Apache+php+mysql的安装与配置 - 之三(Apache的虚拟主机配置)

    Apache+php+mysql的安装与配置 - 之三(Apache的虚拟主机配置) Apache核心(Core)配置 VirtualHost 语法 <VirtualHost addr[:por ...

  7. CentOS 下 Java 的下载、安装、配置

    CentOS 下 Java 的下载.安装.配置 系统: CentOS 7 x86_64 Java 版本: 1.8.0_171 本文将 Java 目录放在 /usr/local/java 文件夹下,读者 ...

  8. 在VC6.0下如何调用Delphi5.0开发的进程内COM

    因为本人的语言水平很差,考大学时150的总分,我考了个60分.外语也是,初中及格过一次,会考及格过一次.其它的时间好像从没有及格过.所以我不写文章,因我一百字的文章给我写,至少要出八九个错别字.哈哈… ...

  9. LinuxMint下Apache Http源码安装过程

    1. 源码包下载 Apache Http安装要求必须安装APR.APR-Util.PCRE等包. Apache Http包下载地址:http://httpd.apache.org/download.c ...

随机推荐

  1. NO.A.0010——Windows常用快捷键使用教程

    小娜操作: Win + C: 打开Cortana微软小娜,并开始聆听...... Win + Q: 打开Cortana: Win + S: 打开Cortana:sdfghjkrtgyh XBOX操作: ...

  2. ABBYY FineReader 15 文档转换功能

    我们平常工作的时候总会固定地只用某几个文档格式,有的人经常使用office,所以电脑内就没安装PDF阅读器,这个时候就需要文档转换器了,ABBYY FineReader 15 也能够帮助我们实现快速的 ...

  3. 文件误删了怎么办,EasyRecovery来帮忙

    哈喽大家好!又到了年底冲业绩的时候了,每逢这个时候,收拾自己的电脑就和收拾放假一样,令人头秃,不是这个文件丢了,就是那个数据没了,不管您是为论文头秃发愁的学生,还是朝九晚五的上班族,又或者是日进斗金的 ...

  4. 巧妙运用Camtasia制作爱豆的动感影集

    对于追星族来说,收集爱豆的图片.视频是日常必做的事情,而对于进阶型的追星族来说,为爱豆自制各种精美的视频.影集等,会让自己追星之路显得更为充实. 我们可以借助Camtasia教程录制软件为爱豆制作各种 ...

  5. web服务器是啥

    什么是web服务器 参考 https://www.cnblogs.com/zhaoyl/archive/2012/10/10/2718575.html 了解nginx之前,先了解下什么是web服务器吧 ...

  6. C++基础知识篇:C++ 变量作用域

    作用域是程序的一个区域,一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量. 在函数参数的定义中声明的变量,称为形式参数. 在所有函数外部声明的变量,称为全局变量. 我们 ...

  7. 教你C 语言简单编程速成

    我们将所有的 C 语言要素放置到一份易读的备忘录上. 1972 年,丹尼斯·里奇Dennis Ritchie任职于贝尔实验室Bell Labs,在几年前,他和他的团队成员发明了 Unix .在创建了一 ...

  8. 从零开始了解多线程知识之开始篇目 -- jvm&volatile

    CPU多核缓存存储结构图 电脑存储结构概念 多CPU 一个现代计算机通常由两个或者多个CPU,如果要运行多个程序(进程)的话,假如只有 一个CPU的话,就意味着要经常进行进程上下文切换 因为单CPU即 ...

  9. 题解 洛谷 P3396 【哈希冲突】(根号分治)

    根号分治 前言 本题是一道讲解根号分治思想的论文题(然鹅我并没有找到论文),正 如论文中所说,根号算法--不仅是分块,根号分治利用的思想和分块像 似却又不同,某一篇洛谷日报中说过,分块算法实质上是一种 ...

  10. JZOJ 【NOIP2016提高A组集训第16场11.15】兔子

    JZOJ [NOIP2016提高A组集训第16场11.15]兔子 题目 Description 在一片草原上有N个兔子窝,每个窝里住着一只兔子,有M条路径连接这些窝.更特殊地是,至多只有一个兔子窝有3 ...