Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [geomesa-users] Exception java.lang.NoSuchMethodError org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.sendBaseOneway

Milan,

GeoMesa 1.3.0+ is built against Accumulo 1.7.2 by default.  Is it
possible for you to bump your version of Accumulo up to the 1.7 series?

-Anthony.

Milan Muňko <milan.munko@xxxxxxxxxxx> writes:

> Hello Antony,
>
> My accumulo version is 1.6.6, but I wil try to use new 1.3.0-m3 and test
> if the issue persists.
>
> Thanks,
> Milan
>
>
>
> 	Ing. Milan Muňko | Co-Founder
>
> 	AI-MAPS s. r. o., Tallerova 4, 811 02 Bratislava Slovakia
>
> 	Mobile: +421 944 612 592
>
> 	Email: milan.munko@xxxxxxxxxxx
>
> 	Web: www.ai-maps.com
>
>
>
> On 23.12.2016 14:14, Anthony Fox wrote:
>> Hi Milan
>>
>> What version of Accumulo are you using?  I've seen this error when
>> using 1.8.0. We recently merged a fix into master (1.3.0-m3-SNAPSHOT)
>> that addresses the issue. Basically, versions of the libthrift library
>> are out of sync.
>>
>> Thanks
>> Anthony
>>
>>
>> On Dec 23, 2016, at 7:38 AM, Milan Muňko <milan.munko@xxxxxxxxxxx
>> <mailto:milan.munko@xxxxxxxxxxx>> wrote:
>>
>>> Hello everyone and merry christmas
>>>
>>> I want to use write data to geomesa programatically, but I get
>>> following error:
>>>
>>> /Exception in thread "main" java.lang.NoSuchMethodError:
>>> org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.sendBaseOneway(Ljava/lang/String;Lorg/apache/thrift/TBase;)V//
>>> //    at
>>> org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.send_closeScan(TabletClientService.java:303)//
>>> //    at
>>> org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.closeScan(TabletClientService.java:295)//
>>> //    at
>>> org.apache.accumulo.core.client.impl.ThriftScanner.getBatchFromServer(ThriftScanner.java:117)//
>>> //    at
>>> org.apache.accumulo.core.metadata.MetadataLocationObtainer.lookupTablet(MetadataLocationObtainer.java:101)//
>>> //    at
>>> org.apache.accumulo.core.client.impl.TabletLocatorImpl.lookupTabletLocation(TabletLocatorImpl.java:483)//
>>> //    at
>>> org.apache.accumulo.core.client.impl.TabletLocatorImpl.lookupTabletLocationAndCheckLock(TabletLocatorImpl.java:654)//
>>> //    at
>>> org.apache.accumulo.core.client.impl.TabletLocatorImpl._locateTablet(TabletLocatorImpl.java:640)//
>>> //    at
>>> org.apache.accumulo.core.client.impl.TabletLocatorImpl.locateTablet(TabletLocatorImpl.java:456)//
>>> //    at
>>> org.apache.accumulo.core.client.impl.TabletLocatorImpl.lookupTabletLocation(TabletLocatorImpl.java:480)//
>>> //    at
>>> org.apache.accumulo.core.client.impl.TabletLocatorImpl.lookupTabletLocationAndCheckLock(TabletLocatorImpl.java:654)//
>>> //    at
>>> org.apache.accumulo.core.client.impl.TabletLocatorImpl._locateTablet(TabletLocatorImpl.java:640)//
>>> //    at
>>> org.apache.accumulo.core.client.impl.TabletLocatorImpl.locateTablet(TabletLocatorImpl.java:456)//
>>> //    at
>>> org.apache.accumulo.core.client.impl.ThriftScanner.scan(ThriftScanner.java:247)//
>>> //    at
>>> org.apache.accumulo.core.client.impl.ScannerIterator$Reader.run(ScannerIterator.java:79)//
>>> //    at
>>> org.apache.accumulo.core.client.impl.ScannerIterator.hasNext(ScannerIterator.java:150)//
>>> //    at
>>> scala.collection.convert.Wrappers$JIteratorWrapper.hasNext(Wrappers.scala:42)//
>>> //    at scala.collection.Iterator$class.foreach(Iterator.scala:893)//
>>> //    at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)//
>>> //    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:234)//
>>> //    at
>>> scala.collection.AbstractTraversable.map(Traversable.scala:104)//
>>> //    at
>>> org.locationtech.geomesa.accumulo.data.MultiRowAccumuloMetadata.getFeatureTypes(GeoMesaMetadata.scala:339)//
>>> //    at
>>> org.locationtech.geomesa.accumulo.data.AccumuloDataStore.getTypeNames(AccumuloDataStore.scala:104)//
>>> //    at
>>> org.locationtech.geomesa.accumulo.data.AccumuloDataStore.getFeatureSource(AccumuloDataStore.scala:346)//
>>> //    at
>>> org.locationtech.geomesa.accumulo.data.AccumuloDataStore.getFeatureSource(AccumuloDataStore.scala:362)//
>>> //    at com.aimaps.geomesa.DataWriter$.main(DataWriter.scala:100)//
>>> //    at com.aimaps.geomesa.DataWriter.main(DataWriter.scala)/
>>>
>>> I am new to scala, this is my code:
>>>
>>> /package com.aimaps.geomesa//
>>> //
>>> //import org.locationtech.geomesa.accumulo.data.AccumuloDataStore//
>>> //import org.locationtech.geomesa.accumulo.index.Constants//
>>> //import org.locationtech.geomesa.utils.interop.SimpleFeatureTypes//
>>> //import org.locationtech.geomesa.utils.interop.WKTUtils//
>>> //
>>> //import org.opengis.feature.Feature//
>>> //import org.opengis.feature.simple.SimpleFeature//
>>> //import org.opengis.feature.simple.SimpleFeatureType//
>>> //
>>> //import org.geotools.data.DataStore//
>>> //import org.geotools.data.DataStoreFinder//
>>> //import org.geotools.data.FeatureSource//
>>> //import org.geotools.data.FeatureStore//
>>> //import org.geotools.data.Query//
>>> //import org.geotools.data.simple.SimpleFeatureStore//
>>> //import org.geotools.factory.CommonFactoryFinder//
>>> //import org.geotools.factory.Hints//
>>> //import org.geotools.feature.DefaultFeatureCollection//
>>> //import org.geotools.feature.FeatureCollection//
>>> //import org.geotools.feature.FeatureIterator//
>>> //import org.geotools.feature.SchemaException//
>>> //import org.geotools.feature.simple.SimpleFeatureBuilder//
>>> //import org.geotools.data.DataStore//
>>> //import org.geotools.data.DataStoreFinder//
>>> //
>>> //import org.apache.hadoop.conf.Configuration//
>>> //import org.apache.spark.{SparkConf, SparkContext}//
>>> //
>>> //import scala.collection.JavaConversions._//
>>> //import java.util.UUID.randomUUID//
>>> //
>>> //
>>> //object DataWriter {//
>>> ////
>>> //  def main(args: Array[String]) {//
>>> ////
>>> //    println("Starting up!")//
>>> ////
>>> ////
>>> //    println("Generating Simple Feature")//
>>> //    // Vygenerovanie sample tuple zaznamu //
>>> //    val data = ("AF15B", "Sample Sensor", 78,
>>> System.currentTimeMillis(), 48.5, 18.0)//
>>> ////
>>> //    // println(f"Generated data: $data")//
>>> ////
>>> //    // Creating simple feature type//
>>> //    val simpleFeatureType =
>>> SimpleFeatureTypes.createType("sampleSensor","objectId:String:index=full,note:String,value:Int:index=full,time:Date,geom:Point:srid=4326:index=full")//
>>> ////
>>> //    //definicia ktory atribut ma byt pouzity ako time index//
>>> //simpleFeatureType.getUserData().put(Constants.SF_PROPERTY_START_TIME,
>>> "time");//
>>> ////
>>> //    // vytvorenie simple feature buildera//
>>> //    val featureBuilder = new SimpleFeatureBuilder(simpleFeatureType)//
>>> ////
>>> //    // vytvorenie noveho simple feature//
>>> //    val simpleFeature =
>>> featureBuilder.buildFeature(randomUUID.toString());//
>>> ////
>>> //    //naplnenie simple feature datami//
>>> //    simpleFeature.setAttribute("objectId", data._1)//
>>> //    simpleFeature.setAttribute("note", data._2)//
>>> //    simpleFeature.setAttribute("value", data._3)//
>>> //    simpleFeature.setAttribute("time", data._4)//
>>> ////
>>> //    // vytvorenie geometrie a priradenie geometrie//
>>> //    val geometry = WKTUtils.read("POINT(" + data._6 + " " + data._5
>>> + ")")//
>>> //    simpleFeature.setAttribute("geom", geometry)//
>>> ////
>>> ////
>>> //    println("Generujem Feature Collection")//
>>> //    val featureCollection = new DefaultFeatureCollection()//
>>> //    featureCollection.add(simpleFeature)//
>>> ////
>>> //    /**//
>>> //     * ZAPIS SIMPLE FEATURE DO TABULKY//
>>> //     *///
>>> ////
>>> //    println("Initializing geomesa connection")//
>>> //    // configuracia pripojenia na geomesa//
>>> //    val dataStoreConfig = Map(//
>>> //      "instanceId" -> "accumulo",//
>>> //      "zookeepers" -> "localhost:2181",//
>>> //      "user"       -> "root",//
>>> //      "password"   -> "pass1234",//
>>> //      "tableName"  -> "test_insert",//
>>> //      "auth"       -> "")//
>>> ////
>>> ////
>>> //    println("Creating data store")//
>>> //    //  vytvorenie datastore//
>>> //    val dataStore =
>>> DataStoreFinder.getDataStore(dataStoreConfig).asInstanceOf[AccumuloDataStore]//
>>> //    // vytvorenie schemy//
>>> //    // dataStore.createSchema(simpleFeatureType)//
>>> ////
>>> //    println("Creating feature store")//
>>> //    val featureStore = dataStore.getFeatureSource("sampleSensor")//
>>> ////
>>> //    println("Inserting features")//
>>> //    featureStore.addFeatures(featureCollection)//
>>> ////
>>> //    println("DONE.")//
>>> //  }//
>>> ////
>>> //}/
>>>
>>> Thank you for any sudgestions,
>>>
>>> Milan
>>>
>>> --
>>>
>>> <podpis2.png>
>>> 	Ing. Milan Muňko | Co-Founder
>>>
>>> 	AI-MAPS s. r. o., Tallerova 4, 811 02 Bratislava Slovakia
>>>
>>> 	Mobile: +421 944 612 592
>>>
>>> 	Email: milan.munko@xxxxxxxxxxx
>>>
>>> 	Web: www.ai-maps.com
>>>
>>>
>>>
>>> _______________________________________________
>>> geomesa-users mailing list
>>> geomesa-users@xxxxxxxxxxxxxxxx <mailto:geomesa-users@xxxxxxxxxxxxxxxx>
>>> To change your delivery options, retrieve your password, or
>>> unsubscribe from this list, visit
>>> https://www.locationtech.org/mailman/listinfo/geomesa-users
>>
>>
>> _______________________________________________
>> geomesa-users mailing list
>> geomesa-users@xxxxxxxxxxxxxxxx
>> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
>> https://www.locationtech.org/mailman/listinfo/geomesa-users
>
> _______________________________________________
> geomesa-users mailing list
> geomesa-users@xxxxxxxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://www.locationtech.org/mailman/listinfo/geomesa-users


Back to the top