The GeoServer data store creation spinner never completing can be for any number of usually configuration related reasons. I'm not sure if there's some internal timeout that eventually resets the state, I've had to restart the container before as well.
I downloaded the newest version of the Hortonworks Sandbox which now has the ability to install Accumulo and used the following steps to install all of the GeoWave components on the sandbox VM and display ingested content in a GeoServer Layer Preview. The VM is CentOS based with a Puppet client already installed so I used our RPM and Puppet install method to try and keep the steps to a minimum.
# Download and import new HDP 2.3 Sandbox VM
# Install Accumulo, ignore memory limit warnings for now
Actions->Add Service and follow the steps to install Accumulo
Set passwords and accept the defaults
# Install GeoWave using RPMs and Puppet
# Puppet client is already installed, add Puppet standard libs, configure GeoWave repo and install
yum -y --enablerepo=geowave install geowave-puppet
puppet module install puppetlabs-stdlib
# I used port 8993 for Jetty/GeoServer as it's already configured in the VM port forwarding but not used by default
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
# After Puppet run you should see the GeoWave iterator has been uploaded to HDFS
sudo -u hdfs hadoop fs -ls /apps/accumulo/classpath/geowave/0.8.7-hdp2
# GeoServer available here
# Configure Accumulo
# Download a small sample data file and run an ingest
# After downloading and unzipping your command line would look like this if you've used the example commands to configure Accumulo
geowave -localingest -b ./ingest -i hdp-accumulo-instance -n geowave.50m_admin_0_countries -f geotools-vector -u geowave -p geowave -z
sandbox.hortonworks.com:2181
# After the ingest completes you should see data in your Accumulo tables
# Configure DataStore and Publish Layer in GeoServer
New DataStore with the following config
Workspace: geowave
Data Source : geowave.50m_admin_0_countries
InstanceName: hdp-accumulo-instance
UserName: Name you used when you configured Accumulo, I used geowave
Password: Again, I used geowave
Namesapce: geowave.50m_admin_0_countries
Press the Save button and it should take you to the screen to publish the ne_50m_admin_0_countries layer
One the layer has been published you should be able to see a map of the world from the OpenLayers Layer Preview