Atlas 2.2.0源码编译及安装步骤

  • 一、源码编译
    • 1. 下载源码
    • 2. 前置环境安装
    • 3. 修改版本号
    • 4. 修改源码中 atlas与kafka版本兼容问题
    • 5. 开始编译
    • 6. 问题锦集
  • 二、安装步骤
    • 1. 安装解压Atlas
    • 2. 集成HBase
    • 3. 集成Solr
    • 4. 集成Kafka
    • 5. Atlas-Server配置
    • 6. 集成Hive
    • 7. 集成Sqoop[待完善]

一、源码编译

1. 下载源码

    wget http://dlcdn.apache.org/atlas/2.2.0/apache-atlas-2.2.0-sources.tar.gz

2. 前置环境安装

  • 编译环境linux centos7.6
  • 要求 maven3.5.*+
  • jdk1.8.322
  • 尽量满足linux可以访问外网,因为需要下载jar,否则会很慢,可能会报错
  • zookeeper、hadoop、hbase、solr需要提前安装好

3. 修改版本号

  1. 修改源码中自己集群环境中版本号,【sqoop尽量不要修改,1.4.7版本与atlas兼容有问题】
  2. 如果业务库是低版本的,建议以高版本为主,atlas所支持的组件版本应该是向下兼容的
  <properties><akka.version>2.3.7</akka.version><antlr4.plugin.version>4.5</antlr4.plugin.version><antlr4.version>4.7</antlr4.version><aopalliance.version>1.0</aopalliance.version><aspectj.runtime.version>1.8.7</aspectj.runtime.version><atlas.surefire.options></atlas.surefire.options><calcite.version>1.16.0</calcite.version><checkstyle.failOnViolation>false</checkstyle.failOnViolation><codehaus.woodstox.stax2-api.version>3.1.4</codehaus.woodstox.stax2-api.version><commons-cli.version>1.4</commons-cli.version><commons-codec.version>1.14</commons-codec.version><commons-collections.version>3.2.2</commons-collections.version><commons-collections4.version>4.4</commons-collections4.version><commons-conf.version>1.10</commons-conf.version><commons-conf2.version>2.2</commons-conf2.version><commons-el.version>1.0</commons-el.version><commons-io.version>2.6</commons-io.version><commons-lang.version>2.6</commons-lang.version><commons-logging.version>1.1.3</commons-logging.version><commons-validator.version>1.6</commons-validator.version><curator.version>4.3.0</curator.version><doxia.version>1.8</doxia.version><dropwizard-metrics>3.2.2</dropwizard-metrics><elasticsearch.version>6.8.15</elasticsearch.version><entity.repository.impl>org.apache.atlas.repository.audit.InMemoryEntityAuditRepository</entity.repository.impl><enunciate-maven-plugin.version>2.13.2</enunciate-maven-plugin.version><failsafe.version>2.18.1</failsafe.version><falcon.version>0.8</falcon.version><fastutil.version>6.5.16</fastutil.version><graph.index.backend>solr</graph.index.backend><graph.storage.backend>berkeleyje</graph.storage.backend><gson.version>2.5</gson.version><guava.version>25.1-jre</guava.version><guice.version>4.1.0</guice.version><hadoop.hdfs-client.version>${hadoop.version}</hadoop.hdfs-client.version><hadoop.version>3.2.2</hadoop.version><hbase.version>2.4.9</hbase.version><hive.version>3.1.2</hive.version><hppc.version>0.8.1</hppc.version><httpcomponents-httpclient.version>4.5.13</httpcomponents-httpclient.version><httpcomponents-httpcore.version>4.4.13</httpcomponents-httpcore.version><jackson.databind.version>2.10.5</jackson.databind.version><jackson.version>2.10.5</jackson.version><janus.version>0.5.3</janus.version><javax-inject.version>1</javax-inject.version><javax.servlet.version>3.1.0</javax.servlet.version><jersey-spring.version>1.19.4</jersey-spring.version><jersey.version>1.19</jersey.version><jettison.version>1.3.7</jettison.version><jetty-maven-plugin.stopWait>10</jetty-maven-plugin.stopWait><jetty.version>9.4.31.v20200723</jetty.version><joda-time.version>2.10.6</joda-time.version><json.version>3.2.11</json.version><jsr.version>1.1</jsr.version><junit.version>4.13</junit.version><kafka.scala.binary.version>2.12</kafka.scala.binary.version><kafka.version>2.8.0</kafka.version><keycloak.version>6.0.1</keycloak.version><log4j.version>1.2.17</log4j.version><log4j2.version>2.13.3</log4j2.version><lucene-solr.version>8.6.3</lucene-solr.version><maven-site-plugin.version>3.7</maven-site-plugin.version><MaxPermGen>512m</MaxPermGen><node-for-v2.version>v12.16.0</node-for-v2.version><npm-for-v2.version>6.13.7</npm-for-v2.version><opencsv.version>5.0</opencsv.version><paranamer.version>2.7</paranamer.version><PermGen>64m</PermGen><poi-ooxml.version>4.1.1</poi-ooxml.version><poi.version>4.1.1</poi.version><project.build.dashboardv2.gruntBuild>build-minify</project.build.dashboardv2.gruntBuild><project.build.dashboardv3.gruntBuild>build-minify</project.build.dashboardv3.gruntBuild><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><projectBaseDir>${project.basedir}</projectBaseDir><skipCheck>false</skipCheck><skipDocs>true</skipDocs><skipEnunciate>false</skipEnunciate><skipITs>false</skipITs><skipSite>true</skipSite><skipTests>false</skipTests><skipUTs>false</skipUTs><slf4j.version>1.7.30</slf4j.version><solr-test-framework.version>8.6.3</solr-test-framework.version><solr.version>7.7.3</solr.version><spray.version>1.3.1</spray.version><spring.security.version>4.2.17.RELEASE</spring.security.version><spring.version>4.3.29.RELEASE</spring.version><sqoop.version>1.4.6.2.3.99.0-195</sqoop.version><storm.version>2.1.0</storm.version><surefire.forkCount>2C</surefire.forkCount><surefire.version>2.18.1</surefire.version><testng.version>6.9.4</testng.version><tinkerpop.version>3.4.10</tinkerpop.version><woodstox-core.version>5.0.3</woodstox-core.version><zookeeper.version>3.7.0</zookeeper.version></properties>

4. 修改源码中 atlas与kafka版本兼容问题

位置在:src/main/java/org/apache/atlas/kafka/EmbeddedKafkaServer.java文件中第139行中的代码

 kafkaServer = new KafkaServer(KafkaConfig.fromProps(brokerConfig), Time.SYSTEM, Option.apply(this.getClass().getName()), false);

5. 开始编译

    # 配置一下运行时jvm内存,防止内存溢出export MAVEN_OPTS="-Xms2g -Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"# 如果使用内置的hbase 和 solr组件的话,就使用下面的编译语句mvn -clean -DskipTests package -Pdist,embedded-hbase-solr# 如果使用自己安装的组件,那就使用mvn -clean -DskipTests package -Pdist

6. 问题锦集

  • 包找不到

    1. 使用外网下载
    2. 自己找jar及所依赖的文件,下载后放入到自己配置的mavne仓库中,然后重新编译一下,记得把之前*.lastupdata 文件删除

二、安装步骤

编译成功后,jar存放位置在: /opt/soft/apache-atlas-sources-2.2.0/distro/target

1. 安装解压Atlas

  • 解压安装包到安装目录

    tar -zxvf /opt/soft/apache-atlas-sources-2.2.0/distro/target/apache-atlas-2.2.0-bin.tar.gz -C /opt/apps/
    

2. 集成HBase

  • 修改 $ATLAS_HOME/conf/ atlas-application.properties 配置文件

     atlas.graph.storage.backend=hbase2atlas.graph.storage.hbase.table=apache_atlas_janus#Hbase#For standalone mode , specify localhost#for distributed mode, specify zookeeper quorum hereatlas.graph.storage.hostname=hadoop01:2181,hadoop02:2181,hadoop03:2181       # zk集群地址atlas.graph.storage.hbase.regions-per-server=1atlas.graph.storage.lock.wait-time=10000
    
  • 修改 $ATLAS_HOME/conf/ atlas-env.sh 配置文件,【最后追加HBASE_HOME/conf配置文件】
    # 添加HBASE_CONF_DIR路径地址,也可以配置到/etc/proflie
    export HBASE_CONF_DIR=$HBASE_HOME/conf
    

3. 集成Solr

  • 修改 $ATLAS_HOME/conf/ atlas-application.properties 配置文件

     # Graph Search Indexatlas.graph.index.search.backend=solr#Solr#Solr cloud mode propertiesatlas.graph.index.search.solr.mode=cloudatlas.graph.index.search.solr.zookeeper-url=hadoop01:2181,hadoop02:2181,hadoop03:2181     # zk集群地址atlas.graph.index.search.solr.zookeeper-connect-timeout=60000atlas.graph.index.search.solr.zookeeper-session-timeout=60000atlas.graph.index.search.solr.wait-searcher=true
    

4. 集成Kafka

  • 修改 $ATLAS_HOME/conf/ atlas-application.properties 配置文件

     #########  Notification Configs  ########## 通知开关关闭atlas.notification.embedded=false# kafka 数据存储位置atlas.kafka.data=/opt/data/kafka# zk中kafka存储的位置atlas.kafka.zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181/kafka# kafka的集群通讯位置atlas.kafka.bootstrap.servers=hadoop01:9092,hadoop02:9092,hadoop03:9092
    

5. Atlas-Server配置

  • 修改 $ATLAS_HOME/conf/ atlas-application.properties 配置文件

    #########  Server Properties  #########
    # 修改atlas WebUI访问页面
    atlas.rest.address=http://hadoop01: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.tablename=apache_atlas_entity_audit
    atlas.audit.zookeeper.session.timeout.ms=1000
    # hbase zk集群地址
    atlas.audit.hbase.zookeeper.quorum=hadoop01:2181,hadoop02:2181,hadoop03:2181
    
  • 修改 log4j.xml 文件 【将以下代码解除注释,就代表这可以记录性能指标】
        <!-- Uncomment the following for perf logs --><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>
    

6. 集成Hive

  • 修改 $ATLAS_HOME/conf/ atlas-application.properties 配置文件

        #########  Hive Hook Configs ######### hive自动同步测试atlas.hook.hive.synchronous=false# 重试次数3atlas.hook.hive.numRetries=3# 队列大小10000atlas.hook.hive.queueSize=10000# 集群名称atlas.cluster.name=primary
    
  • 修改Hive的配置文件【$HIVE_HOME/conf/hive-site.xml】,在后面追加上,代表着hive启动hook的钩子程序

        <property><name>hive.exec.post.hooks</name><value>org.apache.atlas.hive.hook.HiveHook</value></property>
    
  • 解压apache-atlas-2.1.0-hive-hook.tar.gz文件,然后将解压后中的文件放入atlas安装目录中

      tar -zxvf apache-atlas-2.1.0-hive-hook.tar.gzcd apache-atlas-2.1.0-hive-hookcp -r ./* $ATLAS_HOME
    
  • 修改$HIVE_HOME/conf/hive-env.sh 文件,将hook的文件路径写入到配置当中

      export HIVE_AUX_JARS_PATH=$ATLAS_HOME/hook/hive
    
  • 将atlas的配置文件复制到hive的conf文件中

    • 【如果用软连接,会涉及到账号权限问题,这里简单的使用可文件拷贝,避免权限问题】
       cp $ATLAS_HOME/conf/atlas-application.properties $HIVE_HOME/conf/
    

7. 集成Sqoop[待完善]

Atlas 2.2.0源码编译及安装步骤相关推荐

  1. cmake 编译curl源码_OpenCV4.0 源码编译

    之前写过几篇关于OpenCV的博客,都是基于openCV 3.14写的,10月份OpenCV发布了4.0的bate版本,我就切换到4.0版本上来.之后的博客都会是基于4.0版本的.本文主要介绍一下三个 ...

  2. ambari 2.5.0源码编译安装

    参考:https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/index.html Ambari 是什么 Ambar ...

  3. Android4.0源码编译方法以及错误解决方案

    from:http://blog.csdn.net/wanjun8659/article/details/8095664 历时一个星期,终于将android4.0源码编译成功,中间经历了各种曲折,非常 ...

  4. postgresql 12.0 源码编译安装

    postgresql 12.0 源码编译安装 1.安装相关软件包 su - root yum install -y cmake gcc gcc-c++ perl readline readline-d ...

  5. tesseract-4.0.0源码编译安装

    tesseract-4.0.0源码编译安装 安装开发工具 apt-get -y install gcc g++ make cmake autoconf automake libtool pkg-con ...

  6. python 3.10.0源码编译安装

    python 3.10.0源码编译安装 文章目录 python 3.10.0源码编译安装 1. 安装编译依赖工具 2. 下载python 3.10.0 3. 编译安装 Python 4. 体验 1. ...

  7. ubuntu 环境下调试mysql源码_【转】Ubuntu 16.04下 Mysql 5.7.17源码编译与安装

    Ubuntu 16.04下 Mysql5.7.17源码编译与安装 系统环境 一. 系统安装条件 1.cmake MySQL使用cmake跨平台工具预编译源码,用于设置mysql的编译参数. sudo ...

  8. 源码编译构建安装内核kernel

    源码编译构建安装内核kernel 荣涛 2021年10月27日 文档修改日志 日期 修改内容 修改人 备注 2021年10月27日 创建 荣涛 2021年10月28日 添加可能的问题 荣涛 1. 引言 ...

  9. ROS2 Dashing源码编译和安装

    ROS2 Dashing源码编译和安装 安装前的准备 1 2 3 4 5 官方教程: https://index.ros.org/doc/ros2/Installation/Dashing/Linux ...

最新文章

  1. 什么是“自然语言处理”? 它到底在“处理”些什么?
  2. redis设置数据库数量databases
  3. android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件
  4. SQL基础【六、and与or】
  5. 小程序如何选择云服务器,小程序怎么选择云服务器配置
  6. Oracle数据到MaxCompute乱码问题详解
  7. 为什么存取周期大于存取时间_为什么开放存取很重要
  8. 翼虎 android,福特翼虎成首款同时兼容CarPlay和Android Auto的车型
  9. 23.卷1(套接字联网API)---高级SCTP套接字编程
  10. 第五章 调优案列分析与实战(待续)
  11. js--属性和方法(私有/公有)
  12. zigbee协议栈学习(0)
  13. java cropper_Image Cropper 的 JAVA 支持
  14. python对话框打开文件_python打开文件对话框
  15. unable to resolve host address
  16. 【将门创投】图像搜索的前世今生,让你买买买停不下来的淘宝是如何做到所拍即所得的?...
  17. 《那些年啊,那些事——一个程序员的奋斗史》——94
  18. 王者服务器维护s24,王者荣耀:体验更新S24数据,征召模式痛点解决,不会再失手了...
  19. 【vue2】axios请求与axios拦截器的使用详解
  20. 国内计算机视觉与机器学习研究团队

热门文章

  1. python爬虫可以用来做什么?
  2. 为jupyter notebook添加目录(Jupyter安装拓展nbextensions)
  3. Android 简单的录音静音降噪
  4. 《用Python编程来做数学题|CSDN创作打卡》
  5. S7-200 SMART PLC自定义脉冲轴控功能块AxisControl_FB(梯形图)
  6. Android视频学习(二):数据存储与界面展示2
  7. 双系统安装ubuntu 22.04 LTS(一步到位)
  8. springboot连接MySQL使用SSL证书
  9. Java Controller自动urlDecode的坑
  10. 前端路线--Vue(day01)