Skip to content

Commit

Permalink
0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
archongum committed Apr 27, 2019
0 parents commit 13c192b
Show file tree
Hide file tree
Showing 15 changed files with 1,294 additions and 0 deletions.
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
*.pyc
*.swp
*.eggs
.idea/
.tox/
build/
dist/
ambari_presto.egg-info/
docs/_build
.pytest_cache/
23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# ambari-server-presto
Ambari custom server for [Presto](https://prestosql.io/)

# Support Presto Tarball Installation
Tested on
* Starburst Distribution of Presto version 302-e.9


# Installation
For `ambari-2.7.3`, `HDP-3.1`, `ambari-server-presto-0.1.tar.gz`
```
wget ambari-server-presto-0.1.tar.gz
sudo mkdir /var/lib/ambari-server/resources/stacks/HDP/3.1/services/PRESTO/
sudo tar -xvf ambari-server-presto-${version}.tar.gz
/var/lib/ambari-server/resources/stacks/HDP/3.1/services/PRESTO/
# please setup 'package/config.ini'
# restart ambari
sudo ambari-server restart
```
156 changes: 156 additions & 0 deletions configuration/config.properties.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
# -*- coding: utf-8 -*-
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-->
<configuration>

<property>
<name>node-scheduler.include-coordinator</name>
<value>false</value>
<description>
True: coordinator is a worker.
False: coordinator is not a worker.
</description>
<value-attributes>
<type>value-list</type>
<entries>
<entry>
<value>true</value>
<label>Enabled</label>
</entry>
<entry>
<value>false</value>
<label>Disabled</label>
</entry>
</entries>
<selection-cardinality>1</selection-cardinality>
</value-attributes>
</property>

<property>
<name>http-server.http.port</name>
<value>18080</value>
<description>
</description>
</property>

<property>
<name>discovery.uri</name>
<value>http://coordinator:18080</value>
<description>
Set 'port' to 'http-server.http.port'
</description>
</property>

<property>
<name>memory.heap-headroom-per-node</name>
<value>256</value>
<description>
JVM for presto itself not for query.
</description>
<value-attributes>
<type>int</type>
<minimum>0</minimum>
<maximum>2048</maximum>
<increment-step>128</increment-step>
<unit>MB</unit>
</value-attributes>
</property>

<property>
<name>query.max-memory</name>
<value>512</value>
<description>
</description>
<value-attributes>
<type>int</type>
<minimum>0</minimum>
<maximum>15360</maximum>
<increment-step>512</increment-step>
<unit>MB</unit>
</value-attributes>
</property>

<property>
<name>query.max-total-memory</name>
<value>512</value>
<description>
Must equal or larger than 'query.max-memory'.
If no clue, equal to 'query.max-memory'.
</description>
<value-attributes>
<type>int</type>
<minimum>0</minimum>
<maximum>15360</maximum>
<increment-step>512</increment-step>
<unit>MB</unit>
</value-attributes>
</property>

<property>
<name>query.max-memory-per-node</name>
<value>512</value>
<description>
</description>
<value-attributes>
<type>int</type>
<minimum>0</minimum>
<maximum>5120</maximum>
<increment-step>512</increment-step>
<unit>MB</unit>
</value-attributes>
</property>

<property>
<name>query.max-total-memory-per-node</name>
<value>512</value>
<description>
Must equal or larger than 'query.max-memory-per-node'.
If no clue, equal to 'query.max-memory-per-node'.
</description>
<value-attributes>
<type>int</type>
<minimum>0</minimum>
<maximum>5120</maximum>
<increment-step>512</increment-step>
<unit>MB</unit>
</value-attributes>
</property>

<property>
<name>experimental.reserved-pool-enabled</name>
<value>false</value>
<description>
False: disable reserved-pool.
If no clue, set to false.
</description>
<value-attributes>
<type>value-list</type>
<entries>
<entry>
<value>true</value>
<label>Enabled</label>
</entry>
<entry>
<value>false</value>
<label>Disabled</label>
</entry>
</entries>
<selection-cardinality>1</selection-cardinality>
</value-attributes>
</property>

</configuration>
44 changes: 44 additions & 0 deletions configuration/connectors.properties.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
# -*- coding: utf-8 -*-
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-->
<configuration>
<property>
<name>connectors.to.add</name>
<value>[]</value>
<description>
Modify this property to add connectors. The format should be json like
[{"catalog":"hive","config":["k1=v1","k2=v2"]}, {"catalog":"mysql","config":["k1=v1","k2=v2","k3=v3"]}].
Note the single quotes around each value! This example will
create files connector1.properties, connector2.properties for Presto with entries
key1=value1 etc. If you don't want to add any connectors then leave the value as [];
Ambari will not accept an empty value for this property. For deleting connectors, please
use the connectors.to.remove property.
</description>
</property>
<property>
<name>connectors.to.delete</name>
<value>[]</value>
<description>
Modify this property to delete connectors. The format should be json like
["hive", "mysql"]. Note the single quotes around each value!
This example will delete the files connector1.properties, connector2.properties
and connector3.properties in the Presto connector directory. If you don't want to delete
any connectors then leave the value as []; Ambari will not accept an empty value for
this property.
</description>
</property>
</configuration>
41 changes: 41 additions & 0 deletions configuration/jvm.config.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
# -*- coding: utf-8 -*-
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-->
<configuration>
<property>
<name>jvm.config</name>
<value>-server
-Xmx1G
-XX:-UseBiasedLocking
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+UseGCOverheadLimit
-XX:+ExitOnOutOfMemoryError
-XX:ReservedCodeCacheSize=512M
-Djdk.nio.maxCachedBufferSize=2000000
-DHADOOP_USER_NAME=hive</value>
<description>
A list of command line options used for launching the Java Virtual
Machine. The format of the file must be one option per line. These
options are not interpreted by the shell, so options containing spaces or
other special characters should not be quoted (as demonstrated by the
OnOutOfMemoryError option).
</description>
</property>
</configuration>
54 changes: 54 additions & 0 deletions configuration/node.properties.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
# -*- coding: utf-8 -*-
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-->
<configuration>
<property>
<name>node.environment</name>
<value>test</value>
<description>
The name of the environment. All Presto nodes in a cluster must have the
same environment name.
</description>
</property>

<property>
<name>node.data-dir</name>
<value>/var/lib/presto</value>
<description>
The location (filesystem path) of the data directory. Presto will store
logs and other data here.
</description>
</property>

<property>
<name>catalog.config-dir</name>
<value>/etc/presto/catalog</value>
<description>
Configuration directory for plugins. This is where you should place
connector property files.
</description>
</property>

<property>
<name>plugin.dir</name>
<value>/usr/lib/presto/plugin</value>
<description>
Library directory for plugins.
</description>
</property>

</configuration>
Loading

0 comments on commit 13c192b

Please sign in to comment.