New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hbase store Can't get the locations #1268
Comments
it is having difficulty communicating with zookeeper. one question I'd have is how hbase was installed - is it within a vendor's distribution such as cloudera or hortonworks or is it strictly the open source apache project that you installed? without really knowing much more information, off the cuff one thing to try is to explicitly put hbase-site.xml within your geowave commandline tools jar. Under most deployments this should be found on the classpath and contains important environmental information to appropriately connect to the backend, but if it is not found, this step is making that very explicit and in fact always including in no matter what context geowave is running in (ie. spark, mapreduce, etc.).
Also, there is a |
Hi rfecher, the cluster is an HortonWorks distribution. I'll try to add the hbase cond file inside the jar and retry. |
Hi rfecher, I've added hbase-site to the jar and now the error is different. 18 Dec 10:30:00 ERROR [persist.PersistableFactory] - '600' already registered for class 'mil.nga.giat.geowave.adapter.raster.Resolution'. Cannot register 'class mil.nga.giat.geowave.format.twitter.TwitterIngestPlugin' with id '600' Why the system is referring to twitter? geowave ingest localToGW /marcoTemp meteo meteo-spatial_temporal -f geotools-vector Thanks |
I think you have a fix with putting hbase-site.xml in the jar. If you are using geoserver as well, I suggest copying Do you have an attribute in your feature data that is a temporal data type (such as java.util.Date)? My guess is that it is unable to find a time field for your spatial-temporal index. If there is not a temporal attribute, you should ingest with an index type of "spatial" instead of type "spatial_temporal." If this is in fact the case, and we are not preempting ingest with an earlier warning message that's more clear about not finding the temporal attribute, that can be a relatively easy issue to polish so please let us know. |
Hi rfecher, I've updated the jar inside geoserver that you mentioned. With my code I've indexed generated data as you posted. I want for the moment to avoid index real data, but verify that geoserver is able to use the store (Hbase). Actually I receive "Error creating data store, check the parameters. Error message: null" while creating Store in geoserver. I've done something wrong? Is there any way to check if the data indexed inside HBase are correct? Thanks |
did you use You can run things like |
Hi rfecher, I've added a limited number of elements. If I run geowave remote liststats meteo If I run geowave analytic sql 'select count(*) from meteo' 22 Dec 10:09:49 WARN [util.NativeCodeLoader] - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
....... |
For geoserver I've run: geowave gs addlayer meteo 22 Dec 10:15:18 ERROR [persist.PersistableFactory] - '600' already registered for class 'mil.nga.giat.geowave.adapter.raster.Resolution'. Cannot register 'class mil.nga.giat.geowave.format.twitter.TwitterIngestPlugin' with id '600' I suppose 404 is not a good news. No added layers are in the GeoServer interface Thanks |
yep the 404 (not found) is a problem. You configure where geoserver is on your commandline, using You must be using 0.9.5 because those twitter error messages were only in that release (and don't worry about them, they're just log spam in your case). you need to know what port you're running geoserver on. If its through our installer it'd be port 8080 by default (although advanced users can modify that within puppet and in fact our EMR boostraps would use port 8000). So my best guess is you have it running on port 8080, but I really don't know what IP/host its running on? The default commandline config if you don't configure it yourself tries localhost:8080 so its seemingly not running there because you have a 404. Or maybe its installed and just not running? In 0.9.5 the command to make sure its running would be |
Thanks rfecher, solved the problem of geoserver. Now I can see a new store in it. geowave meteo-vector GeoWave Datastore - HBASE but I'm not able to add a new layer, when I try I see no resources related to the store. I think is related to the other problem, i.e. after the indexing errors during: geowave analytic sql 'select count(*) from meteo' Thanks |
ok, yeah, it seems you don't have any data/tables. you can check on :16010 (or navigate to the HBase master web console through Amabari). You should see tables prefixed by your gwNamespace, the most basic of tables would be at least to have _GEOWAVE_METADATA. From above did you ever resolve your issue where it seemed as though you were attempting spatial_temporal indexing on data that did not include an attribute with a temporal type (commonly java.util.Date but there are a couple other acceptable types, I think java.sql.Date being another). For that I would suggest simply trying to start with a spatial index type for now, and later ensure you get data with Dates for the temporal indexing. |
Hi all,
I'm trying to ingest shapefile inside my store created in Hbase. I've used the following commands:
geowave config addstore meteo -t hbase -z XXX.XXX.XXX.XXX:2181
geowave config addindex -t spatial_temporal meteo-spatial_temporal
but when I try ingest with the following command
geowave ingest localToGW ./marcoTemp meteo meteo-spatial_temporal -f geotools-vector
I receive the following error.
org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations
May you help me?
Thanks in advance
The text was updated successfully, but these errors were encountered: