热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ApacheAtlas源码编译部署和配置运行

ApacheAtlasprovidesopenmetadatamanagementandgovernancecapabilitiesfororga

点击关注上方“知了小巷”,

设为“置顶或星标”,第一时间送达干货。

Apache Atlas源码编译部署和配置运行

Apache Atlas源码地址:
https://github.com/apache/atlas.git
官方文档:
https://atlas.apache.org/#/
接上篇【Apache Atlas元数据管理入门】

内容提要:
1.大数据组件准备
2.Apache Atlas源码编译和打包
3.Apache Atlas集成外部组件

1. 大数据组件准备


名称版本
Hadoop3.1.1
Zookeeper3.4.12
Kafka2.11-0.11.0.2
HBase2.1.0
Solr7.5.0
Hive3.1.1

Hadoop集群(本地单机)

$ hadoop version
Hadoop 3.1.1
start-dfs.sh
start-yarn.sh
$ jps -l
62000 org.apache.hadoop.hdfs.server.namenode.NameNode
62305 org.apache.hadoop.yarn.server.resourcemanager.ResourceManager
62194 org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode
62389 org.apache.hadoop.yarn.server.nodemanager.NodeManager
27495 org.apache.hadoop.util.RunJar
62092 org.apache.hadoop.hdfs.server.datanode.DataNode

Zookeeper集群(本地单机)

$ zkServer.sh start
$ jps -l|grep zookeeper
62593 org.apache.zookeeper.server.quorum.QuorumPeerMain

Kafka集群(本地单机)

$ kafka-server-start.sh -daemon kafka_2.11-0.11.0.2/config/server.properties
$ jps -l|grep kafka
63383 kafka.Kafka

HBase集群(本地单机)

start-hbase.sh
$ jps -l|grep hbase
63608 org.apache.hadoop.hbase.regionserver.HRegionServer
63512 org.apache.hadoop.hbase.master.HMaster

Solr(本地单机)
这里是Atlas2.1源码pom.xml中的solr版本7.5.0,其他组件版本没有全部保持一致:

<solr.version>7.5.0solr.version>

solr安装包地址:
http://archive.apache.org/dist/lucene/solr/
直接下载编译好的包:

$ wget http://archive.apache.org/dist/lucene/solr/7.5.0/solr-7.5.0.zip
$ unzip solr-7.5.0.zip
$ cd solr-7.5.0
$ ./bin/solr start -p 8983
$ lsof -i:8983
COMMAND   PID        USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    80795 shaozhipeng  129u  IPv6 0x7ecef7d3412b64e9      0t0  TCP *:smc-https (LISTEN)

页面访问:
http://127.0.0.1:8983

Hive
基于MySQL的元数据启动起来

$ hive --version
Hive 3.1.1
$ hive --service metastore &
$ lsof -i:9083
COMMAND   PID        USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    27495 shaozhipeng  491u  IPv6 0x7ecef7d340adef29      0t0  TCP *:9083 (LISTEN)
# 27495 org.apache.hadoop.util.RunJar

2. Apache Atlas源码编译和打包

有关apache-atlas的热点问题列表
https://stackoverflow.com/questions/tagged/apache-atlas?sort=votes

下载源码包:
https://mirrors.tuna.tsinghua.edu.cn/apache/atlas/

$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/atlas/2.1.0/apache-atlas-2.1.0-sources.tar.gz
$ tar zxvf apache-atlas-2.1.0-sources.tar.gz
$ ls
apache-atlas-2.1.0-sources.tar.gz apache-atlas-sources-2.1.0
$ cd apache-atlas-sources-2.1.0/
$ mvn --version
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T23:06:16+08:00)
Maven home: /Users/shaozhipeng/Development/apache-maven-3.6.2
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.6", arch: "x86_64", family: "mac"

maven conf/settings.xml
添加阿里云的仓库镜像

<mirror>
  <id>aliyunmavenid>
  <mirrorOf>*mirrorOf>
  <name>aliname>
  <url>https://maven.aliyun.com/repository/publicurl>
mirror>

可能会由于Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.ExtendedProperties
报错导致编译失败,解决方案:
https://stackoverflow.com/questions/51957221/process-resource-bundles-maven-error-calssnotfoundexception-org-apache-commons-c

类似报错org.apache.maven.plugins:maven-site-plugin:3.7:site: org/apache/commons/lang/StringUtils

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.7:site (default) on project hdfs-model: Execution default of goal org.apache.maven.plugins:maven-site-plugin:3.7:site failed: A required class was missing while executing org.apache.maven.plugins:maven-site-plugin:3.7:site: org/apache/commons/lang/StringUtils

阿里云仓库找不到sqoop的jar包Could not find artifact org.apache.sqoop:sqoop:jar:1.4.6.2.3.99.0-195 in aliyunmaven

[ERROR] Failed to execute goal on project sqoop-bridge-shim: Could not resolve dependencies for project org.apache.atlas:sqoop-bridge-shim:jar:2.1.0: Could not find artifact org.apache.sqoop:sqoop:jar:1.4.6.2.3.99.0-195 in aliyunmaven (https://maven.aliyun.com/repository/public) -> [Help 1]

修改pom.xml文件,分别找到maven-remote-resources-plugin
maven-site-plugin
两个插件的位置:

<plugin>
    <groupId>org.apache.maven.pluginsgroupId>
    <artifactId>maven-remote-resources-pluginartifactId>
    <version>1.6.0version>
    <dependencies>
        <dependency>
            <groupId>commons-collectionsgroupId>
            <artifactId>commons-collectionsartifactId>
            <version>3.2.2version>
        dependency>
        
        <dependency>
            <groupId>commons-langgroupId>
            <artifactId>commons-langartifactId>
            <version>2.6version>
        dependency>
    dependencies>
    <executions>
        <execution>
          <goals>
            <goal>bundlegoal>
          goals>
        execution>
    executions>
    <configuration>
        <excludeGroupIds>org.restlet.jeeexcludeGroupIds>
    configuration>
plugin>

<plugin>
    <groupId>org.apache.maven.pluginsgroupId>
    <artifactId>maven-site-pluginartifactId>
    <version>${maven-site-plugin.version}version>
    <dependencies>
        
        <dependency>
            <groupId>commons-langgroupId>
            <artifactId>commons-langartifactId>
            <version>2.6version>
        dependency>
    dependencies>
plugin>

sqoop依赖jar包下载失败的问题,下载地址,百度网盘:
链接: https://pan.baidu.com/s/1FWHK7AGPQQI0OdSFbTE7tg 密码: gjfn

<sqoop.version>1.4.6.2.3.99.0-195sqoop.version>

安装到本地maven仓库

$ mvn install:install-file -Dfile=sqoop-1.4.6.2.3.99.0-195.jar -DgroupId=org.apache.sqoop -DartifactId=sqoop -Dversion=1.4.6.2.3.99.0-195 -Dpackaging=jar
...
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.644 s
...

源码编译

$ mvn clean -DskipTests install

打包(可以直接打包)

$ mvn clean -DskipTests package -Pdist

不到8分钟就可以打包完成,查看打包后的文件

$ cd distro/
$ ls
pom.xml src target
$ ls target/
META-INF          apache-atlas-2.1.0-hive-hook.tar.gz   apache-atlas-2.1.0-storm-hook
apache-atlas-2.1.0-bin            apache-atlas-2.1.0-impala-hook      apache-atlas-2.1.0-storm-hook.tar.gz
apache-atlas-2.1.0-bin.tar.gz     apache-atlas-2.1.0-impala-hook.tar.gz   archive-tmp
apache-atlas-2.1.0-classification-updater apache-atlas-2.1.0-kafka-hook     atlas-distro-2.1.0.jar
apache-atlas-2.1.0-classification-updater.zip apache-atlas-2.1.0-kafka-hook.tar.gz    bin
apache-atlas-2.1.0-falcon-hook          apache-atlas-2.1.0-server     conf
apache-atlas-2.1.0-falcon-hook.tar.gz   apache-atlas-2.1.0-server.tar.gz    maven-archiver
apache-atlas-2.1.0-hbase-hook           apache-atlas-2.1.0-sources.tar.gz   maven-shared-archive-resources
apache-atlas-2.1.0-hbase-hook.tar.gz    apache-atlas-2.1.0-sqoop-hook     rat.txt
apache-atlas-2.1.0-hive-hook            apache-atlas-2.1.0-sqoop-hook.tar.gz    test-classes

3. Apache Atlas集成外部组件


Apache Atlas依赖Solr(或ES)
HBase(或Cassandra)
Kafka

将压缩包apache-atlas-2.1.0-server.tar.gz
拷贝出来并解压:

$ ls
apache-atlas-2.1.0
$ ls apache-atlas-2.1.0
DISCLAIMER.txt  LICENSE   NOTICE    bin   conf    models    server    tools
$ cd apache-atlas-2.1.0/conf/
$ ls
atlas-application.properties  atlas-log4j.xml     cassandra.yml.template    solr        zookeeper
atlas-env.sh      atlas-simple-authz-policy.json  hbase       users-credentials.properties

3.1 Apache Atlas集成HBase

  1. 修改atlas存储数据所在的机器主机atlas.graph.storage.hostname
    ,是ZK地址

$ vi atlas-application.properties
atlas.graph.storage.backend=hbase2
atlas.graph.storage.hbase.table=apache_atlas_janus

#Hbase
#For standalone mode , specify localhost
#for distributed mode, specify zookeeper quorum here
atlas.graph.storage.hostname=localhost:2181
atlas.graph.storage.hbase.regions-per-server=1
atlas.graph.storage.lock.wait-time=10000

  1. 拷贝hbase的配置文件hbase-site.xml
    到atlas的conf/hbase
    下面:

$ cp ~/Development/hbase-2.1.0/conf/hbase-site.xml hbase/
$ ls hbase/
hbase-site.xml    hbase-site.xml.template

  1. 修改atlas的环境变量配置信息,添加hbase的配置文件目录

$ vi atlas-env.sh
export HBASE_CONF_DIR=/Users/shaozhipeng/Development/project/java/atlas-download/apache-atlas-2.1.0/conf/hbase

3.2 Apache Atlas集成Solr

  1. 默认是配置solr cloud,由于实验是单机环境部署,改为http模式:

# Graph Search Index
atlas.graph.index.search.backend=solr

#Solr 这里的注释掉
#Solr cloud mode properties
#atlas.graph.index.search.solr.mode=cloud
#atlas.graph.index.search.solr.zookeeper-url=
#atlas.graph.index.search.solr.zookeeper-connect-timeout=60000
#atlas.graph.index.search.solr.zookeeper-session-timeout=60000
#atlas.graph.index.search.solr.wait-searcher=true

#Solr http mode properties
atlas.graph.index.search.solr.mode=http
atlas.graph.index.search.solr.http-urls=http://localhost:8983/solr

  1. 将Apache Atlas自带的Solr文件夹拷贝到外部Solr相应目录下,并重命名为atlas_conf

$ ls solr/
currency.xml lang  protwords.txt schema.xml solrconfig.xml stopwords.txt synonyms.txt
$ cp -rf solr ~/Development/solr-7.5.0/atlas_conf
$ ls ~/Development/solr-7.5.0/atlas_conf/
currency.xml lang  protwords.txt schema.xml solrconfig.xml stopwords.txt synonyms.txt

  1. 创建collection

$ ~/Development/solr-7.5.0/bin/solr create -c vertex_index -d ~/Development/solr-7.5.0/atlas_conf 
INFO  - 2020-12-16 23:36:52.930; org.apache.solr.util.configuration.SSLCredentialProviderFactory; Processing SSL Credential Provider chain: env;sysprop

Created new core 'vertex_index' 

  1. Solr页面验证

3.3 Apache Atlas集成Kafka

  1. 修改Notification Configs
    相关配置:

$ vi atlas-application.properties
#########  Notification Configs  #########
atlas.notification.embedded=false
atlas.kafka.data=/Users/shaozhipeng/Development/pseudo/kafka/kafka-logs
atlas.kafka.zookeeper.cOnnect=localhost:2181
atlas.kafka.bootstrap.servers=localhost:9092
atlas.kafka.zookeeper.session.timeout.ms=4000

  1. 创建Kafka Topic

$ kafka-topics.sh --zookeeper localhost:2181 --create --replication-factor 1 --partitions 3 --topic _HOATLASOK
Created topic "_HOATLASOK".
$ kafka-topics.sh --zookeeper localhost:2181 --create --replication-factor 1 --partitions 3 --topic ATLAS_ENTITIES
Created topic "ATLAS_ENTITIES".
$ kafka-topics.sh --zookeeper localhost:2181 --list
ATLAS_ENTITIES
_HOATLASOK
__consumer_offsets

3.4 Apache Atlas Server其它配置

修改Server Properties

$ vi atlas-application.properties
#########  Server Properties  #########
atlas.rest.address=http://localhost: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
atlas.audit.hbase.zookeeper.quorum=localhost:2181

修改atlas-log4j.xml
日志输出,找到org.apache.atlas.perf
,去掉注释

$ vi atlas-log4j.xml 
    <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>

3.5 启动Atlas服务

atlas_start.py
是Python2的语法,Mac环境直接运行即可。

$ ./bin/atlas_start.py 
starting atlas on host localhost
starting atlas on port 21000
..............................................................................................................................................................................................................................................................................................................
Apache Atlas Server started!!!
$ jps -l |grep atlas
27180 org.apache.atlas.Atlas

页面访问:
http://localhost:21000
用户名密码:admin/admin


猜你喜欢

  • Apache Atlas元数据管理入门

  • Hadoop YARN日志查看方式

  • Impala使用md5函数对数据加密

  • ClouderaManager6.3.1+CDH6.3.2+PHOENIX-5.0.0集成部署

  • 大数据基础:Linux操作系统(下)

  • 大数据基础:Linux操作系统(上)

  • Apache Kafka客户端KafkaProducer



点一下,代码无 Bug



推荐阅读
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • Zookeeper作为Apache Hadoop生态系统中的一个重要组件,主要致力于解决分布式应用中的常见数据管理难题。它提供了统一的命名服务、状态同步服务以及集群管理功能,有效提升了分布式系统的可靠性和可维护性。此外,Zookeeper还支持配置管理和临时节点管理,进一步增强了其在复杂分布式环境中的应用价值。 ... [详细]
  • 构建高可用性Spark分布式集群:大数据环境下的最佳实践
    在构建高可用性的Spark分布式集群过程中,确保所有节点之间的无密码登录是至关重要的一步。通过在每个节点上生成SSH密钥对(使用 `ssh-keygen -t rsa` 命令并保持默认设置),可以实现这一目标。此外,还需将生成的公钥分发到所有节点的 `~/.ssh/authorized_keys` 文件中,以确保节点间的无缝通信。为了进一步提升集群的稳定性和性能,建议采用负载均衡和故障恢复机制,并定期进行系统监控和维护。 ... [详细]
  • 在Linux系统中,原本已安装了多个版本的Python 2,并且还安装了Anaconda,其中包含了Python 3。本文详细介绍了如何通过配置环境变量,使系统默认使用指定版本的Python,以便在不同版本之间轻松切换。此外,文章还提供了具体的实践步骤和注意事项,帮助用户高效地管理和使用不同版本的Python环境。 ... [详细]
  • Apache Hadoop HDFS QJournalProtocol 中 getJournalCTime 方法的应用与代码实例分析 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 在搭建Hadoop集群以处理大规模数据存储和频繁读取需求的过程中,经常会遇到各种配置难题。本文总结了作者在实际部署中遇到的典型问题,并提供了详细的解决方案,帮助读者避免常见的配置陷阱。通过这些经验分享,希望读者能够更加顺利地完成Hadoop集群的搭建和配置。 ... [详细]
  • 分布式开源任务调度框架 TBSchedule 深度解析与应用实践
    本文深入解析了分布式开源任务调度框架 TBSchedule 的核心原理与应用场景,并通过实际案例详细介绍了其部署与使用方法。首先,从源码下载开始,详细阐述了 TBSchedule 的安装步骤和配置要点。接着,探讨了该框架在大规模分布式环境中的性能优化策略,以及如何通过灵活的任务调度机制提升系统效率。最后,结合具体实例,展示了 TBSchedule 在实际项目中的应用效果,为开发者提供了宝贵的实践经验。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 技术日志:深入探讨Spark Streaming与Spark SQL的融合应用
    技术日志:深入探讨Spark Streaming与Spark SQL的融合应用 ... [详细]
  • 大数据深度解读系列官网资源分享 ... [详细]
  • 在分布式系统领域有个著名的CAP定理:C——数据一致性;A——服务可用性;P——服务对网络分区故障的容错性。这三个特性在任何分布式系统中不能同时满足,最多同时满足两个。Zookee ... [详细]
  • FileBeat + Flume + Kafka + HDFS + Neo4j + SparkStreaming + MySQL:【案例】三度关系推荐V1.0版本11:每周一计算最近一月主播视频评级
    一、数据计算步骤汇总下面我们通过文字梳理一下具体的数据计算步骤。第一步:历史粉丝关注数据初始化第二步:实时维护粉丝关注数据第三步:每天定 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • 在前一篇文章《Hadoop》系列之“踽踽独行”(二)中,我们详细探讨了云计算的核心概念。本章将重点转向物联网技术,全面解析其基本原理、应用场景及未来发展前景。通过深入分析物联网的架构和技术栈,我们将揭示其在智能城市、工业自动化和智能家居等领域的广泛应用潜力。此外,还将讨论物联网面临的挑战,如数据安全和隐私保护等问题,并展望其在未来技术融合中的重要角色。 ... [详细]
author-avatar
mobiledu2502932321
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有