Here's a bit more automated process to install onto the Hortonworks sandbox VM using the GeoServer REST API to do the final configuration of the datastore and layer. You'll have to install Accumulo, copy this script onto the VM and answer a prompt to set a user password.
2.) Add Accumulo service
Actions->Add Service and follow the wizard steps to install Accumulo
The script expects that the root user will have a password of admin
Set passwords and accept the defaults for the rest
Ensure the Accumulo and other services are running
3.) Run the HDP Sandbox GeoWave installation and configuration script
This version of HDP uses Accumulo 1.7 which we haven't yet tested. This basic example seems to work.
The script will pause when creating the geowave Accumulo user. Set the password to geowave
4.) When the script completes you'll be able to view content served through GeoServer WMS
geowave-hortonworks-sandbox.sh
------------------------------------------------------
#!/bin/bash
#
# Install GeoWave on Hortonworks Sandbox VM using RPMs and Puppet
# Puppet client is already installed, add Puppet standard libs, configure GeoWave repo and install
#
# Assumptions:
# - You have a working Internet connection
# - Your Accumulo root user account password has been set to admin
# - When prompted to set the geowave you will set the password to geowave
#
echo -e "\nStep 1 of 5: Installing GeoWave\n---------------------------------------\n"
yum -y --enablerepo=geowave install geowave-puppet
puppet module install puppetlabs-stdlib
# I use port 8993 as it's already configured in the VM port forwarding and not used by default
# If you decide to use the solr service you'll have to pick a new unused port
cat << EOF > /tmp/geowave.pp
class { 'geowave::repo': repo_enabled => 1, } ->
class { 'geowave':
geowave_version => '0.8.7',
hadoop_vendor_version => 'hdp2',
install_accumulo => true,
install_app => true,
install_app_server => true,
http_port => '8993',
}
EOF
puppet apply /tmp/geowave.pp
# Configure Accumulo - You will be prompted to create a password for the geowave user. I suggest geowave as the password
echo -e "\nStep 2 of 5: Configuring Accumulo\n---------------------------------------\n"
cat << EOF > /tmp/accumulo-commands
createuser geowave
createnamespace geowave
grant NameSpace.CREATE_TABLE -ns geowave -u geowave
config -ns geowave -s table.classpath.context=geowave
exit
EOF
# This is assuming you set admin as the password of the root user when you configured the Accumulo service
accumulo shell -u root -p 'pass:admin' -fv /tmp/accumulo-commands
# Download a small data file and ingest
echo -e "\nStep 3 of 5: Ingesting Sample Data\n---------------------------------------\n"
mkdir /tmp/ingest; unzip -d /tmp/ingest/ /tmp/ne_50m_admin_0_countries.zip
geowave -localingest -b /tmp/ingest -i hdp-accumulo-instance -n geowave.50m_admin_0_countries -f geotools-vector -u geowave -p geowave -z
sandbox.hortonworks.com:2181
# Configure GeoServer
echo -e "\nStep 4 of 5: Configuring GeoServer\n---------------------------------------\n"
cat << EOF > /tmp/geowave-datastore.xml
<dataStore>
<name>geowave.50m_admin_0_countries</name>
<type>GeoWave Datastore</type>
<connectionParameters>
<entry key="Password">geowave</entry>
<entry key="Namespace">geowave.50m_admin_0_countries</entry>
<entry key="UserName">geowave</entry>
<entry key="Authorization Management Provider">empty</entry>
<entry key="Lock Management">memory</entry>
<entry key="InstanceName">hdp-accumulo-instance</entry>
</connectionParameters>
</dataStore>
EOF
cat << EOF > /tmp/ne_50m_admin_0_countries-layer.xml
<featureType>
<name>ne_50m_admin_0_countries</name>
<nativeCRS>GEOGCS["WGS 84",
DATUM["World Geodetic System 1984",
SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
UNIT["degree", 0.017453292519943295],
AXIS["Geodetic longitude", EAST],
AXIS["Geodetic latitude", NORTH],
AUTHORITY["EPSG","4326"]]</nativeCRS>
<srs>EPSG:4326</srs>
<nativeBoundingBox>
<minx>-180.0</minx>
<maxx>180.0</maxx>
<miny>-90.0</miny>
<maxy>90.0</maxy>
<crs>EPSG:4326</crs>
</nativeBoundingBox>
<projectionPolicy>FORCE_DECLARED</projectionPolicy>
</featureType>
EOF
echo -e "\nStep 5 of 5: Layer Preview\n---------------------------------------\n"