Commit 3d025dc6 by Venkatesh Seetharam

Rename DGI to Atlas

parent 869e6cf8
...@@ -29,7 +29,7 @@ You would need the following installed: ...@@ -29,7 +29,7 @@ You would need the following installed:
1. Building Atlas 1. Building Atlas
-------------------- --------------------
Building DGI from the source repository Building Atlas from the source repository
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* git clone git@github.com:hortonworks/atlas.git atlas * git clone git@github.com:hortonworks/atlas.git atlas
...@@ -106,7 +106,7 @@ d. Using Atlas Dashboard ...@@ -106,7 +106,7 @@ d. Using Atlas Dashboard
Navigate to http(s)://$host:$port/ Navigate to http(s)://$host:$port/
Port by default is 21000 Port by default is 21000
e. Stopping DGI Server e. Stopping Atlas Server
~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
* bin/atlas-stop.sh * bin/atlas-stop.sh
...@@ -201,9 +201,9 @@ ...@@ -201,9 +201,9 @@
limitations under the License. limitations under the License.
APACHE DGI SUBCOMPONENTS: APACHE Atlas SUBCOMPONENTS:
The Apache DGI project contains subcomponents with separate copyright The Apache Atlas project contains subcomponents with separate copyright
notices and license terms. Your use of the source code for the these notices and license terms. Your use of the source code for the these
subcomponents is subject to the terms and conditions of the following subcomponents is subject to the terms and conditions of the following
licenses. licenses.
......
Apache DGI (incubating) Apache Atlas (incubating)
Copyright 2011-2014 The Apache Software Foundation Copyright 2011-2014 The Apache Software Foundation
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
Metadata and Governance Overview Metadata and Governance Overview
The Data Governance Initiative, DGI, framework is an extensible set of core The Data Governance Initiative, Atlas, framework is an extensible set of core
foundational governance services – enabling enterprises to effectively and foundational governance services – enabling enterprises to effectively and
efficiently meet their compliance requirements within Hadoop and allows efficiently meet their compliance requirements within Hadoop and allows
integration with the whole enterprise data ecosystem. integration with the whole enterprise data ecosystem.
......
...@@ -51,7 +51,7 @@ import java.util.Set; ...@@ -51,7 +51,7 @@ import java.util.Set;
/** /**
* A Bridge Utility that imports metadata from the Hive Meta Store * A Bridge Utility that imports metadata from the Hive Meta Store
* and registers then in DGI. * and registers then in Atlas.
*/ */
public class HiveMetaStoreBridge { public class HiveMetaStoreBridge {
private static final String DEFAULT_DGI_URL = "http://localhost:21000/"; private static final String DEFAULT_DGI_URL = "http://localhost:21000/";
......
...@@ -65,7 +65,7 @@ import java.util.concurrent.ThreadPoolExecutor; ...@@ -65,7 +65,7 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** /**
* DgiHook sends lineage information to the DgiSever. * AtlasHook sends lineage information to the AtlasSever.
*/ */
public class HiveHook implements ExecuteWithHookContext { public class HiveHook implements ExecuteWithHookContext {
...@@ -100,7 +100,7 @@ public class HiveHook implements ExecuteWithHookContext { ...@@ -100,7 +100,7 @@ public class HiveHook implements ExecuteWithHookContext {
executor = new ThreadPoolExecutor(minThreads, maxThreads, keepAliveTime, TimeUnit.MILLISECONDS, executor = new ThreadPoolExecutor(minThreads, maxThreads, keepAliveTime, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(), new LinkedBlockingQueue<Runnable>(),
new ThreadFactoryBuilder().setDaemon(true).setNameFormat("DGI Logger %d").build()); new ThreadFactoryBuilder().setDaemon(true).setNameFormat("Atlas Logger %d").build());
try { try {
Runtime.getRuntime().addShutdownHook(new Thread() { Runtime.getRuntime().addShutdownHook(new Thread() {
...@@ -120,7 +120,7 @@ public class HiveHook implements ExecuteWithHookContext { ...@@ -120,7 +120,7 @@ public class HiveHook implements ExecuteWithHookContext {
LOG.info("Attempting to send msg while shutdown in progress."); LOG.info("Attempting to send msg while shutdown in progress.");
} }
LOG.info("Created DGI Hook"); LOG.info("Created Atlas Hook");
} }
class HiveEvent { class HiveEvent {
...@@ -168,7 +168,7 @@ public class HiveHook implements ExecuteWithHookContext { ...@@ -168,7 +168,7 @@ public class HiveHook implements ExecuteWithHookContext {
try { try {
fireAndForget(event); fireAndForget(event);
} catch (Throwable e) { } catch (Throwable e) {
LOG.info("DGI hook failed", e); LOG.info("Atlas hook failed", e);
} }
} }
}); });
...@@ -178,7 +178,7 @@ public class HiveHook implements ExecuteWithHookContext { ...@@ -178,7 +178,7 @@ public class HiveHook implements ExecuteWithHookContext {
private void fireAndForget(HiveEvent event) throws Exception { private void fireAndForget(HiveEvent event) throws Exception {
assert event.hookType == HookContext.HookType.POST_EXEC_HOOK : "Non-POST_EXEC_HOOK not supported!"; assert event.hookType == HookContext.HookType.POST_EXEC_HOOK : "Non-POST_EXEC_HOOK not supported!";
LOG.info("Entered DGI hook for hook type {} operation {}", event.hookType, event.operation); LOG.info("Entered Atlas hook for hook type {} operation {}", event.hookType, event.operation);
HiveMetaStoreBridge dgiBridge = new HiveMetaStoreBridge(event.conf); HiveMetaStoreBridge dgiBridge = new HiveMetaStoreBridge(event.conf);
if (!typesRegistered) { if (!typesRegistered) {
......
---+ Hive DGI Bridge ---+ Hive Atlas Bridge
Hive metadata can be modelled in DGI using its Type System. The default modelling is available in org.apache.atlas.hive.model.HiveDataModelGenerator. It defines the following types: Hive metadata can be modelled in Atlas using its Type System. The default modelling is available in org.apache.atlas.hive.model.HiveDataModelGenerator. It defines the following types:
* hive_resource_type(EnumType) - [JAR, FILE, ARCHIVE] * hive_resource_type(EnumType) - [JAR, FILE, ARCHIVE]
* hive_principal_type(EnumType) - [USER, ROLE, GROUP] * hive_principal_type(EnumType) - [USER, ROLE, GROUP]
* hive_function_type(EnumType) - [JAVA] * hive_function_type(EnumType) - [JAVA]
...@@ -19,10 +19,10 @@ Hive metadata can be modelled in DGI using its Type System. The default modellin ...@@ -19,10 +19,10 @@ Hive metadata can be modelled in DGI using its Type System. The default modellin
---++ Importing Hive Metadata ---++ Importing Hive Metadata
org.apache.atlas.hive.bridge.HiveMetaStoreBridge imports the hive metadata into DGI using the typesystem defined in org.apache.atlas.hive.model.HiveDataModelGenerator. import-hive.sh command can be used to facilitate this. org.apache.atlas.hive.bridge.HiveMetaStoreBridge imports the hive metadata into Atlas using the typesystem defined in org.apache.atlas.hive.model.HiveDataModelGenerator. import-hive.sh command can be used to facilitate this.
Set-up the following configs in hive-site.xml of your hive set-up and set environment variable HIVE_CONFIG to the Set-up the following configs in hive-site.xml of your hive set-up and set environment variable HIVE_CONFIG to the
hive conf directory: hive conf directory:
* DGI endpoint - Add the following property with the DGI endpoint for your set-up * Atlas endpoint - Add the following property with the Atlas endpoint for your set-up
<verbatim> <verbatim>
<property> <property>
<name>hive.hook.dgi.url</name> <name>hive.hook.dgi.url</name>
...@@ -38,8 +38,8 @@ Usage: <dgi package>/bin/import-hive.sh. The logs are in <dgi package>/logs/impo ...@@ -38,8 +38,8 @@ Usage: <dgi package>/bin/import-hive.sh. The logs are in <dgi package>/logs/impo
---++ Hive Hook ---++ Hive Hook
Hive supports listeners on hive command execution using hive hooks. This is used to add/update/remove entities in DGI using the model defined in org.apache.atlas.hive.model.HiveDataModelGenerator. Hive supports listeners on hive command execution using hive hooks. This is used to add/update/remove entities in Atlas using the model defined in org.apache.atlas.hive.model.HiveDataModelGenerator.
The hook submits the request to a thread pool executor to avoid blocking the command execution. Follow the these instructions in your hive set-up to add hive hook for DGI: The hook submits the request to a thread pool executor to avoid blocking the command execution. Follow the these instructions in your hive set-up to add hive hook for Atlas:
* Add org.apache.atlas.hive.hook.HiveHook as post execution hook in hive-site.xml * Add org.apache.atlas.hive.hook.HiveHook as post execution hook in hive-site.xml
<verbatim> <verbatim>
<property> <property>
...@@ -47,7 +47,7 @@ The hook submits the request to a thread pool executor to avoid blocking the com ...@@ -47,7 +47,7 @@ The hook submits the request to a thread pool executor to avoid blocking the com
<value>org.apache.atlas.hive.hook.HiveHook</value> <value>org.apache.atlas.hive.hook.HiveHook</value>
</property> </property>
</verbatim> </verbatim>
* Add the following properties in hive-ste.xml with the DGI endpoint for your set-up * Add the following properties in hive-ste.xml with the Atlas endpoint for your set-up
<verbatim> <verbatim>
<property> <property>
<name>hive.hook.dgi.url</name> <name>hive.hook.dgi.url</name>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
---++ Overview ---++ Overview
DGI is a scalable and extensible set of core foundational governance services – enabling Atlas is a scalable and extensible set of core foundational governance services – enabling
enterprises to effectively and efficiently meet their compliance requirements within Hadoop and enterprises to effectively and efficiently meet their compliance requirements within Hadoop and
allows integration with the whole enterprise data ecosystem. allows integration with the whole enterprise data ecosystem.
...@@ -56,4 +56,4 @@ allows integration with the whole enterprise data ecosystem. ...@@ -56,4 +56,4 @@ allows integration with the whole enterprise data ecosystem.
#LicenseInfo #LicenseInfo
---+ Licensing Information ---+ Licensing Information
Metadata (DGI) is distributed under [[http://www.apache.org/licenses/LICENSE-2.0][Apache License 2.0]]. Metadata (Atlas) is distributed under [[http://www.apache.org/licenses/LICENSE-2.0][Apache License 2.0]].
...@@ -20,9 +20,9 @@ Both SSL one-way (server authentication) and two-way (server and client authenti ...@@ -20,9 +20,9 @@ Both SSL one-way (server authentication) and two-way (server and client authenti
---++++ Credential Provider Utility Script ---++++ Credential Provider Utility Script
In order to prevent the use of clear-text passwords, the DGI platofrm makes use of the Credential Provider facility for secure password storage (see [[http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/CommandsManual.html#credential][Hadoop Credential Command Reference]] for more information about this facility). The cputil script in the 'bin' directory can be leveraged to create the password store required. In order to prevent the use of clear-text passwords, the Atlas platofrm makes use of the Credential Provider facility for secure password storage (see [[http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/CommandsManual.html#credential][Hadoop Credential Command Reference]] for more information about this facility). The cputil script in the 'bin' directory can be leveraged to create the password store required.
To create the credential provdier for DGI: To create the credential provdier for Atlas:
* cd to the '<code>bin</code>' directory * cd to the '<code>bin</code>' directory
* type '<code>./cputil.sh</code>' * type '<code>./cputil.sh</code>'
...@@ -34,17 +34,17 @@ To create the credential provdier for DGI: ...@@ -34,17 +34,17 @@ To create the credential provdier for DGI:
---+++ Service Authentication ---+++ Service Authentication
The DGI platform, upon startup, is associated to an authenticated identity. By default, in an insecure environment, that identity is the same as the OS authenticated user launching the server. However, in a secure cluster leveraging kerberos, it is considered a best practice to configure a keytab and principal in order for the platform to authenticate to the KDC. This allows the service to subsequently interact with other secure cluster services (e.g. HDFS). The Atlas platform, upon startup, is associated to an authenticated identity. By default, in an insecure environment, that identity is the same as the OS authenticated user launching the server. However, in a secure cluster leveraging kerberos, it is considered a best practice to configure a keytab and principal in order for the platform to authenticate to the KDC. This allows the service to subsequently interact with other secure cluster services (e.g. HDFS).
The properties for configuring service authentication are: The properties for configuring service authentication are:
* <code>atlas.authentication.method</code> (simple|kerberos) [default: simple] - the authentication method to utilize. Simple will leverage the OS authenticated identity and is the default mechanism. 'kerberos' indicates that the service is required to authenticate to the KDC leveraging the configured keytab and principal. * <code>atlas.authentication.method</code> (simple|kerberos) [default: simple] - the authentication method to utilize. Simple will leverage the OS authenticated identity and is the default mechanism. 'kerberos' indicates that the service is required to authenticate to the KDC leveraging the configured keytab and principal.
* <code>atlas.authentication.keytab</code> - the path to the keytab file. * <code>atlas.authentication.keytab</code> - the path to the keytab file.
* <code>atlas.authentication.principal</code> - the principal to use for authenticating to the KDC. The principal is generally of the form "user/host@realm". You may use the '_HOST' token for the hostname and the local hostname will be substituted in by the runtime (e.g. "dgi/_HOST@EXAMPLE.COM"). * <code>atlas.authentication.principal</code> - the principal to use for authenticating to the KDC. The principal is generally of the form "user/host@realm". You may use the '_HOST' token for the hostname and the local hostname will be substituted in by the runtime (e.g. "Atlas/_HOST@EXAMPLE.COM").
---+++ SPNEGO-based HTTP Authentication ---+++ SPNEGO-based HTTP Authentication
HTTP access to the DGI platform can be secured by enabling the platform's SPNEGO support. There are currently two supported authentication mechanisms: HTTP access to the Atlas platform can be secured by enabling the platform's SPNEGO support. There are currently two supported authentication mechanisms:
* <code>simple</code> - authentication is performed via a provided user name * <code>simple</code> - authentication is performed via a provided user name
* <code>kerberos</code> - the KDC authenticated identity of the client is leveraged to authenticate to the server * <code>kerberos</code> - the KDC authenticated identity of the client is leveraged to authenticate to the server
...@@ -58,7 +58,7 @@ The properties for configuring the SPNEGO support are: ...@@ -58,7 +58,7 @@ The properties for configuring the SPNEGO support are:
* <code>atlas.http.authentication.kerberos.principal</code> - the web-application Kerberos principal name. The Kerberos principal name must start with "HTTP/...". For example: "HTTP/localhost@LOCALHOST". There is no default value. * <code>atlas.http.authentication.kerberos.principal</code> - the web-application Kerberos principal name. The Kerberos principal name must start with "HTTP/...". For example: "HTTP/localhost@LOCALHOST". There is no default value.
* <code>atlas.http.authentication.kerberos.keytab</code> - the path to the keytab file containing the credentials for the kerberos principal. * <code>atlas.http.authentication.kerberos.keytab</code> - the path to the keytab file containing the credentials for the kerberos principal.
For a more detailed discussion of the HTTP authentication mechanism refer to [[http://hadoop.apache.org/docs/stable/hadoop-auth/Configuration.html][Hadoop Auth, Java HTTP SPNEGO 2.6.0 - Server Side Configuration]]. The prefix that document references is "atlas.http.authentication" in the case of the DGI authentication implementation. For a more detailed discussion of the HTTP authentication mechanism refer to [[http://hadoop.apache.org/docs/stable/hadoop-auth/Configuration.html][Hadoop Auth, Java HTTP SPNEGO 2.6.0 - Server Side Configuration]]. The prefix that document references is "atlas.http.authentication" in the case of the Atlas authentication implementation.
---+++ Client security configuration ---+++ Client security configuration
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
--> -->
<FindBugsFilter> <FindBugsFilter>
<!-- <!--
Disable encoding as this might give an impression that DGI code base is Disable encoding as this might give an impression that Atlas code base is
"Internationalization" ready, but we haven't done anything consciously to guarantee that. "Internationalization" ready, but we haven't done anything consciously to guarantee that.
--> -->
<Match> <Match>
......
...@@ -117,7 +117,7 @@ public final class Main { ...@@ -117,7 +117,7 @@ public final class Main {
StringBuilder buffer = new StringBuilder(); StringBuilder buffer = new StringBuilder();
buffer.append("\n############################################"); buffer.append("\n############################################");
buffer.append("############################################"); buffer.append("############################################");
buffer.append("\n DGI Server (STARTUP)"); buffer.append("\n Atlas Server (STARTUP)");
buffer.append("\n"); buffer.append("\n");
try { try {
final Iterator<String> keys = buildConfiguration.getKeys(); final Iterator<String> keys = buildConfiguration.getKeys();
......
...@@ -53,10 +53,10 @@ public class QuickStart { ...@@ -53,10 +53,10 @@ public class QuickStart {
String baseUrl = getServerUrl(args); String baseUrl = getServerUrl(args);
QuickStart quickStart = new QuickStart(baseUrl); QuickStart quickStart = new QuickStart(baseUrl);
// Shows how to create types in DGI for your meta model // Shows how to create types in Atlas for your meta model
quickStart.createTypes(); quickStart.createTypes();
// Shows how to create entities (instances) for the added types in DGI // Shows how to create entities (instances) for the added types in Atlas
quickStart.createEntities(); quickStart.createEntities();
// Shows some search queries using DSL based on types // Shows some search queries using DSL based on types
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment