http://git-wip-us.apache.org/repos/asf/atlas-website/blob/af60ed7f/1.0.0-alpha/Configuration.html ---------------------------------------------------------------------- diff --git a/1.0.0-alpha/Configuration.html b/1.0.0-alpha/Configuration.html deleted file mode 100644 index 4e03b3d..0000000 --- a/1.0.0-alpha/Configuration.html +++ /dev/null @@ -1,316 +0,0 @@ -<!DOCTYPE html> -<!-- - | Generated by Apache Maven Doxia Site Renderer 1.8 from src/site/twiki/Configuration.twiki at 2018-01-25 - | Rendered using Apache Maven Fluido Skin 1.7 ---> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - <head> - <meta charset="UTF-8" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180125" /> - <meta http-equiv="Content-Language" content="en" /> - <title>Apache Atlas – Configuring Apache Atlas - Application Properties</title> - <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" /> - <link rel="stylesheet" href="./css/site.css" /> - <link rel="stylesheet" href="./css/print.css" media="print" /> - <script type="text/javascript" src="./js/apache-maven-fluido-1.7.min.js"></script> - </head> - <body class="topBarEnabled"> - <div id="topbar" class="navbar navbar-fixed-top "> - <div class="navbar-inner"> - <div class="container" style="width: 68%;"><div class="nav-collapse"> - <ul class="nav"> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Atlas <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="index.html" title="About">About</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS" title="Wiki">Wiki</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS" title="News">News</a></li> - <li><a href="https://git-wip-us.apache.org/repos/asf/atlas.git" title="Git">Git</a></li> - <li><a href="https://issues.apache.org/jira/browse/ATLAS" title="Jira">Jira</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS/PoweredBy" title="Powered by">Powered by</a></li> - <li><a href="http://blogs.apache.org/atlas/" title="Blog">Blog</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Information <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="project-info.html" title="Summary">Summary</a></li> - <li><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li> - <li><a href="http://webchat.freenode.net?channels=apacheatlas&uio=d4" title="IRC">IRC</a></li> - <li><a href="team-list.html" title="Team">Team</a></li> - <li><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li> - <li><a href="source-repository.html" title="Source Repository">Source Repository</a></li> - <li><a href="license.html" title="License">License</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org/dyn/closer.cgi/atlas/1.0.0-alpha/" title="1.0.0-alpha">1.0.0-alpha</a></li> - <li><a href="http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/" title="0.8.1">0.8.1</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/" title="0.8-incubating">0.8-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/" title="0.7.1-incubating">0.7.1-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/" title="0.7-incubating">0.7-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/" title="0.6-incubating">0.6-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/" title="0.5-incubating">0.5-incubating</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="../index.html" title="latest">latest</a></li> - <li><a href="../1.0.0-alpha/index.html" title="1.0.0-alpha">1.0.0-alpha</a></li> - <li><a href="../0.8.1/index.html" title="0.8.1">0.8.1</a></li> - <li><a href="../0.8.0-incubating/index.html" title="0.8-incubating">0.8-incubating</a></li> - <li><a href="../0.7.1-incubating/index.html" title="0.7.1-incubating">0.7.1-incubating</a></li> - <li><a href="../0.7.0-incubating/index.html" title="0.7-incubating">0.7-incubating</a></li> - <li><a href="../0.6.0-incubating/index.html" title="0.6-incubating">0.6-incubating</a></li> - <li><a href="../0.5.0-incubating/index.html" title="0.5-incubating">0.5-incubating</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a></li> - <li><a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a></li> - <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a></li> - <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> - </ul> - </li> - </ul> -<form id="search-form" action="https://www.google.com/search" method="get" class="navbar-search pull-right" > - <input value="http://atlas.apache.org" name="sitesearch" type="hidden"/> - <input class="search-query" name="q" id="query" type="text" /> -</form> -<script type="text/javascript">asyncJs( 'https://cse.google.com/brand?form=search-form' )</script> - <iframe src="https://www.facebook.com/plugins/like.php?href=http://atlas.apache.org/atlas-docs&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" - scrolling="no" frameborder="0" - style="border:none; width:100px; height:20px; margin-top: 10px;" class="pull-right" ></iframe> - <script type="text/javascript">asyncJs( 'https://apis.google.com/js/plusone.js' )</script> - <ul class="nav pull-right"><li style="margin-top: 10px;"> - <div class="g-plusone" data-href="http://atlas.apache.org/atlas-docs" data-size="medium" width="60px" align="right" ></div> - </li></ul> - </div> - </div> - </div> - </div> - <div class="container"> - <div id="banner"> - <div class="pull-left"><a href=".." id="bannerLeft"><img src="images/atlas-logo.png" alt="Apache Atlas" width="200px" height="45px"/></a></div> - <div class="pull-right"></div> - <div class="clear"><hr/></div> - </div> - - <div id="breadcrumbs"> - <ul class="breadcrumb"> - <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> - <li class=""><a href="index.html" title="Atlas">Atlas</a><span class="divider">/</span></li> - <li class="active ">Configuring Apache Atlas - Application Properties</li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2018-01-25</li> - <li id="projectVersion" class="pull-right">Version: 1.0.0-alpha</li> - </ul> - </div> - <div id="bodyColumn" > -<div class="section"> -<h2><a name="Configuring_Apache_Atlas_-_Application_Properties"></a>Configuring Apache Atlas - Application Properties</h2> -<p>All configuration in Atlas uses java properties style configuration. The main configuration file is atlas-application.properties which is in the <b>conf</b> dir at the deployed location. It consists of the following sections:</p></div> -<div class="section"> -<h3><a name="Graph_Configs"></a>Graph Configs</h3></div> -<div class="section"> -<h4><a name="Graph_Persistence_engine_-_HBase"></a>Graph Persistence engine - HBase</h4> -<p>Set the following properties to configure <a href="./JanusGraph.html">JanusGraph</a> to use HBase as the persistence engine. Please refer to <a href="http://docs.janusgraph.org/0.2.0/configuration.html#_hbase_caching">link</a> for more details.</p> -<div class="source"><pre class="prettyprint"> -atlas.graph.storage.backend=hbase -atlas.graph.storage.hostname=<ZooKeeper Quorum> -atlas.graph.storage.hbase.table=atlas - -</pre></div> -<p>If any further <a href="./JanusGraph.html">JanusGraph</a> configuration needs to be setup, please prefix the property name with "atlas.graph.".</p> -<p>In addition to setting up configurations, please ensure that environment variable HBASE_CONF_DIR is setup to point to the directory containing HBase configuration file hbase-site.xml.</p></div> -<div class="section"> -<h4><a name="Graph_Search_Index_-_Solr"></a>Graph Search Index - Solr</h4> -<p>Solr installation in Cloud mode is a prerequisite for Apache Atlas use. Set the following properties to configure <a href="./JanusGraph.html">JanusGraph</a> to use Solr as the index search engine.</p> -<div class="source"><pre class="prettyprint"> -atlas.graph.index.search.backend=solr5 -atlas.graph.index.search.solr.mode=cloud -atlas.graph.index.search.solr.wait-searcher=true - -# ZK quorum setup for solr as comma separated value. Example: 10.1.6.4:2181,10.1.6.5:2181 -atlas.graph.index.search.solr.zookeeper-url= - -# SolrCloud Zookeeper Connection Timeout. Default value is 60000 ms -atlas.graph.index.search.solr.zookeeper-connect-timeout=60000 - -# SolrCloud Zookeeper Session Timeout. Default value is 60000 ms -atlas.graph.index.search.solr.zookeeper-session-timeout=60000 - -</pre></div></div> -<div class="section"> -<h3><a name="Search_Configs"></a>Search Configs</h3> -<p>Search APIs (DSL, basic search, full-text search) support pagination and have optional limit and offset arguments. Following configs are related to search pagination</p> -<div class="source"><pre class="prettyprint"> -# Default limit used when limit is not specified in API -atlas.search.defaultlimit=100 - -# Maximum limit allowed in API. Limits maximum results that can be fetched to make sure the atlas server doesn't run out of memory -atlas.search.maxlimit=10000 - -</pre></div></div> -<div class="section"> -<h3><a name="Notification_Configs"></a>Notification Configs</h3> -<p>Refer <a class="externalLink" href="http://kafka.apache.org/documentation.html#configuration">http://kafka.apache.org/documentation.html#configuration</a> for Kafka configuration. All Kafka configs should be prefixed with 'atlas.kafka.'</p> -<div class="source"><pre class="prettyprint"> -atlas.kafka.auto.commit.enable=false - -# Kafka servers. Example: localhost:6667 -atlas.kafka.bootstrap.servers= - -atlas.kafka.hook.group.id=atlas - -# Zookeeper connect URL for Kafka. Example: localhost:2181 -atlas.kafka.zookeeper.connect= - -atlas.kafka.zookeeper.connection.timeout.ms=30000 -atlas.kafka.zookeeper.session.timeout.ms=60000 -atlas.kafka.zookeeper.sync.time.ms=20 - -# Setup the following configurations only in test deployments where Kafka is started within Atlas in embedded mode -# atlas.notification.embedded=true -# atlas.kafka.data=${sys:atlas.home}/data/kafka - -# Setup the following two properties if Kafka is running in Kerberized mode. -# atlas.notification.kafka.service.principal=kafka/_h...@example.com -# atlas.notification.kafka.keytab.location=/etc/security/keytabs/kafka.service.keytab - -</pre></div></div> -<div class="section"> -<h3><a name="Client_Configs"></a>Client Configs</h3> -<div class="source"><pre class="prettyprint"> -atlas.client.readTimeoutMSecs=60000 -atlas.client.connectTimeoutMSecs=60000 - -# URL to access Atlas server. For example: http://localhost:21000 -atlas.rest.address= - -</pre></div></div> -<div class="section"> -<h3><a name="Security_Properties"></a>Security Properties</h3></div> -<div class="section"> -<h4><a name="SSL_config"></a>SSL config</h4> -<p>The following property is used to toggle the SSL feature.</p> -<div class="source"><pre class="prettyprint"> -atlas.enableTLS=false - -</pre></div></div> -<div class="section"> -<h3><a name="High_Availability_Properties"></a>High Availability Properties</h3> -<p>The following properties describe High Availability related configuration options:</p> -<div class="source"><pre class="prettyprint"> -# Set the following property to true, to enable High Availability. Default = false. -atlas.server.ha.enabled=true - -# Specify the list of Atlas instances -atlas.server.ids=id1,id2 -# For each instance defined above, define the host and port on which Atlas server listens. -atlas.server.address.id1=host1.company.com:21000 -atlas.server.address.id2=host2.company.com:31000 - -# Specify Zookeeper properties needed for HA. -# Specify the list of services running Zookeeper servers as a comma separated list. -atlas.server.ha.zookeeper.connect=zk1.company.com:2181,zk2.company.com:2181,zk3.company.com:2181 - -# Specify how many times should connection try to be established with a Zookeeper cluster, in case of any connection issues. -atlas.server.ha.zookeeper.num.retries=3 - -# Specify how much time should the server wait before attempting connections to Zookeeper, in case of any connection issues. -atlas.server.ha.zookeeper.retry.sleeptime.ms=1000 - -# Specify how long a session to Zookeeper should last without inactiviy to be deemed as unreachable. -atlas.server.ha.zookeeper.session.timeout.ms=20000 - -# Specify the scheme and the identity to be used for setting up ACLs on nodes created in Zookeeper for HA. -# The format of these options is <scheme>:<identity>. For more information refer to http://zookeeper.apache.org/doc/r3.2.2/zookeeperProgrammers.html#sc_ZooKeeperAccessControl. -# The 'acl' option allows to specify a scheme, identity pair to setup an ACL for. -atlas.server.ha.zookeeper.acl=sasl:cli...@comany.com - -# The 'auth' option specifies the authentication that should be used for connecting to Zookeeper. -atlas.server.ha.zookeeper.auth=sasl:cli...@company.com - -# Since Zookeeper is a shared service that is typically used by many components, -# it is preferable for each component to set its znodes under a namespace. -# Specify the namespace under which the znodes should be written. Default = /apache_atlas -atlas.server.ha.zookeeper.zkroot=/apache_atlas - -# Specify number of times a client should retry with an instance before selecting another active instance, or failing an operation. -atlas.client.ha.retries=4 -# Specify interval between retries for a client. -atlas.client.ha.sleep.interval.ms=5000 - -</pre></div></div> -<div class="section"> -<h3><a name="Server_Properties"></a>Server Properties</h3> -<div class="source"><pre class="prettyprint"> -# Set the following property to true, to enable the setup steps to run on each server start. Default = false. -atlas.server.run.setup.on.start=false - -</pre></div></div> -<div class="section"> -<h3><a name="Performance_configuration_items"></a>Performance configuration items</h3> -<p>The following properties can be used to tune performance of Atlas under specific circumstances:</p> -<div class="source"><pre class="prettyprint"> -# The number of times Atlas code tries to acquire a lock (to ensure consistency) while committing a transaction. -# This should be related to the amount of concurrency expected to be supported by the server. For e.g. with retries set to 10, upto 100 threads can concurrently create types in the Atlas system. -# If this is set to a low value (default is 3), concurrent operations might fail with a PermanentLockingException. -atlas.graph.storage.lock.retries=10 - -# Milliseconds to wait before evicting a cached entry. This should be > atlas.graph.storage.lock.wait-time x atlas.graph.storage.lock.retries -# If this is set to a low value (default is 10000), warnings on transactions taking too long will occur in the Atlas application log. -atlas.graph.storage.cache.db-cache-time=120000 - -# Minimum number of threads in the atlas web server -atlas.webserver.minthreads=10 - -# Maximum number of threads in the atlas web server -atlas.webserver.maxthreads=100 - -# Keepalive time in secs for the thread pool of the atlas web server -atlas.webserver.keepalivetimesecs=60 - -# Queue size for the requests(when max threads are busy) for the atlas web server -atlas.webserver.queuesize=100 - -</pre></div></div> -<div class="section"> -<h4><a name="Recording_performance_metrics"></a>Recording performance metrics</h4> -<p>To enable performance logs for various Atlas operations (like REST API calls, notification processing), setup the following in atlas-log4j.xml:</p> -<div class="source"><pre class="prettyprint"> - <appender name="perf_appender" class="org.apache.log4j.DailyRollingFileAppender"> - <param name="File" value="/var/log/atlas/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> - -</pre></div></div> - </div> - </div> - <hr/> - <footer> - <div class="container"> - <div class="row"> -Copyright é 2018 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. - </div> - <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a> -</p> - </div> - </footer> - </body> -</html>
http://git-wip-us.apache.org/repos/asf/atlas-website/blob/af60ed7f/1.0.0-alpha/EclipseSetup.html ---------------------------------------------------------------------- diff --git a/1.0.0-alpha/EclipseSetup.html b/1.0.0-alpha/EclipseSetup.html deleted file mode 100644 index 5821d7d..0000000 --- a/1.0.0-alpha/EclipseSetup.html +++ /dev/null @@ -1,218 +0,0 @@ -<!DOCTYPE html> -<!-- - | Generated by Apache Maven Doxia Site Renderer 1.8 from src/site/twiki/EclipseSetup.twiki at 2018-01-25 - | Rendered using Apache Maven Fluido Skin 1.7 ---> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - <head> - <meta charset="UTF-8" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180125" /> - <meta http-equiv="Content-Language" content="en" /> - <title>Apache Atlas – Tools required to build and run Apache Atlas on Eclipse</title> - <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" /> - <link rel="stylesheet" href="./css/site.css" /> - <link rel="stylesheet" href="./css/print.css" media="print" /> - <script type="text/javascript" src="./js/apache-maven-fluido-1.7.min.js"></script> - </head> - <body class="topBarEnabled"> - <div id="topbar" class="navbar navbar-fixed-top "> - <div class="navbar-inner"> - <div class="container" style="width: 68%;"><div class="nav-collapse"> - <ul class="nav"> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Atlas <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="index.html" title="About">About</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS" title="Wiki">Wiki</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS" title="News">News</a></li> - <li><a href="https://git-wip-us.apache.org/repos/asf/atlas.git" title="Git">Git</a></li> - <li><a href="https://issues.apache.org/jira/browse/ATLAS" title="Jira">Jira</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS/PoweredBy" title="Powered by">Powered by</a></li> - <li><a href="http://blogs.apache.org/atlas/" title="Blog">Blog</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Information <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="project-info.html" title="Summary">Summary</a></li> - <li><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li> - <li><a href="http://webchat.freenode.net?channels=apacheatlas&uio=d4" title="IRC">IRC</a></li> - <li><a href="team-list.html" title="Team">Team</a></li> - <li><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li> - <li><a href="source-repository.html" title="Source Repository">Source Repository</a></li> - <li><a href="license.html" title="License">License</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org/dyn/closer.cgi/atlas/1.0.0-alpha/" title="1.0.0-alpha">1.0.0-alpha</a></li> - <li><a href="http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/" title="0.8.1">0.8.1</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/" title="0.8-incubating">0.8-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/" title="0.7.1-incubating">0.7.1-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/" title="0.7-incubating">0.7-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/" title="0.6-incubating">0.6-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/" title="0.5-incubating">0.5-incubating</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="../index.html" title="latest">latest</a></li> - <li><a href="../1.0.0-alpha/index.html" title="1.0.0-alpha">1.0.0-alpha</a></li> - <li><a href="../0.8.1/index.html" title="0.8.1">0.8.1</a></li> - <li><a href="../0.8.0-incubating/index.html" title="0.8-incubating">0.8-incubating</a></li> - <li><a href="../0.7.1-incubating/index.html" title="0.7.1-incubating">0.7.1-incubating</a></li> - <li><a href="../0.7.0-incubating/index.html" title="0.7-incubating">0.7-incubating</a></li> - <li><a href="../0.6.0-incubating/index.html" title="0.6-incubating">0.6-incubating</a></li> - <li><a href="../0.5.0-incubating/index.html" title="0.5-incubating">0.5-incubating</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a></li> - <li><a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a></li> - <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a></li> - <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> - </ul> - </li> - </ul> -<form id="search-form" action="https://www.google.com/search" method="get" class="navbar-search pull-right" > - <input value="http://atlas.apache.org" name="sitesearch" type="hidden"/> - <input class="search-query" name="q" id="query" type="text" /> -</form> -<script type="text/javascript">asyncJs( 'https://cse.google.com/brand?form=search-form' )</script> - <iframe src="https://www.facebook.com/plugins/like.php?href=http://atlas.apache.org/atlas-docs&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" - scrolling="no" frameborder="0" - style="border:none; width:100px; height:20px; margin-top: 10px;" class="pull-right" ></iframe> - <script type="text/javascript">asyncJs( 'https://apis.google.com/js/plusone.js' )</script> - <ul class="nav pull-right"><li style="margin-top: 10px;"> - <div class="g-plusone" data-href="http://atlas.apache.org/atlas-docs" data-size="medium" width="60px" align="right" ></div> - </li></ul> - </div> - </div> - </div> - </div> - <div class="container"> - <div id="banner"> - <div class="pull-left"><a href=".." id="bannerLeft"><img src="images/atlas-logo.png" alt="Apache Atlas" width="200px" height="45px"/></a></div> - <div class="pull-right"></div> - <div class="clear"><hr/></div> - </div> - - <div id="breadcrumbs"> - <ul class="breadcrumb"> - <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> - <li class=""><a href="index.html" title="Atlas">Atlas</a><span class="divider">/</span></li> - <li class="active ">Tools required to build and run Apache Atlas on Eclipse</li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2018-01-25</li> - <li id="projectVersion" class="pull-right">Version: 1.0.0-alpha</li> - </ul> - </div> - <div id="bodyColumn" > -<div class="section"> -<h2><a name="Tools_required_to_build_and_run_Apache_Atlas_on_Eclipse"></a>Tools required to build and run Apache Atlas on Eclipse</h2> -<p>These instructions are provided as-is. They worked at a point in time; other variants of software may work. These instructions may become stale if the build dependencies change.</p> -<p>They have been shown to work on 19th of December 2016.</p> -<p>To build, run tests, and debug Apache Atlas, the following software is required:</p> -<p><b>Java</b></p> -<ul> -<li>Download and install a 1.8 Java SDK</li> -<li>Set JAVA_HOME system environment variable to the installed JDK home directory</li> -<li>Add JAVA_HOME/bin directory to system PATH</li></ul><b>Python</b> -<p>Atlas command line tools are written in Python.</p> -<ul> -<li>Download and install Python version 2.7.7</li> -<li>For Mac, we used 2.7.11</li> -<li>Add Python home directory to system PATH</li></ul><b>Maven</b> -<ul> -<li>Download and install Maven 3.3.9</li> -<li>Set the environment variable M2_HOME to point to the maven install directory</li> -<li>Add M2_HOME/bin directory to system PATH e.g. C:\Users\IBM_ADMIN\Documents\Software\apache-maven-3.3.9\bin</li></ul><b>Git</b> -<ul> -<li>Install Git</li> -<li>Add git bin directory to the system PATH e.g. C:\Program Files (x86)\Git\bin</li></ul><b>Eclipse</b> -<ul> -<li>Install Eclipse Neon (4.6)</li> -<li>The non-EE Neon for iOS from eclipse.org has been proven to work here.</li> -<li>Install the Scala IDE, TestNG, and m2eclipse-scala features/plugins as described below.</li></ul><b>Scala IDE Eclipse feature</b> -<p>Some of the Atlas source code is written in the Scala programming language. The Scala IDE feature is required to compile Scala source code in Eclipse.</p> -<ul> -<li>In Eclipse, choose Help - Install New Software..</li> -<li>Click Add... to add an update site, and set Location to <a class="externalLink" href="http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site">http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site</a></li> -<li>Select Scala IDE for Eclipse from the list of available features</li> -<li>Restart Eclipse after install</li> -<li>Set the Scala compiler to target the 1.7 JVM: Window - Preferences - Scala - Compiler, change target to 1.7</li></ul><b>TestNG Eclipse plug-in</b> -<p>Atlas tests use the <a class="externalLink" href="http://testng.org/doc/documentation-main.html">TestNG framework</a>, which is similar to JUnit. The TestNG plug-in is required to run TestNG tests from Eclipse.</p> -<ul> -<li>In Eclipse, choose Help - Install New Software..</li> -<li>Click Add... to add an update site, and set Location to <a class="externalLink" href="http://beust.com/eclipse-old/eclipse_6.9.9.201510270734">http://beust.com/eclipse-old/eclipse_6.9.9.201510270734</a> -<ul> -<li>Choose TestNG and continue with install</li> -<li>Restart Eclipse after installing the plugin</li> -<li>In Window - Preferences - TestNG, <b>un</b>check "Use project TestNG jar"</li></ul></li></ul><b>m2eclipse-scala Eclipse plugin</b> -<ul> -<li>In Eclipse, choose Help - Install New Software..</li> -<li>Click Add... to add an update site, and set Location to <a class="externalLink" href="http://alchim31.free.fr/m2e-scala/update-site/">http://alchim31.free.fr/m2e-scala/update-site/</a></li> -<li>Choose Maven Integration for Scala IDE, and continue with install</li> -<li>Restart Eclipse after install</li> -<li>In Window - Preferences -Maven - Errors/Warnings, set Plugin execution not covered by lifecycle configuration to Warning</li></ul><b>Import Atlas maven projects into Eclipse:</b> -<p>a. File - Import - Maven - Existing Maven Projects b. Browse to your Atlas folder c. Uncheck the root project and non-Java projects such as dashboardv2, docs and distro, then click Finish</p> -<p>On the Mac, the Maven import fails with message</p> -<div class="source"><pre class="prettyprint"> -"Cannot complete the install because one or more required items could not be found. Software being installed: Maven Integration for AJDT (Optional) 0.14.0.201506231302 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.14.0.201506231302) Missing requirement: Maven Integration for AJDT (Optional) 0.14.0.201506231302 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.14.0.201506231302) requires 'org.eclipse.ajdt.core 1.5.0' but it could not be found". - -</pre></div> -<p>Install <a class="externalLink" href="http://download.eclipse.org/tools/ajdt/46/dev/update">http://download.eclipse.org/tools/ajdt/46/dev/update</a> and rerun. The Maven AspectJ should plugin install - allowing the references to Aspects in Maven to be resolved.</p> -<p>d. In the atlas-typesystem, atlas-repository, hdfs-model, and storm-bridge projects, add the src/main/scala and src/test/scala (if available) directories as source folders. Note: the hdfs-model and storm-bridge projects do not have the src/test/scala folder.</p> -<p>Right-click on the project, and choose <b>Properties</b>.</p> -<p>Click the <b>Java Build Path</b> in the left-hand panel, and choose the <b>Source</b> tab.</p> -<p>Click <b>Add Folder</b>, and select the src/main/scala and src/test/scala directories.</p> -<p>Only the atlas-repository and atlas-type system projects have Scala source folders to update.</p> -<p>e. Select atlas-typesystem, atlas-repository, hdfs-model, and storm-bridge projects, right-click, go to the Scala menu, and choose ‘Set the Scala Installation’.</p> -<p>f. Choose Fixed Scala Installation: 2.11.8 (bundled) , and click OK.</p> -<p>g. Restart Eclipse</p> -<p>h. Choose Project - Clean, select Clean all projects, and click OK.</p> -<p>Some projects may not pick up the Scala library – if this occurs, quick fix on those projects to add in the Scala library – projects atlas-typesystem, atlas-repository, hdfs-model, storm-bridge and altas-webapp.</p> -<p>You should now have a clean workspace.</p> -<p><b>Sample Bash scripts to help mac users</b></p> -<p>You will need to change some of these scripts to point to your installation targets.</p> -<ul> -<li>Run this script to setup your command line build environment</li></ul> -<div class="source"><pre class="prettyprint"> -#!/bin/bash # export JAVA_HOME=/Library/Java/JavaVirtualMachines/macosxx6480sr3fp10hybrid-20160719_01-sdk -export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home -export M2_HOME=/Applications/apache-maven-3.3.9 # Git is installed in the system path -export PYTHON_HOME='/Applications/Python 2.7' -export PATH=$PYTHON_HOME:$M2_HOME/bin:$JAVA_HOME/bin:$PATH -export MAVEN_OPTS="-Xmx1536m -Drat.numUnapprovedLicenses=100" - -</pre></div> -<p></p> -<ul> -<li>If you do not want to set Java 8 as your system java, you can use this bash script to setup the environment and run Eclipse (which you can drop in Applications and rename to neon).</li></ul> -<div class="source"><pre class="prettyprint"> -#!/bin/bash -export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home -export M2_HOME=/Applications/apache-maven-3.3.9 -# Git is installed in the system path -export PYTHON_HOME='/Applications/Python 2.7' -export PATH=$PYTHON_HOME:$M2_HOME/bin:$JAVA_HOME/bin:$PATH/Applications/neon.app/Contents/MacOS/eclipse - -</pre></div></div> - </div> - </div> - <hr/> - <footer> - <div class="container"> - <div class="row"> -Copyright é 2018 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. - </div> - <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a> -</p> - </div> - </footer> - </body> -</html> http://git-wip-us.apache.org/repos/asf/atlas-website/blob/af60ed7f/1.0.0-alpha/Export-API.html ---------------------------------------------------------------------- diff --git a/1.0.0-alpha/Export-API.html b/1.0.0-alpha/Export-API.html deleted file mode 100644 index bb743c7..0000000 --- a/1.0.0-alpha/Export-API.html +++ /dev/null @@ -1,296 +0,0 @@ -<!DOCTYPE html> -<!-- - | Generated by Apache Maven Doxia Site Renderer 1.8 from src/site/twiki/Export-API.twiki at 2018-01-25 - | Rendered using Apache Maven Fluido Skin 1.7 ---> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - <head> - <meta charset="UTF-8" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180125" /> - <meta http-equiv="Content-Language" content="en" /> - <title>Apache Atlas – Export API</title> - <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" /> - <link rel="stylesheet" href="./css/site.css" /> - <link rel="stylesheet" href="./css/print.css" media="print" /> - <script type="text/javascript" src="./js/apache-maven-fluido-1.7.min.js"></script> - </head> - <body class="topBarEnabled"> - <div id="topbar" class="navbar navbar-fixed-top "> - <div class="navbar-inner"> - <div class="container" style="width: 68%;"><div class="nav-collapse"> - <ul class="nav"> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Atlas <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="index.html" title="About">About</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS" title="Wiki">Wiki</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS" title="News">News</a></li> - <li><a href="https://git-wip-us.apache.org/repos/asf/atlas.git" title="Git">Git</a></li> - <li><a href="https://issues.apache.org/jira/browse/ATLAS" title="Jira">Jira</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS/PoweredBy" title="Powered by">Powered by</a></li> - <li><a href="http://blogs.apache.org/atlas/" title="Blog">Blog</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Information <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="project-info.html" title="Summary">Summary</a></li> - <li><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li> - <li><a href="http://webchat.freenode.net?channels=apacheatlas&uio=d4" title="IRC">IRC</a></li> - <li><a href="team-list.html" title="Team">Team</a></li> - <li><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li> - <li><a href="source-repository.html" title="Source Repository">Source Repository</a></li> - <li><a href="license.html" title="License">License</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org/dyn/closer.cgi/atlas/1.0.0-alpha/" title="1.0.0-alpha">1.0.0-alpha</a></li> - <li><a href="http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/" title="0.8.1">0.8.1</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/" title="0.8-incubating">0.8-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/" title="0.7.1-incubating">0.7.1-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/" title="0.7-incubating">0.7-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/" title="0.6-incubating">0.6-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/" title="0.5-incubating">0.5-incubating</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="../index.html" title="latest">latest</a></li> - <li><a href="../1.0.0-alpha/index.html" title="1.0.0-alpha">1.0.0-alpha</a></li> - <li><a href="../0.8.1/index.html" title="0.8.1">0.8.1</a></li> - <li><a href="../0.8.0-incubating/index.html" title="0.8-incubating">0.8-incubating</a></li> - <li><a href="../0.7.1-incubating/index.html" title="0.7.1-incubating">0.7.1-incubating</a></li> - <li><a href="../0.7.0-incubating/index.html" title="0.7-incubating">0.7-incubating</a></li> - <li><a href="../0.6.0-incubating/index.html" title="0.6-incubating">0.6-incubating</a></li> - <li><a href="../0.5.0-incubating/index.html" title="0.5-incubating">0.5-incubating</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a></li> - <li><a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a></li> - <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a></li> - <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> - </ul> - </li> - </ul> -<form id="search-form" action="https://www.google.com/search" method="get" class="navbar-search pull-right" > - <input value="http://atlas.apache.org" name="sitesearch" type="hidden"/> - <input class="search-query" name="q" id="query" type="text" /> -</form> -<script type="text/javascript">asyncJs( 'https://cse.google.com/brand?form=search-form' )</script> - <iframe src="https://www.facebook.com/plugins/like.php?href=http://atlas.apache.org/atlas-docs&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" - scrolling="no" frameborder="0" - style="border:none; width:100px; height:20px; margin-top: 10px;" class="pull-right" ></iframe> - <script type="text/javascript">asyncJs( 'https://apis.google.com/js/plusone.js' )</script> - <ul class="nav pull-right"><li style="margin-top: 10px;"> - <div class="g-plusone" data-href="http://atlas.apache.org/atlas-docs" data-size="medium" width="60px" align="right" ></div> - </li></ul> - </div> - </div> - </div> - </div> - <div class="container"> - <div id="banner"> - <div class="pull-left"><a href=".." id="bannerLeft"><img src="images/atlas-logo.png" alt="Apache Atlas" width="200px" height="45px"/></a></div> - <div class="pull-right"></div> - <div class="clear"><hr/></div> - </div> - - <div id="breadcrumbs"> - <ul class="breadcrumb"> - <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> - <li class=""><a href="index.html" title="Atlas">Atlas</a><span class="divider">/</span></li> - <li class="active ">Export API</li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2018-01-25</li> - <li id="projectVersion" class="pull-right">Version: 1.0.0-alpha</li> - </ul> - </div> - <div id="bodyColumn" > -<div class="section"> -<h2><a name="Export_API"></a>Export API</h2> -<p>The general approach is:</p> -<ul> -<li>Consumer specifies the scope of data to be exported (details below).</li> -<li>The API if successful, will return the stream in the format specified.</li> -<li>Error will be returned on failure of the call.</li></ul> -<p>See <a href="./Export-HDFS-API.html">here</a> for details on exporting <b>hdfs_path</b> entities.</p> -<p></p> -<table border="0" class="table table-striped"> -<tr class="a"> -<th>Title</th> -<th>Export API</th></tr> -<tr class="b"> -<td><i>Example</i></td> -<td>See Examples sections below.</td></tr> -<tr class="a"> -<td><i>URL</i></td> -<td><i>api/atlas/admin/export</i></td></tr> -<tr class="b"> -<td><i>Method</i></td> -<td><i>POST</i></td></tr> -<tr class="a"> -<td><i>URL Parameters</i></td> -<td><i>None</i></td></tr> -<tr class="b"> -<td><i>Data Parameters</i></td> -<td>The class <i>AtlasExportRequest</i> is used to specify the items to export. The list of <i>AtlasObjectId</i>(s) allow for specifying the multiple items to export in a session. The <i>AtlasObjectId</i> is a tuple of entity type, name of unique attribute, value of unique attribute. Several items can be specified. See examples below.</td></tr> -<tr class="a"> -<td><i>Success Response</i></td> -<td>File stream as <i>application/zip</i>.</td></tr> -<tr class="b"> -<td><i>Error Response</i></td> -<td>Errors that are handled within the system will be returned as <i>AtlasBaseException</i>.</td></tr> -<tr class="a"> -<td><i>Notes</i></td> -<td>Consumer could choose to consume the output of the API by programmatically using <i>java.io.ByteOutputStream</i> or by manually, save the contents of the stream to a file on the disk.</td></tr></table><b><i>Method Signature</i></b> -<div class="source"><pre class="prettyprint"> -@POST -@Path("/export") -@Consumes("application/json;charset=UTF-8") - -</pre></div></div> -<div class="section"> -<h4><a name="Additional_Options"></a>Additional Options</h4> -<p>It is possible to specify additional parameters for the <i>Export</i> operation.</p> -<p>Current implementation has 2 options. Both are optional:</p> -<ul> -<li><i>matchType</i> This option configures the approach used for fetching the starting entity. It has follow values: -<ul> -<li><i>startsWith</i> Search for an entity that is prefixed with the specified criteria.</li> -<li><i>endsWith</i> Search for an entity that is suffixed with the specified criteria.</li> -<li><i>contains</i> Search for an entity that has the specified criteria as a sub-string.</li> -<li><i>matches</i> Search for an entity that is a regular expression match with the specified criteria.</li></ul></li></ul> -<p></p> -<ul> -<li><i>fetchType</i> This option configures the approach used for fetching entities. It has following values: -<ul> -<li><i>FULL</i>: This fetches all the entities that are connected directly and indirectly to the starting entity. E.g. If a starting entity specified is a table, then this option will fetch the table, database and all the other tables within the database.</li> -<li><i>CONNECTED</i>: This fetches all the etnties that are connected directly to the starting entity. E.g. If a starting entity specified is a table, then this option will fetch the table and the database entity only.</li></ul></li></ul> -<p>If no <i>matchType</i> is specified, exact match is used. Which means, that the entire string is used in the search criteria.</p> -<p>Searching using <i>matchType</i> applies for all types of entities. It is particularly useful for matching entities of type hdfs_path (see <a href="./Export-HDFS-API.html">here</a>).</p> -<p>The <i>fetchType</i> option defaults to <i>FULL</i>.</p> -<p>For complete example see section below.</p></div> -<div class="section"> -<h4><a name="Contents_of_Exported_ZIP_File"></a>Contents of Exported ZIP File</h4> -<p>The exported ZIP file has the following entries within it:</p> -<ul> -<li><i>atlas-export-result.json</i>: -<ul> -<li>Input filters: The scope of export.</li> -<li>File format: The format chosen for the export operation.</li> -<li>Metrics: The number of entity definitions, classifications and entities exported.</li></ul></li> -<li><i>atlas-typesdef.json</i>: Type definitions for the entities exported.</li> -<li><i>atlas-export-order.json</i>: Order in which entities should be exported.</li> -<li><i>{guid}.json</i>: Individual entities are exported with file names that correspond to their id.</li></ul></div> -<div class="section"> -<h4><a name="Examples"></a>Examples</h4> -<p>The <i>AtlasExportRequest</i> below shows filters that attempt to export 2 databases in cluster cl1:</p> -<div class="source"><pre class="prettyprint"> -{ - "itemsToExport": [ - { "typeName": "hive_db", "uniqueAttributes": { "qualifiedName": "accounts@cl1" } }, - { "typeName": "hive_db", "uniqueAttributes": { "qualifiedName": "hr@cl1" } } - ] -} - -</pre></div> -<p>The <i>AtlasExportRequest</i> below specifies the <i>fetchType</i> as <i>FULL</i>. The <i>matchType</i> option will fetch <i>accounts@cl1</i>.</p> -<div class="source"><pre class="prettyprint"> -{ - "itemsToExport": [ - { "typeName": "hive_db", "uniqueAttributes": { "qualifiedName": "accounts@" } }, - ], - "options" { - "fetchType": "FULL", - "matchType": "startsWith" - } -} - -</pre></div> -<p>The <i>AtlasExportRequest</i> below specifies the <i>fetchType</i> as <i>connected</i>. The <i>matchType</i> option will fetch <i>accountsReceivable</i>, <i>accountsPayable</i>, etc present in the database.</p> -<div class="source"><pre class="prettyprint"> -{ - "itemsToExport": [ - { "typeName": "hive_db", "uniqueAttributes": { "name": "accounts" } }, - ], - "options" { - "fetchType": "CONNECTED", - "matchType": "startsWith" - } -} - -</pre></div> -<p>Below is the <i>AtlasExportResult</i> JSON for the export of the <i>Sales</i> DB present in the <i>QuickStart</i>.</p> -<p>The <i>metrics</i> contains the number of types and entities exported as part of the operation.</p> -<div class="source"><pre class="prettyprint"> -{ - "clientIpAddress": "10.0.2.15", - "hostName": "10.0.2.2", - "metrics": { - "duration": 1415, - "entitiesWithExtInfo": 12, - "entity:DB_v1": 2, - "entity:LoadProcess_v1": 2, - "entity:Table_v1": 6, - "entity:View_v1": 2, - "typedef:Column_v1": 1, - "typedef:DB_v1": 1, - "typedef:LoadProcess_v1": 1, - "typedef:StorageDesc_v1": 1, - "typedef:Table_v1": 1, - "typedef:View_v1": 1, - "typedef:classification": 6 - }, - "operationStatus": "SUCCESS", - "request": { - "itemsToExport": [ - { - "typeName": "DB_v1", - "uniqueAttributes": { - "name": "Sales" - } - } - ], - "options": { - "fetchType": "full" - } - }, - "userName": "admin" -} - -</pre></div></div> -<div class="section"> -<h4><a name="CURL_Calls"></a>CURL Calls</h4> -<p>Below are sample CURL calls that demonstrate Export of <i>QuickStart</i> database.</p> -<div class="source"><pre class="prettyprint"> -curl -X POST -u adminuser:password -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{ - "itemsToExport": [ - { "typeName": "DB", "uniqueAttributes": { "name": "Sales" } - { "typeName": "DB", "uniqueAttributes": { "name": "Reporting" } - { "typeName": "DB", "uniqueAttributes": { "name": "Logging" } - } - ], - "options": "full" -}' "http://localhost:21000/api/atlas/admin/export" > quickStartDB.zip - -</pre></div></div> - </div> - </div> - <hr/> - <footer> - <div class="container"> - <div class="row"> -Copyright é 2018 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. - </div> - <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a> -</p> - </div> - </footer> - </body> -</html> http://git-wip-us.apache.org/repos/asf/atlas-website/blob/af60ed7f/1.0.0-alpha/Export-HDFS-API.html ---------------------------------------------------------------------- diff --git a/1.0.0-alpha/Export-HDFS-API.html b/1.0.0-alpha/Export-HDFS-API.html deleted file mode 100644 index c12ba6f..0000000 --- a/1.0.0-alpha/Export-HDFS-API.html +++ /dev/null @@ -1,156 +0,0 @@ -<!DOCTYPE html> -<!-- - | Generated by Apache Maven Doxia Site Renderer 1.8 from src/site/twiki/Export-HDFS-API.twiki at 2018-01-25 - | Rendered using Apache Maven Fluido Skin 1.7 ---> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - <head> - <meta charset="UTF-8" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180125" /> - <meta http-equiv="Content-Language" content="en" /> - <title>Apache Atlas – Export & Import APIs for HDFS Path</title> - <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" /> - <link rel="stylesheet" href="./css/site.css" /> - <link rel="stylesheet" href="./css/print.css" media="print" /> - <script type="text/javascript" src="./js/apache-maven-fluido-1.7.min.js"></script> - </head> - <body class="topBarEnabled"> - <div id="topbar" class="navbar navbar-fixed-top "> - <div class="navbar-inner"> - <div class="container" style="width: 68%;"><div class="nav-collapse"> - <ul class="nav"> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Atlas <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="index.html" title="About">About</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS" title="Wiki">Wiki</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS" title="News">News</a></li> - <li><a href="https://git-wip-us.apache.org/repos/asf/atlas.git" title="Git">Git</a></li> - <li><a href="https://issues.apache.org/jira/browse/ATLAS" title="Jira">Jira</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS/PoweredBy" title="Powered by">Powered by</a></li> - <li><a href="http://blogs.apache.org/atlas/" title="Blog">Blog</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Information <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="project-info.html" title="Summary">Summary</a></li> - <li><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li> - <li><a href="http://webchat.freenode.net?channels=apacheatlas&uio=d4" title="IRC">IRC</a></li> - <li><a href="team-list.html" title="Team">Team</a></li> - <li><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li> - <li><a href="source-repository.html" title="Source Repository">Source Repository</a></li> - <li><a href="license.html" title="License">License</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org/dyn/closer.cgi/atlas/1.0.0-alpha/" title="1.0.0-alpha">1.0.0-alpha</a></li> - <li><a href="http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/" title="0.8.1">0.8.1</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/" title="0.8-incubating">0.8-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/" title="0.7.1-incubating">0.7.1-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/" title="0.7-incubating">0.7-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/" title="0.6-incubating">0.6-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/" title="0.5-incubating">0.5-incubating</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="../index.html" title="latest">latest</a></li> - <li><a href="../1.0.0-alpha/index.html" title="1.0.0-alpha">1.0.0-alpha</a></li> - <li><a href="../0.8.1/index.html" title="0.8.1">0.8.1</a></li> - <li><a href="../0.8.0-incubating/index.html" title="0.8-incubating">0.8-incubating</a></li> - <li><a href="../0.7.1-incubating/index.html" title="0.7.1-incubating">0.7.1-incubating</a></li> - <li><a href="../0.7.0-incubating/index.html" title="0.7-incubating">0.7-incubating</a></li> - <li><a href="../0.6.0-incubating/index.html" title="0.6-incubating">0.6-incubating</a></li> - <li><a href="../0.5.0-incubating/index.html" title="0.5-incubating">0.5-incubating</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a></li> - <li><a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a></li> - <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a></li> - <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> - </ul> - </li> - </ul> -<form id="search-form" action="https://www.google.com/search" method="get" class="navbar-search pull-right" > - <input value="http://atlas.apache.org" name="sitesearch" type="hidden"/> - <input class="search-query" name="q" id="query" type="text" /> -</form> -<script type="text/javascript">asyncJs( 'https://cse.google.com/brand?form=search-form' )</script> - <iframe src="https://www.facebook.com/plugins/like.php?href=http://atlas.apache.org/atlas-docs&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" - scrolling="no" frameborder="0" - style="border:none; width:100px; height:20px; margin-top: 10px;" class="pull-right" ></iframe> - <script type="text/javascript">asyncJs( 'https://apis.google.com/js/plusone.js' )</script> - <ul class="nav pull-right"><li style="margin-top: 10px;"> - <div class="g-plusone" data-href="http://atlas.apache.org/atlas-docs" data-size="medium" width="60px" align="right" ></div> - </li></ul> - </div> - </div> - </div> - </div> - <div class="container"> - <div id="banner"> - <div class="pull-left"><a href=".." id="bannerLeft"><img src="images/atlas-logo.png" alt="Apache Atlas" width="200px" height="45px"/></a></div> - <div class="pull-right"></div> - <div class="clear"><hr/></div> - </div> - - <div id="breadcrumbs"> - <ul class="breadcrumb"> - <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> - <li class=""><a href="index.html" title="Atlas">Atlas</a><span class="divider">/</span></li> - <li class="active ">Export & Import APIs for HDFS Path</li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2018-01-25</li> - <li id="projectVersion" class="pull-right">Version: 1.0.0-alpha</li> - </ul> - </div> - <div id="bodyColumn" > -<div class="section"> -<h2><a name="Export_.26_Import_APIs_for_HDFS_Path"></a>Export & Import APIs for HDFS Path</h2></div> -<div class="section"> -<h4><a name="Introduction"></a>Introduction</h4> -<p>The general approach for using the Import-Export APIs for HDFS Paths remain the same. There are minor variations caused how HDFS paths are handled within Atlas.</p> -<p>Unlike HIVE entities, HDFS entities within Atlas are created manually using the <i>Create Entity</i> link within the Atlas Web UI.</p> -<p>Also, HDFS paths tend to be hierarchical, in the sense that users tend to model the same HDFS storage structure within Atlas.</p> -<p><b><i>Sample HDFS Setup</i></b></p> -<p><table border="1" cellpadding="pixels" cellspacing="pixels"> <tr> <th><strong>HDFS Path</strong></th> <th><strong>Atlas Entity</strong></th> </tr> <tr> <td style="padding:0 15px 0 15px;"> <em>/apps/warehouse/finance</em> </td> <td style="padding:0 15px 0 15px;"> <strong>Entity type: </strong><em>hdfs_path</em> <br/> <strong>Name: </strong><em>Finance</em> <br/> <strong>QualifiedName: </strong><em>FinanceAll</em> </td> </tr> <tr> <td style="padding:0 15px 0 15px;"> <em>/apps/warehouse/finance/accounts-receivable</em> </td> <td style="padding:0 15px 0 15px;"> <strong>Entity type: </strong><em>hdfs_path</em> <br/> <strong>Name: </strong><em>FinanceReceivable</em> <br/> <strong>QualifiedName: </strong><em>FinanceReceivable</em> <br/> <strong>Path: </strong><em>/apps/warehouse/finance</em> </td> </tr> <td style="padding:0 15px 0 15px;"> <em>/apps/wareho use/finance/accounts-payable</em> </td> <td style="padding:0 15px 0 15px;"> <strong>Entity type: </strong><em>hdfs_path</em> <br/> <strong>Name: </strong><em>Finance-Payable</em> <br/> <strong>QualifiedName: </strong><em>FinancePayable</em> <br/> <strong>Path: </strong><em>/apps/warehouse/finance/accounts-payable</em> </td> </tr> </tr> <td style="padding:0 15px 0 15px;"> <em>/apps/warehouse/finance/billing</em> </td> <td style="padding:0 15px 0 15px;"> <strong>Entity type: </strong><em>hdfs_path</em> <br/> <strong>Name: </strong><em>FinanceBilling</em> <br/> <strong>QualifiedName: </strong><em>FinanceBilling</em> <br/> <strong>Path: </strong><em>/apps/warehouse/finance/billing</em> </td> </tr> </table></p></div> -<div class="section"> -<h4><a name="Export_API_Using_matchType"></a>Export API Using matchType</h4> -<p>To export entities that represent HDFS path, use the Export API using the <i>matchType</i> option. Details can be found <a href="./Export-API.html">here</a>.</p></div> -<div class="section"> -<h4><a name="Example_Using_CURL_Calls"></a>Example Using CURL Calls</h4> -<p>Below are sample CURL calls that performs export operation on the <i>Sample HDFS Setup</i> shown above.</p> -<div class="source"><pre class="prettyprint"> -curl -X POST -u adminuser:password -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{ - "itemsToExport": [ - { "typeName": "hdfs_path", "uniqueAttributes": { "name": "FinanceAll" } - } - ], - "options": { - "fetchType": "full", - "matchType": "startsWith" - } -}' "http://localhost:21000/api/atlas/admin/export" > financeAll.zip - -</pre></div></div> - </div> - </div> - <hr/> - <footer> - <div class="container"> - <div class="row"> -Copyright é 2018 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. - </div> - <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a> -</p> - </div> - </footer> - </body> -</html> http://git-wip-us.apache.org/repos/asf/atlas-website/blob/af60ed7f/1.0.0-alpha/HighAvailability.html ---------------------------------------------------------------------- diff --git a/1.0.0-alpha/HighAvailability.html b/1.0.0-alpha/HighAvailability.html deleted file mode 100644 index 5c86fdf..0000000 --- a/1.0.0-alpha/HighAvailability.html +++ /dev/null @@ -1,296 +0,0 @@ -<!DOCTYPE html> -<!-- - | Generated by Apache Maven Doxia Site Renderer 1.8 from src/site/twiki/HighAvailability.twiki at 2018-01-25 - | Rendered using Apache Maven Fluido Skin 1.7 ---> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - <head> - <meta charset="UTF-8" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180125" /> - <meta http-equiv="Content-Language" content="en" /> - <title>Apache Atlas – Fault Tolerance and High Availability Options</title> - <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" /> - <link rel="stylesheet" href="./css/site.css" /> - <link rel="stylesheet" href="./css/print.css" media="print" /> - <script type="text/javascript" src="./js/apache-maven-fluido-1.7.min.js"></script> - </head> - <body class="topBarEnabled"> - <div id="topbar" class="navbar navbar-fixed-top "> - <div class="navbar-inner"> - <div class="container" style="width: 68%;"><div class="nav-collapse"> - <ul class="nav"> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Atlas <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="index.html" title="About">About</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS" title="Wiki">Wiki</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS" title="News">News</a></li> - <li><a href="https://git-wip-us.apache.org/repos/asf/atlas.git" title="Git">Git</a></li> - <li><a href="https://issues.apache.org/jira/browse/ATLAS" title="Jira">Jira</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/ATLAS/PoweredBy" title="Powered by">Powered by</a></li> - <li><a href="http://blogs.apache.org/atlas/" title="Blog">Blog</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Information <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="project-info.html" title="Summary">Summary</a></li> - <li><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li> - <li><a href="http://webchat.freenode.net?channels=apacheatlas&uio=d4" title="IRC">IRC</a></li> - <li><a href="team-list.html" title="Team">Team</a></li> - <li><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li> - <li><a href="source-repository.html" title="Source Repository">Source Repository</a></li> - <li><a href="license.html" title="License">License</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org/dyn/closer.cgi/atlas/1.0.0-alpha/" title="1.0.0-alpha">1.0.0-alpha</a></li> - <li><a href="http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/" title="0.8.1">0.8.1</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/" title="0.8-incubating">0.8-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/" title="0.7.1-incubating">0.7.1-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/" title="0.7-incubating">0.7-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/" title="0.6-incubating">0.6-incubating</a></li> - <li><a href="http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/" title="0.5-incubating">0.5-incubating</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="../index.html" title="latest">latest</a></li> - <li><a href="../1.0.0-alpha/index.html" title="1.0.0-alpha">1.0.0-alpha</a></li> - <li><a href="../0.8.1/index.html" title="0.8.1">0.8.1</a></li> - <li><a href="../0.8.0-incubating/index.html" title="0.8-incubating">0.8-incubating</a></li> - <li><a href="../0.7.1-incubating/index.html" title="0.7.1-incubating">0.7.1-incubating</a></li> - <li><a href="../0.7.0-incubating/index.html" title="0.7-incubating">0.7-incubating</a></li> - <li><a href="../0.6.0-incubating/index.html" title="0.6-incubating">0.6-incubating</a></li> - <li><a href="../0.5.0-incubating/index.html" title="0.5-incubating">0.5-incubating</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a></li> - <li><a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a></li> - <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a></li> - <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> - </ul> - </li> - </ul> -<form id="search-form" action="https://www.google.com/search" method="get" class="navbar-search pull-right" > - <input value="http://atlas.apache.org" name="sitesearch" type="hidden"/> - <input class="search-query" name="q" id="query" type="text" /> -</form> -<script type="text/javascript">asyncJs( 'https://cse.google.com/brand?form=search-form' )</script> - <iframe src="https://www.facebook.com/plugins/like.php?href=http://atlas.apache.org/atlas-docs&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" - scrolling="no" frameborder="0" - style="border:none; width:100px; height:20px; margin-top: 10px;" class="pull-right" ></iframe> - <script type="text/javascript">asyncJs( 'https://apis.google.com/js/plusone.js' )</script> - <ul class="nav pull-right"><li style="margin-top: 10px;"> - <div class="g-plusone" data-href="http://atlas.apache.org/atlas-docs" data-size="medium" width="60px" align="right" ></div> - </li></ul> - </div> - </div> - </div> - </div> - <div class="container"> - <div id="banner"> - <div class="pull-left"><a href=".." id="bannerLeft"><img src="images/atlas-logo.png" alt="Apache Atlas" width="200px" height="45px"/></a></div> - <div class="pull-right"></div> - <div class="clear"><hr/></div> - </div> - - <div id="breadcrumbs"> - <ul class="breadcrumb"> - <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> - <li class=""><a href="index.html" title="Atlas">Atlas</a><span class="divider">/</span></li> - <li class="active ">Fault Tolerance and High Availability Options</li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2018-01-25</li> - <li id="projectVersion" class="pull-right">Version: 1.0.0-alpha</li> - </ul> - </div> - <div id="bodyColumn" > -<div class="section"> -<h2><a name="Fault_Tolerance_and_High_Availability_Options"></a>Fault Tolerance and High Availability Options</h2></div> -<div class="section"> -<h3><a name="Introduction"></a>Introduction</h3> -<p>Apache Atlas uses and interacts with a variety of systems to provide metadata management and data lineage to data administrators. By choosing and configuring these dependencies appropriately, it is possible to achieve a high degree of service availability with Atlas. This document describes the state of high availability support in Atlas, including its capabilities and current limitations, and also the configuration required for achieving this level of high availability.</p> -<p><a href="./Architecture.html">The architecture page</a> in the wiki gives an overview of the various components that make up Atlas. The options mentioned below for various components derive context from the above page, and would be worthwhile to review before proceeding to read this page.</p></div> -<div class="section"> -<h3><a name="Atlas_Web_Service"></a>Atlas Web Service</h3> -<p>Currently, the Atlas Web Service has a limitation that it can only have one active instance at a time. In earlier releases of Atlas, a backup instance could be provisioned and kept available. However, a manual failover was required to make this backup instance active.</p> -<p>From this release, Atlas will support multiple instances of the Atlas Web service in an active/passive configuration with automated failover. This means that users can deploy and start multiple instances of the Atlas Web Service on different physical hosts at the same time. One of these instances will be automatically selected as an 'active' instance to service user requests. The others will automatically be deemed 'passive'. If the 'active' instance becomes unavailable either because it is deliberately stopped, or due to unexpected failures, one of the other instances will automatically be elected as an 'active' instance and start to service user requests.</p> -<p>An 'active' instance is the only instance that can respond to user requests correctly. It can create, delete, modify or respond to queries on metadata objects. A 'passive' instance will accept user requests, but will redirect them using HTTP redirect to the currently known 'active' instance. Specifically, a passive instance will not itself respond to any queries on metadata objects. However, all instances (both active and passive), will respond to admin requests that return information about that instance.</p> -<p>When configured in a High Availability mode, users can get the following operational benefits:</p> -<p></p> -<ul> -<li><b>Uninterrupted service during maintenance intervals</b>: If an active instance of the Atlas Web Service needs to be brought down for maintenance, another instance would automatically become active and can service requests.</li> -<li><b>Uninterrupted service in event of unexpected failures</b>: If an active instance of the Atlas Web Service fails due to software or hardware errors, another instance would automatically become active and can service requests.</li></ul> -<p>In the following sub-sections, we describe the steps required to setup High Availability for the Atlas Web Service. We also describe how the deployment and client can be designed to take advantage of this capability. Finally, we describe a few details of the underlying implementation.</p></div> -<div class="section"> -<h4><a name="Setting_up_the_High_Availability_feature_in_Atlas"></a>Setting up the High Availability feature in Atlas</h4> -<p>The following pre-requisites must be met for setting up the High Availability feature.</p> -<p></p> -<ul> -<li>Ensure that you install Apache Zookeeper on a cluster of machines (a minimum of 3 servers is recommended for production).</li> -<li>Select 2 or more physical machines to run the Atlas Web Service instances on. These machines define what we refer to as a 'server ensemble' for Atlas.</li></ul> -<p>To setup High Availability in Atlas, a few configuration options must be defined in the <tt>atlas-application.properties</tt> file. While the complete list of configuration items are defined in the <a href="./Configuration.html">Configuration Page</a>, this section lists a few of the main options.</p> -<p></p> -<ul> -<li>High Availability is an optional feature in Atlas. Hence, it must be enabled by setting the configuration option <tt>atlas.server.ha.enabled</tt> to true.</li> -<li>Next, define a list of identifiers, one for each physical machine you have selected for the Atlas Web Service instance. These identifiers can be simple strings like <tt>id1</tt>, <tt>id2</tt> etc. They should be unique and should not contain a comma.</li> -<li>Define a comma separated list of these identifiers as the value of the option <tt>atlas.server.ids</tt>.</li> -<li>For each physical machine, list the IP Address/hostname and port as the value of the configuration <tt>atlas.server.address.id</tt>, where <tt>id</tt> refers to the identifier string for this physical machine. -<ul> -<li>For e.g., if you have selected 2 machines with hostnames <tt>host1.company.com</tt> and <tt>host2.company.com</tt>, you can define the configuration options as below:</li></ul></li></ul> -<div class="source"><pre class="prettyprint"> - atlas.server.ids=id1,id2 - atlas.server.address.id1=host1.company.com:21000 - atlas.server.address.id2=host2.company.com:21000 - -</pre></div> -<p></p> -<ul> -<li>Define the Zookeeper quorum which will be used by the Atlas High Availability feature.</li></ul> -<div class="source"><pre class="prettyprint"> - atlas.server.ha.zookeeper.connect=zk1.company.com:2181,zk2.company.com:2181,zk3.company.com:2181 - -</pre></div> -<p></p> -<ul> -<li>You can review other configuration options that are defined for the High Availability feature, and set them up as desired in the <tt>atlas-application.properties</tt> file.</li> -<li>For production environments, the components that Atlas depends on must also be set up in High Availability mode. This is described in detail in the following sections. Follow those instructions to setup and configure them.</li> -<li>Install the Atlas software on the selected physical machines.</li> -<li>Copy the <tt>atlas-application.properties</tt> file created using the steps above to the configuration directory of all the machines.</li> -<li>Start the dependent components.</li> -<li>Start each instance of the Atlas Web Service.</li></ul> -<p>To verify that High Availability is working, run the following script on each of the instances where Atlas Web Service is installed.</p> -<div class="source"><pre class="prettyprint"> -$ATLAS_HOME/bin/atlas_admin.py -status - -</pre></div> -<p>This script can print one of the values below as response:</p> -<p></p> -<ul> -<li><b>ACTIVE</b>: This instance is active and can respond to user requests.</li> -<li><b>PASSIVE</b>: This instance is PASSIVE. It will redirect any user requests it receives to the current active instance.</li> -<li><b>BECOMING_ACTIVE</b>: This would be printed if the server is transitioning to become an ACTIVE instance. The server cannot service any metadata user requests in this state.</li> -<li><b>BECOMING_PASSIVE</b>: This would be printed if the server is transitioning to become a PASSIVE instance. The server cannot service any metadata user requests in this state.</li></ul> -<p>Under normal operating circumstances, only one of these instances should print the value <b>ACTIVE</b> as response to the script, and the others would print <b>PASSIVE</b>.</p></div> -<div class="section"> -<h4><a name="Configuring_clients_to_use_the_High_Availability_feature"></a>Configuring clients to use the High Availability feature</h4> -<p>The Atlas Web Service can be accessed in two ways:</p> -<p></p> -<ul> -<li><b>Using the Atlas Web UI</b>: This is a browser based client that can be used to query the metadata stored in Atlas.</li> -<li><b>Using the Atlas REST API</b>: As Atlas exposes a RESTful API, one can use any standard REST client including libraries in other applications. In fact, Atlas ships with a client called AtlasClient that can be used as an example to build REST client access.</li></ul> -<p>In order to take advantage of the High Availability feature in the clients, there are two options possible.</p></div> -<div class="section"> -<h5><a name="Using_an_intermediate_proxy"></a>Using an intermediate proxy</h5> -<p>The simplest solution to enable highly available access to Atlas is to install and configure some intermediate proxy that has a capability to transparently switch services based on status. One such proxy solution is <a class="externalLink" href="http://www.haproxy.org/">HAProxy</a>.</p> -<p>Here is an example HAProxy configuration that can be used. Note this is provided for illustration only, and not as a recommended production configuration. For that, please refer to the HAProxy documentation for appropriate instructions.</p> -<div class="source"><pre class="prettyprint"> -frontend atlas_fe - bind *:41000 - default_backend atlas_be - -backend atlas_be - mode http - option httpchk get /api/atlas/admin/status - http-check expect string ACTIVE - balance roundrobin - server host1_21000 host1:21000 check - server host2_21000 host2:21000 check backup - -listen atlas - bind localhost:42000 - -</pre></div> -<p>The above configuration binds HAProxy to listen on port 41000 for incoming client connections. It then routes the connections to either of the hosts host1 or host2 depending on a HTTP status check. The status check is done using a HTTP GET on the REST URL <tt>/api/atlas/admin/status</tt>, and is deemed successful only if the HTTP response contains the string ACTIVE.</p></div> -<div class="section"> -<h5><a name="Using_automatic_detection_of_active_instance"></a>Using automatic detection of active instance</h5> -<p>If one does not want to setup and manage a separate proxy, then the other option to use the High Availability feature is to build a client application that is capable of detecting status and retrying operations. In such a setting, the client application can be launched with the URLs of all Atlas Web Service instances that form the ensemble. The client should then call the REST URL <tt>/api/atlas/admin/status</tt> on each of these to determine which is the active instance. The response from the Active instance would be of the form <tt>{Status:ACTIVE}</tt>. Also, when the client faces any exceptions in the course of an operation, it should again determine which of the remaining URLs is active and retry the operation.</p> -<p>The AtlasClient class that ships with Atlas can be used as an example client library that implements the logic for working with an ensemble and selecting the right Active server instance.</p> -<p>Utilities in Atlas, like <tt>quick_start.py</tt> and <tt>import-hive.sh</tt> can be configured to run with multiple server URLs. When launched in this mode, the AtlasClient automatically selects and works with the current active instance. If a proxy is set up in between, then its address can be used when running quick_start.py or import-hive.sh.</p></div> -<div class="section"> -<h4><a name="Implementation_Details_of_Atlas_High_Availability"></a>Implementation Details of Atlas High Availability</h4> -<p>The Atlas High Availability work is tracked under the master JIRA <a class="externalLink" href="https://issues.apache.org/jira/browse/ATLAS-510">ATLAS-510</a>. The JIRAs filed under it have detailed information about how the High Availability feature has been implemented. At a high level the following points can be called out:</p> -<p></p> -<ul> -<li>The automatic selection of an Active instance, as well as automatic failover to a new Active instance happen through a leader election algorithm.</li> -<li>For leader election, we use the <a class="externalLink" href="http://curator.apache.org/curator-recipes/leader-latch.html">Leader Latch Recipe</a> of <a class="externalLink" href="http://curator.apache.org">Apache Curator</a>.</li> -<li>The Active instance is the only one which initializes, modifies or reads state in the backend stores to keep them consistent.</li> -<li>Also, when an instance is elected as Active, it refreshes any cached information from the backend stores to get up to date.</li> -<li>A servlet filter ensures that only the active instance services user requests. If a passive instance receives these requests, it automatically redirects them to the current active instance.</li></ul></div> -<div class="section"> -<h3><a name="Metadata_Store"></a>Metadata Store</h3> -<p>As described above, Atlas uses <a href="./JanusGraph.html">JanusGraph</a> to store the metadata it manages. By default, Atlas uses a standalone HBase instance as the backing store for <a href="./JanusGraph.html">JanusGraph</a>. In order to provide HA for the metadata store, we recommend that Atlas be configured to use distributed HBase as the backing store for <a href="./JanusGraph.html">JanusGraph</a>. Doing this implies that you could benefit from the HA guarantees HBase provides. In order to configure Atlas to use HBase in HA mode, do the following:</p> -<p></p> -<ul> -<li>Choose an existing HBase cluster that is set up in HA mode to configure in Atlas (OR) Set up a new HBase cluster in <a class="externalLink" href="http://hbase.apache.org/book.html#quickstart_fully_distributed">HA mode</a>. -<ul> -<li>If setting up HBase for Atlas, please following instructions listed for setting up HBase in the <a href="./InstallationSteps.html">Installation Steps</a>.</li></ul></li> -<li>We recommend using more than one HBase masters (at least 2) in the cluster on different physical hosts that use Zookeeper for coordination to provide redundancy and high availability of HBase. -<ul> -<li>Refer to the <a href="./Configuration.html">Configuration page</a> for the options to configure in atlas.properties to setup Atlas with HBase.</li></ul></li></ul></div> -<div class="section"> -<h3><a name="Index_Store"></a>Index Store</h3> -<p>As described above, Atlas indexes metadata through <a href="./JanusGraph.html">JanusGraph</a> to support full text search queries. In order to provide HA for the index store, we recommend that Atlas be configured to use Solr as the backing index store for <a href="./JanusGraph.html">JanusGraph</a>. In order to configure Atlas to use Solr in HA mode, do the following:</p> -<p></p> -<ul> -<li>Choose an existing SolrCloud cluster setup in HA mode to configure in Atlas (OR) Set up a new <a class="externalLink" href="https://cwiki.apache.org/confluence/display/solr/SolrCloud">SolrCloud cluster</a>. -<ul> -<li>Ensure Solr is brought up on at least 2 physical hosts for redundancy, and each host runs a Solr node.</li> -<li>We recommend the number of replicas to be set to at least 2 for redundancy.</li></ul></li> -<li>Create the SolrCloud collections required by Atlas, as described in <a href="./InstallationSteps.html">Installation Steps</a></li> -<li>Refer to the <a href="./Configuration.html">Configuration page</a> for the options to configure in atlas.properties to setup Atlas with Solr.</li></ul></div> -<div class="section"> -<h3><a name="Notification_Server"></a>Notification Server</h3> -<p>Metadata notification events from Hooks are sent to Atlas by writing them to a Kafka topic called <b>ATLAS_HOOK</b>. Similarly, events from Atlas to other integrating components like Ranger, are written to a Kafka topic called <b>ATLAS_ENTITIES</b>. Since Kafka persists these messages, the events will not be lost even if the consumers are down as the events are being sent. In addition, we recommend Kafka is also setup for fault tolerance so that it has higher availability guarantees. In order to configure Atlas to use Kafka in HA mode, do the following:</p> -<p></p> -<ul> -<li>Choose an existing Kafka cluster set up in HA mode to configure in Atlas (OR) Set up a new Kafka cluster.</li> -<li>We recommend that there are more than one Kafka brokers in the cluster on different physical hosts that use Zookeeper for coordination to provide redundancy and high availability of Kafka. -<ul> -<li>Setup at least 2 physical hosts for redundancy, each hosting a Kafka broker.</li></ul></li> -<li>Set up Kafka topics for Atlas usage: -<ul> -<li>The number of partitions for the ATLAS topics should be set to 1 (numPartitions)</li> -<li>Decide number of replicas for Kafka topic: Set this to at least 2 for redundancy.</li> -<li>Run the following commands:</li></ul></li></ul> -<div class="source"><pre class="prettyprint"> - $KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper <list of zookeeper host:port entries> --topic ATLAS_HOOK --replication-factor <numReplicas> --partitions 1 - $KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper <list of zookeeper host:port entries> --topic ATLAS_ENTITIES --replication-factor <numReplicas> --partitions 1 - Here KAFKA_HOME points to the Kafka installation directory. - -</pre></div> -<p></p> -<ul> -<li>In atlas-application.properties, set the following configuration:</li></ul> -<div class="source"><pre class="prettyprint"> - atlas.notification.embedded=false - atlas.kafka.zookeeper.connect=<comma separated list of servers forming Zookeeper quorum used by Kafka> - atlas.kafka.bootstrap.servers=<comma separated list of Kafka broker endpoints in host:port form> - Give at least 2 for redundancy. - -</pre></div></div> -<div class="section"> -<h3><a name="Known_Issues"></a>Known Issues</h3> -<p></p> -<ul> -<li>If the HBase region servers hosting the Atlas table are down, Atlas would not be able to store or retrieve metadata from HBase until they are brought back online.</li></ul></div> - </div> - </div> - <hr/> - <footer> - <div class="container"> - <div class="row"> -Copyright é 2018 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. - </div> - <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a> -</p> - </div> - </footer> - </body> -</html>