Commit 208e90b1 by Hemanth Yamijala

ATLAS-833 Make default build profile for External HBase and Solr (tbeerbower via yhemanth)

parent 42d5e37e
...@@ -28,9 +28,28 @@ ...@@ -28,9 +28,28 @@
<artifactId>atlas-distro</artifactId> <artifactId>atlas-distro</artifactId>
<description>Apache Atlas Distribution</description> <description>Apache Atlas Distribution</description>
<name>Apache Atlas Distribution</name> <name>Apache Atlas Distribution</name>
<!-- by default configure hbase and solr with the distribution -->
<properties> <properties>
<titan.storage.backend>berkeleyje</titan.storage.backend>
<titan.index.backend>elasticsearch</titan.index.backend> <titan.storage.backend>hbase</titan.storage.backend>
<titan.storage.properties>#Hbase
#For standalone mode , specify localhost
#for distributed mode, specify zookeeper quorum here - For more information refer http://s3.thinkaurelius.com/docs/titan/current/hbase.html#_remote_server_mode_2
atlas.graph.storage.hostname=
atlas.graph.storage.hbase.regions-per-server=1
atlas.graph.storage.lock.wait-time=10000
</titan.storage.properties>
<titan.index.backend>solr5</titan.index.backend>
<titan.index.properties>#Solr
#Solr cloud mode properties
atlas.graph.index.search.solr.mode=cloud
atlas.graph.index.search.solr.zookeeper-url=
#Solr http mode properties
#atlas.graph.index.search.solr.mode=http
#atlas.graph.index.search.solr.http-urls=http://localhost:8983/solr
</titan.index.properties>
<hbase.embedded>false</hbase.embedded> <hbase.embedded>false</hbase.embedded>
<solr.embedded>false</solr.embedded> <solr.embedded>false</solr.embedded>
</properties> </properties>
...@@ -93,15 +112,59 @@ ...@@ -93,15 +112,59 @@
</plugins> </plugins>
</build> </build>
</profile> </profile>
<!-- embedded_services profile to package and configure embedded hbase and solr with the distribution --> <!-- profile to configure berkeley and elasticsearch with the distribution -->
<profile> <profile>
<id>embedded_services</id> <id>berkeley-elasticsearch</id>
<activation> <activation>
<activeByDefault>false</activeByDefault> <activeByDefault>false</activeByDefault>
</activation> </activation>
<properties> <properties>
<titan.storage.backend>hbase</titan.storage.backend> <titan.storage.backend>berkeleyje</titan.storage.backend>
<titan.index.backend>solr5</titan.index.backend> <titan.storage.properties>#Berkeley
atlas.graph.storage.directory=${sys:atlas.home}/data/berkley
</titan.storage.properties>
<titan.index.backend>elasticsearch</titan.index.backend>
<titan.index.properties>#ElasticSearch
atlas.graph.index.search.directory=${sys:atlas.home}/data/es
atlas.graph.index.search.elasticsearch.client-only=false
atlas.graph.index.search.elasticsearch.local-mode=true
atlas.graph.index.search.elasticsearch.create.sleep=2000
</titan.index.properties>
</properties>
</profile>
<!-- profile to configure berkeley and elasticsearch with the distribution -->
<profile>
<id>external-hbase-solr</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!-- profile to package and configure embedded hbase and solr with the distribution -->
<profile>
<id>embedded-hbase-solr</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<titan.storage.properties>#Hbase
#For standalone mode , specify localhost
#for distributed mode, specify zookeeper quorum here - For more information refer http://s3.thinkaurelius.com/docs/titan/current/hbase.html#_remote_server_mode_2
atlas.graph.storage.hostname=localhost
atlas.graph.storage.hbase.regions-per-server=1
atlas.graph.storage.lock.wait-time=10000
</titan.storage.properties>
<titan.index.properties>#Solr
#Solr cloud mode properties
atlas.graph.index.search.solr.mode=cloud
atlas.graph.index.search.solr.zookeeper-url=localhost:2181
#Solr http mode properties
#atlas.graph.index.search.solr.mode=http
#atlas.graph.index.search.solr.http-urls=http://localhost:8983/solr
</titan.index.properties>
<hbase.embedded>true</hbase.embedded> <hbase.embedded>true</hbase.embedded>
<solr.embedded>true</solr.embedded> <solr.embedded>true</solr.embedded>
......
...@@ -19,33 +19,13 @@ ...@@ -19,33 +19,13 @@
######### Graph Database Configs ######### ######### Graph Database Configs #########
# Graph Storage # Graph Storage
atlas.graph.storage.backend=${titan.storage.backend} atlas.graph.storage.backend=${titan.storage.backend}
atlas.graph.storage.directory=${sys:atlas.home}/data/berkley
#Hbase as storage backend ${titan.storage.properties}
#atlas.graph.storage.backend=hbase
#For standalone mode , specify localhost
#for distributed mode, specify zookeeper quorum here - For more information refer http://s3.thinkaurelius.com/docs/titan/current/hbase.html#_remote_server_mode_2
atlas.graph.storage.hostname=localhost
atlas.graph.storage.hbase.regions-per-server=1
atlas.graph.storage.lock.wait-time=10000
#Solr # Graph Search Index
atlas.graph.index.search.backend=${titan.index.backend} atlas.graph.index.search.backend=${titan.index.backend}
# Solr cloud mode properties ${titan.index.properties}
atlas.graph.index.search.solr.mode=cloud
atlas.graph.index.search.solr.zookeeper-url=localhost:2181
#Solr http mode properties
#atlas.graph.index.search.solr.mode=http
#atlas.graph.index.search.solr.http-urls=http://localhost:8983/solr
# Graph Search Index
#ElasticSearch
atlas.graph.index.search.directory=${sys:atlas.home}/data/es
atlas.graph.index.search.elasticsearch.client-only=false
atlas.graph.index.search.elasticsearch.local-mode=true
atlas.graph.index.search.elasticsearch.create.sleep=2000
######### Notification Configs ######### ######### Notification Configs #########
......
...@@ -57,5 +57,8 @@ ...@@ -57,5 +57,8 @@
# Where do you want to expand the war file. By Default it is in /server/webapp dir under the base install dir. # Where do you want to expand the war file. By Default it is in /server/webapp dir under the base install dir.
#export ATLAS_EXPANDED_WEBAPP_DIR= #export ATLAS_EXPANDED_WEBAPP_DIR=
# indicates whether or not a local instance of HBase should be started for Atlas
export MANAGE_LOCAL_HBASE=${hbase.embedded} export MANAGE_LOCAL_HBASE=${hbase.embedded}
# indicates whether or not a local instance of Solr should be started for Atlas
export MANAGE_LOCAL_SOLR=${solr.embedded} export MANAGE_LOCAL_SOLR=${solr.embedded}
...@@ -53,10 +53,10 @@ Without Ranger, HBase shell can be used to set the permissions. ...@@ -53,10 +53,10 @@ Without Ranger, HBase shell can be used to set the permissions.
echo "grant 'atlas', 'RWXCA', 'titan'" | hbase shell echo "grant 'atlas', 'RWXCA', 'titan'" | hbase shell
</verbatim> </verbatim>
Note that if the embedded_services profile is used then HBase is included in the distribution so that a standalone Note that if the embedded-hbase-solr profile is used then HBase is included in the distribution so that a standalone
instance of HBase can be started as the default storage backend for the graph repository. Using the embedded_services instance of HBase can be started as the default storage backend for the graph repository. Using the embedded-hbase-solr
profile will configure Atlas so that HBase instance will be started and stopped along with the Atlas server by default. profile will configure Atlas so that HBase instance will be started and stopped along with the Atlas server by default.
To use the embedded_services profile please see "Building Atlas" in the [[InstallationSteps][Installation Steps]] To use the embedded-hbase-solr profile please see "Building Atlas" in the [[InstallationSteps][Installation Steps]]
section. section.
---+++ Graph Search Index ---+++ Graph Search Index
...@@ -80,10 +80,10 @@ Please note that Solr installation in Cloud mode is a prerequisite before config ...@@ -80,10 +80,10 @@ Please note that Solr installation in Cloud mode is a prerequisite before config
atlas.graph.index.search.solr.zookeeper-url=<the ZK quorum setup for solr as comma separated value> eg: 10.1.6.4:2181,10.1.6.5:2181 atlas.graph.index.search.solr.zookeeper-url=<the ZK quorum setup for solr as comma separated value> eg: 10.1.6.4:2181,10.1.6.5:2181
</verbatim> </verbatim>
Also note that if the embedded_services profile is used then Solr is included in the distribution so that a standalone Also note that if the embedded-hbase-solr profile is used then Solr is included in the distribution so that a standalone
instance of Solr can be started as the default search indexing backend. Using the embedded_services profile will instance of Solr can be started as the default search indexing backend. Using the embedded-hbase-solr profile will
configure Atlas so that the standalone Solr instance will be started and stopped along with the Atlas server by default. configure Atlas so that the standalone Solr instance will be started and stopped along with the Atlas server by default.
To use the embedded_services profile please see "Building Atlas" in the [[InstallationSteps][Installation Steps]] To use the embedded-hbase-solr profile please see "Building Atlas" in the [[InstallationSteps][Installation Steps]]
section. section.
---+++ Choosing between Persistence and Indexing Backends ---+++ Choosing between Persistence and Indexing Backends
......
...@@ -18,15 +18,29 @@ mvn clean package -Pdist ...@@ -18,15 +18,29 @@ mvn clean package -Pdist
</verbatim> </verbatim>
To build a distribution that packages HBase and Solr, build with the embedded_services profile. To build a distribution that configures Atlas for external HBase and Solr, build with the external-hbase-solr profile.
<verbatim> <verbatim>
mvn clean package -Pdist,embedded_services mvn clean package -Pdist,external-hbase-solr
</verbatim> </verbatim>
Using the embedded_services profile will configure Atlas so that an HBase instance and a Solr instance will be started Note that when the external-hbase-solr profile is used the following steps need to be completed to make Atlas functional.
* Configure atlas.graph.storage.hostname (see "Graph persistence engine - HBase" in the [[Configuration][Configuration]] section).
* Configure atlas.graph.index.search.solr.zookeeper-url (see "Graph Search Index - Solr" in the [[Configuration][Configuration]] section).
* Set HBASE_CONF_DIR to point to a valid HBase config directory (see "Graph persistence engine - HBase" in the [[Configuration][Configuration]] section).
* Create the SOLR indices (see "Graph Search Index - Solr" in the [[Configuration][Configuration]] section).
To build a distribution that packages HBase and Solr, build with the embedded-hbase-solr profile.
<verbatim>
mvn clean package -Pdist,embedded-hbase-solr
</verbatim>
Using the embedded-hbase-solr profile will configure Atlas so that an HBase instance and a Solr instance will be started
and stopped along with the Atlas server by default. and stopped along with the Atlas server by default.
Tar can be found in atlas/distro/target/apache-atlas-${project.version}-bin.tar.gz Tar can be found in atlas/distro/target/apache-atlas-${project.version}-bin.tar.gz
...@@ -75,7 +89,7 @@ Tar is structured as follows ...@@ -75,7 +89,7 @@ Tar is structured as follows
</verbatim> </verbatim>
Note that if the embedded_services profile is specified for the build then HBase and Solr are included in the Note that if the embedded-hbase-solr profile is specified for the build then HBase and Solr are included in the
distribution. distribution.
In this case, a standalone instance of HBase can be started as the default storage backend for the graph repository. In this case, a standalone instance of HBase can be started as the default storage backend for the graph repository.
......
...@@ -22,6 +22,7 @@ ATLAS-409 Atlas will not import avro tables with schema read from a file (dosset ...@@ -22,6 +22,7 @@ ATLAS-409 Atlas will not import avro tables with schema read from a file (dosset
ATLAS-379 Create sqoop and falcon metadata addons (venkatnrangan,bvellanki,sowmyaramesh via shwethags) ATLAS-379 Create sqoop and falcon metadata addons (venkatnrangan,bvellanki,sowmyaramesh via shwethags)
ALL CHANGES: ALL CHANGES:
ATLAS-833 Make default build profile for External HBase and Solr (tbeerbower via yhemanth)
ATLAS-841 mvn clean install of Atlas is failing python unit tests (yhemanth) ATLAS-841 mvn clean install of Atlas is failing python unit tests (yhemanth)
ATLAS-834 Handle exceptions from HiveHook executor.submit() (sumasai) ATLAS-834 Handle exceptions from HiveHook executor.submit() (sumasai)
ATLAS-635 Process showing old entity name where as actual entity is renamed ( svimal2106 via sumasai ) ATLAS-635 Process showing old entity name where as actual entity is renamed ( svimal2106 via sumasai )
......
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