geomesa / geomesa-quickstart

Deprecated - moved to https://github.com/geomesa/geomesa-tutorials
Apache License 2.0
5 stars 2 forks source link

Submitting query returned nothing #2

Open trungtv opened 10 years ago

trungtv commented 10 years ago

Hello, I am running the quickstart in order to see how geomesa work. When I start the program I got the following log:

log4j:WARN No appenders could be found for logger (org.apache.accumulo.fate.zookeeper.ZooSession). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Creating feature-type (schema): QuickStart Creating new features Inserting new features Submitting query

As above, I didn't see any output query. I took a look at the accumulo table and the data is right there. I can guess everything 's ok except the reading back data.

Could you give me some advices? I am running accumulo 1.5.1, geomesa accumulo1.5.x/1.x and hadoop 2.2.0

Best, Trungtv

cne1x commented 10 years ago

Trungtv,

How many entries does the Accumulo web interface say there are in your quick-start table?

Thanks!

Sincerely, -- Chris


Chris Eichelberger, Commonwealth Computer Research, Inc. 434-284-9422 (work)

On Wed, 2014-06-25 at 20:53 -0700, Viet Trung Tran wrote:

Hello, I am running the quickstart in order to see how geomesa work. When I start the program I got the following log:

log4j:WARN No appenders could be found for logger (org.apache.accumulo.fate.zookeeper.ZooSession). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Creating feature-type (schema): QuickStart Creating new features Inserting new features Submitting query

As above, I didn't see any output query. I took a look at the accumulo table and the data is right there. I can guess everything 's ok except the reading back data.

Could you give me some advices? I am running accumulo 1.5.1, geomesa accumulo1.5.x/1.x and hadoop 2.2.0

Best, Trungtv

— Reply to this email directly or view it on GitHub.

trungtv commented 10 years ago

Hi Chris, Thanks! I got around 2.06K entries. !METADATA ONLINE 3 0 8.97K 29 0 29 9 — 0 (0) 0 (0) 0 (0) testtable ONLINE 100 0 2.06K 0 0 0 0 — 0 (0) 0 (0) 0 (0)

Best, Trungtv

trungtv commented 10 years ago

Re-hello, I just checked the accumulo log and got the following:

lookup failed for tablet e;81;80 java.io.IOException: java.lang.ClassNotFoundException: geomesa.core.iterators.SpatioTemporalIntersectingIterator at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:250) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:215) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:193) at org.apache.accumulo.server.tabletserver.Tablet$ScanDataSource.createIterator(Tablet.java:2109) at org.apache.accumulo.server.tabletserver.Tablet$ScanDataSource.iterator(Tablet.java:2047) at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.seek(SourceSwitchingIterator.java:163) at org.apache.accumulo.server.tabletserver.Tablet.lookup(Tablet.java:1625) at org.apache.accumulo.server.tabletserver.Tablet.lookup(Tablet.java:1730) at org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler$LookupTask.run(TabletServer.java:1038) at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) at org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34) at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.ClassNotFoundException: geomesa.core.iterators.SpatioTemporalIntersectingIterator at org.apache.commons.vfs2.impl.VFSClassLoader.findClass(VFSClassLoader.java:175) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader.loadClass(AccumuloVFSClassLoader.java:103) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:234) ... 14 more 27 11:14:18,0953 tserver:navisserver.navis 1
WARN lookup failed for tablet e;95;94 java.io.IOException: java.lang.ClassNotFoundException: geomesa.core.iterators.SpatioTemporalIntersectingIterator at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:250) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:215) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:193) at org.apache.accumulo.server.tabletserver.Tablet$ScanDataSource.createIterator(Tablet.java:2109) at org.apache.accumulo.server.tabletserver.Tablet$ScanDataSource.iterator(Tablet.java:2047) at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.seek(SourceSwitchingIterator.java:163) at org.apache.accumulo.server.tabletserver.Tablet.lookup(Tablet.java:1625) at org.apache.accumulo.server.tabletserver.Tablet.lookup(Tablet.java:1730) at org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler$LookupTask.run(TabletServer.java:1038) at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) at org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34) at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.ClassNotFoundException: geomesa.core.iterators.SpatioTemporalIntersectingIterator at org.apache.commons.vfs2.impl.VFSClassLoader.findClass(VFSClassLoader.java:175) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader.loadClass(AccumuloVFSClassLoader.java:103) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:234) ... 14 more 27 11:14:18,0955 tserver:navisserver.navis 1
WARN lookup failed for tablet e;40;39 java.io.IOException: java.lang.ClassNotFoundException: geomesa.core.iterators.SpatioTemporalIntersectingIterator at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:250) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:215) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:193) at org.apache.accumulo.server.tabletserver.Tablet$ScanDataSource.createIterator(Tablet.java:2109) at org.apache.accumulo.server.tabletserver.Tablet$ScanDataSource.iterator(Tablet.java:2047) at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.seek(SourceSwitchingIterator.java:163) at org.apache.accumulo.server.tabletserver.Tablet.lookup(Tablet.java:1625) at org.apache.accumulo.server.tabletserver.Tablet.lookup(Tablet.java:1730) at org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler$LookupTask.run(TabletServer.java:1038) at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) at org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34) at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.ClassNotFoundException: geomesa.core.iterators.SpatioTemporalIntersectingIterator at org.apache.commons.vfs2.impl.VFSClassLoader.findClass(VFSClassLoader.java:175) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader.loadClass(AccumuloVFSClassLoader.java:103) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:234) ... 14 more

As far as I can observe, I don't know how the table name is not correct. My table name is quickstart and I got error: "lookup failed for tablet e;81;80"

Thank you very much,

trungtv commented 10 years ago

I found out that I forgot to add geomesa-distributed-runtime to accumulo/lib/ext/. That's the source of the problem.

Thank you very much Chris,

Best,

trungtv commented 10 years ago

Dear Chris, I pulled new commits from geomesa and now I got the bug again. I didn't forgot to recopy geomesa-distributed-runtime to ext/lib.

I rechecked accumulo tablet server log and got the following:

Caused by: java.lang.ExceptionInInitializerError at geomesa.core.iterators.AttributeIndexFilteringIterator.init(AttributeIndexFilteringIterator.scala:63) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:245) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:215) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:193) at org.apache.accumulo.server.tabletserver.Tablet$ScanDataSource.createIterator(Tablet.java:2109) at org.apache.accumulo.server.tabletserver.Tablet$ScanDataSource.iterator(Tablet.java:2047) at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.seek(SourceSwitchingIterator.java:163) at org.apache.accumulo.server.tabletserver.Tablet.nextBatch(Tablet.java:1762) at org.apache.accumulo.server.tabletserver.Tablet.access$3200(Tablet.java:152) at org.apache.accumulo.server.tabletserver.Tablet$Scanner.read(Tablet.java:1904) at org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler$NextBatchTask.run(TabletServer.java:947) at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) ... 5 more Caused by: org.geotools.factory.FactoryNotFoundException: No factory of kind "FilterFactory2" found. at org.geotools.factory.FactoryRegistry.getServiceProvider(FactoryRegistry.java:375) at org.geotools.factory.FactoryCreator.getServiceProvider(FactoryCreator.java:145) at org.geotools.factory.CommonFactoryFinder.lookup(CommonFactoryFinder.java:346) at org.geotools.factory.CommonFactoryFinder.getFilterFactory(CommonFactoryFinder.java:300) at org.geotools.factory.CommonFactoryFinder.getFilterFactory2(CommonFactoryFinder.java:390) at org.geotools.factory.CommonFactoryFinder.getFilterFactory2(CommonFactoryFinder.java:404) at org.geotools.data.DataUtilities.(DataUtilities.java:200)

So far, it's not the same as the previous reason. Could you please give me some advices? Thank you and best regards,

Viet

cne1x commented 10 years ago

Viet,

I have checked my most recent build here, and the FilterFactory2 class should be bundled within the geomesa-distributed-runtime-accumulo1.5-1.0.0-SNAPSHOT.jar file that resides in the lib/ext directory of each of the tablet servers.

If you run "jar tvf {your path to accumulo}/lib/ext/geomesa-distributed-runtime-accumulo1.5-1.0.0-SNAPSHOT.jar | grep -i FilterFactory" on the tablet-server that threw this error, what do you see? Also, what is the top commit on the branch that you're running now?

Thanks!

Sincerely, -- Chris

On Fri, 2014-07-25 at 11:32 -0700, Viet Trung Tran wrote:

Dear Chris, I pulled new commits from geomesa and now I got the bug again. I didn't forgot to recopy geomesa-distributed-runtime to ext/lib.

I rechecked accumulo tablet server log and got the following:

Caused by: java.lang.ExceptionInInitializerError at geomesa.core.iterators.AttributeIndexFilteringIterator.init(AttributeIndexFilteringIterator.scala:63) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:245) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:215) at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:193) at org.apache.accumulo.server.tabletserver.Tablet $ScanDataSource.createIterator(Tablet.java:2109) at org.apache.accumulo.server.tabletserver.Tablet $ScanDataSource.iterator(Tablet.java:2047) at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.seek(SourceSwitchingIterator.java:163) at org.apache.accumulo.server.tabletserver.Tablet.nextBatch(Tablet.java:1762) at org.apache.accumulo.server.tabletserver.Tablet.access $3200(Tablet.java:152) at org.apache.accumulo.server.tabletserver.Tablet $Scanner.read(Tablet.java:1904) at org.apache.accumulo.server.tabletserver.TabletServer $ThriftClientHandler$NextBatchTask.run(TabletServer.java:947) at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) ... 5 more Caused by: org.geotools.factory.FactoryNotFoundException: No factory of kind "FilterFactory2" found. at org.geotools.factory.FactoryRegistry.getServiceProvider(FactoryRegistry.java:375) at org.geotools.factory.FactoryCreator.getServiceProvider(FactoryCreator.java:145) at org.geotools.factory.CommonFactoryFinder.lookup(CommonFactoryFinder.java:346) at org.geotools.factory.CommonFactoryFinder.getFilterFactory(CommonFactoryFinder.java:300) at org.geotools.factory.CommonFactoryFinder.getFilterFactory2(CommonFactoryFinder.java:390) at org.geotools.factory.CommonFactoryFinder.getFilterFactory2(CommonFactoryFinder.java:404) at org.geotools.data.DataUtilities.(DataUtilities.java:200)

So far, it's not the same as the previous reason. Could you please give me some advices? Thank you and best regards,

Viet

— Reply to this email directly or view it on GitHub.

trungtv commented 10 years ago

Thanks Chris, My top commit is a998eabfbe92c81f756ec60c7c0fe16cae1fed52

I also considered the latest commit e311279639cede517646443fdc012c455a72e285 and ran into the following error:

ERROR: Internal error processing continueScan java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.util.NoSuchElementException: key not found: java.lang.Long at org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler.continueScan(TabletServer.java:1199) at org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler.continueScan(TabletServer.java:1174) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.accumulo.trace.instrument.thrift.TraceWrap$1.invoke(TraceWrap.java:63) at com.sun.proxy.$Proxy15.continueScan(Unknown Source) at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$continueScan.getResult(TabletClientService.java:1938) at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$continueScan.getResult(TabletClientService.java:1922) at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) at org.apache.accumulo.server.util.TServerUtils$TimedProcessor.process(TServerUtils.java:155) at org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:478) at org.apache.accumulo.server.util.TServerUtils$THsHaServer$Invocation.run(TServerUtils.java:207) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) at org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34) at java.lang.Thread.run(Thread.java:744) Caused by: java.util.concurrent.ExecutionException: java.util.NoSuchElementException: key not found: java.lang.Long at org.apache.accumulo.server.tabletserver.TabletServer$ScanTask.get(TabletServer.java:700) at org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler.continueScan(TabletServer.java:1190) ... 19 more Caused by: java.util.NoSuchElementException: key not found: java.lang.Long

    at geomesa.utils.geotools.SimpleFeatureTypes$$anonfun$10.apply(SimpleFeatureTypes.scala:27)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
    at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:108)
    at geomesa.utils.geotools.SimpleFeatureTypes$.createType(SimpleFeatureTypes.scala:27)
    at geomesa.core.iterators.AttributeIndexFilteringIterator.init(AttributeIndexFilteringIterator.scala:63)
    at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:245)
    at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:215)
    at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:193)
    at org.apache.accumulo.server.tabletserver.Tablet$ScanDataSource.createIterator(Tablet.java:2109)
    at org.apache.accumulo.server.tabletserver.Tablet$ScanDataSource.iterator(Tablet.java:2047)
    at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.seek(SourceSwitchingIterator.java:163)
    at org.apache.accumulo.server.tabletserver.Tablet.nextBatch(Tablet.java:1762)
    at org.apache.accumulo.server.tabletserver.Tablet.access$3200(Tablet.java:152)
    at org.apache.accumulo.server.tabletserver.Tablet$Scanner.read(Tablet.java:1904)
    at org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler$NextBatchTask.run(TabletServer.java:947)
    at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47)

at client side

Exception in thread "main" java.util.NoSuchElementException: key not found: class java.lang.Long at scala.collection.MapLike$class.default(MapLike.scala:228) at scala.collection.AbstractMap.default(Map.scala:58) at scala.collection.MapLike$class.apply(MapLike.scala:141) at scala.collection.AbstractMap.apply(Map.scala:58) at geomesa.utils.geotools.SimpleFeatureTypes$.geomesa$utils$geotools$SimpleFeatureTypes$$encodeNonGeomDescriptor(SimpleFeatureTypes.scala:49) at geomesa.utils.geotools.SimpleFeatureTypes$$anonfun$encodeType$1.apply(SimpleFeatureTypes.scala:41) at geomesa.utils.geotools.SimpleFeatureTypes$$anonfun$encodeType$1.apply(SimpleFeatureTypes.scala:39) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at geomesa.utils.geotools.SimpleFeatureTypes$.encodeType(SimpleFeatureTypes.scala:39) at geomesa.core.data.AccumuloDataStore.writeMetadata(AccumuloDataStore.scala:136) at geomesa.core.data.AccumuloDataStore.createSchema(AccumuloDataStore.scala:291) at geomesa.core.data.AccumuloDataStore.createSchema(AccumuloDataStore.scala:301) at geomesa.core.data.AccumuloDataStore.createSchema(AccumuloDataStore.scala:60) at org.geomesa.QuickStart.main(QuickStart.java:278)

to be able to compile, I had to skip all the tests (mvn clean install -DskipTests). Otherwise, I got this bug (https://locationtech.org/mhonarc/lists/geomesa-users/msg00080.html) Best, Viet

trungtv commented 10 years ago

Hi again,

So far this version works for me :-)

commit 961c8807a1cc1b023feb5d26483ceb59e71ce5c8 Author: Emilio Lahr-Vivaz elahrvivaz@ccri.com Date: Tue Jun 24 11:41:07 2014 -0400

GEOMESA-151 allowing schema to not be set in datastore config for already created features

Best