1. 程式人生 > >GeoMesa操作HBase遇到的一些錯誤解決辦法

GeoMesa操作HBase遇到的一些錯誤解決辦法

1.錯誤一:java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/coprocessor/CoprocessorService

具體如下:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/coprocessor/CoprocessorService
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.access$100(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at org.locationtech.geomesa.hbase.coprocessor.package$.AllCoprocessors$lzycompute(package.scala:28)
	at org.locationtech.geomesa.hbase.coprocessor.package$.AllCoprocessors(package.scala:27)
	at org.locationtech.geomesa.hbase.index.HBaseFeatureIndex$class.configure(HBaseFeatureIndex.scala:95)
	at org.locationtech.geomesa.hbase.index.HBaseZ2Index$.configure(HBaseZ2Index.scala:21)
	at org.locationtech.geomesa.hbase.index.HBaseZ2Index$.configure(HBaseZ2Index.scala:21)
	at org.locationtech.geomesa.index.geotools.GeoMesaDataStore$$anonfun$onSchemaCreated$1.apply(GeoMesaDataStore.scala:161)
	at org.locationtech.geomesa.index.geotools.GeoMesaDataStore$$anonfun$onSchemaCreated$1.apply(GeoMesaDataStore.scala:161)
	at scala.collection.immutable.List.foreach(List.scala:381)
	at org.locationtech.geomesa.index.geotools.GeoMesaDataStore.onSchemaCreated(GeoMesaDataStore.scala:161)
	at org.locationtech.geomesa.index.geotools.MetadataBackedDataStore.createSchema(MetadataBackedDataStore.scala:150)
	at org.locationtech.geomesa.index.geotools.GeoMesaDataStore.createSchema(GeoMesaDataStore.scala:178)
	at org.locationtech.geomesa.hbase.data.HBaseDataStore.createSchema(HBaseDataStore.scala:54)
	at com.zgss.test.Test5.main(Test5.java:31)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.coprocessor.CoprocessorService
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 25 more

解決辦法:
以上是缺少hbase 的協處理器的相關包,加上下面的依賴,問題解決。

		<dependency>
			<groupId>com.aliyun.hbase</groupId>
			<artifactId>alihbase-endpoint</artifactId>
			<version>2.0.0</version>
		</dependency>

2.錯誤二:java.lang.NoSuchMethodError: org.geotools.factory.FactoryRegistry.getFactory(Ljava/lang/Class;Ljava/util/function/Predicate;Lorg/geotools/factory/Hints;Lorg/geotools/factory/Hints$Key;)Ljava/lang/Object;

如下:

Exception in thread "main" java.lang.NoSuchMethodError: org.geotools.factory.FactoryRegistry.getFactory(Ljava/lang/Class;Ljava/util/function/Predicate;Lorg/geotools/factory/Hints;Lorg/geotools/factory/Hints$Key;)Ljava/lang/Object;
	at org.geotools.factory.CommonFactoryFinder.lookup(CommonFactoryFinder.java:329)
	at org.geotools.factory.CommonFactoryFinder.getFilterFactory(CommonFactoryFinder.java:284)
	at org.geotools.factory.CommonFactoryFinder.getFilterFactory2(CommonFactoryFinder.java:370)
	at org.geotools.factory.CommonFactoryFinder.getFilterFactory2(CommonFactoryFinder.java:383)
	at org.geotools.data.DataUtilities.<clinit>(DataUtilities.java:204)
	at com.zgss.test.Test5.main(Test5.java:30)

解決辦法:
jar包衝突,把gt-data的jar包去掉就好了。

錯誤三:java.util.NoSuchElementException: key not found: class org.locationtech.jts.geom.Point

Exception in thread "main" java.util.NoSuchElementException: key not found: class org.locationtech.jts.geom.Point
	at scala.collection.MapLike$class.default(MapLike.scala:228)
	at scala.collection.AbstractMap.default(Map.scala:59)
	at scala.collection.MapLike$class.apply(MapLike.scala:141)
	at scala.collection.AbstractMap.apply(Map.scala:59)
	at org.locationtech.geomesa.utils.geotools.AttributeSpec$class.getClassSpec(SimpleFeatureSpec.scala:85)
	at org.locationtech.geomesa.utils.geotools.AttributeSpec$GeomAttributeSpec.getClassSpec(SimpleFeatureSpec.scala:156)
	at org.locationtech.geomesa.utils.geotools.AttributeSpec$class.toSpec(SimpleFeatureSpec.scala:59)
	at org.locationtech.geomesa.utils.geotools.AttributeSpec$GeomAttributeSpec.toSpec(SimpleFeatureSpec.scala:160)
	at org.locationtech.geomesa.utils.geotools.SimpleFeatureTypes$.encodeDescriptor(SimpleFeatureTypes.scala:166)
	at org.locationtech.geomesa.utils.geotools.SimpleFeatureTypes$$anonfun$encodeType$1.apply(SimpleFeatureTypes.scala:162)
	at org.locationtech.geomesa.utils.geotools.SimpleFeatureTypes$$anonfun$encodeType$1.apply(SimpleFeatureTypes.scala:162)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
	at scala.collection.Iterator$class.foreach(Iterator.scala:742)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1194)
	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:245)
	at scala.collection.AbstractTraversable.map(Traversable.scala:104)
	at org.locationtech.geomesa.utils.geotools.SimpleFeatureTypes$.encodeType(SimpleFeatureTypes.scala:162)
	at org.locationtech.geomesa.index.geotools.MetadataBackedDataStore.writeMetadata(MetadataBackedDataStore.scala:391)
	at org.locationtech.geomesa.index.geotools.MetadataBackedDataStore.createSchema(MetadataBackedDataStore.scala:141)
	at org.locationtech.geomesa.index.geotools.GeoMesaDataStore.createSchema(GeoMesaDataStore.scala:178)
	at org.locationtech.geomesa.hbase.data.HBaseDataStore.createSchema(HBaseDataStore.scala:54)
	at org.locationtech.geomesa.hbase.data.HBaseDataStore.createSchema(HBaseDataStore.scala:29)
	at com.zgss.test.Test5.main(Test5.java:33)

解決辦法:
我在程式碼裡引入的包明明是com.vividsolutions.jts.geom.Point,可這裡一直在找org.locationtech.jts.geom.Point,找了好久,最後把geotools的相關jar包全給刪除,問題解決了,出現這種錯誤,一般都是jar包衝突,仔細找一定會找到。

錯誤四 Class org.locationtech.geomesa.hbase.coprocessor.GeoMesaCoprocessor cannot be loaded Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks

org.apache.hadoop.hbase.DoNotRetryIOException: org.apache.hadoop.hbase.DoNotRetryIOException: Class org.locationtech.geomesa.hbase.coprocessor.GeoMesaCoprocessor cannot be loaded Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks
	at org.apache.hadoop.hbase.master.HMaster.warnOrThrowExceptionForFailure(HMaster.java:1818)
	at org.apache.hadoop.hbase.master.HMaster.sanityCheckTableDescriptor(HMaster.java:1679)
	at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1609)
	at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:472)
	at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:58714)
	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2191)
	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)
	at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183)
	at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163)

	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
	at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
	at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95)
	at org.apache.hadoop.hbase.client.RpcRetryingCaller.translateException(RpcRetryingCaller.java:226)
	at org.apache.hadoop.hbase.client.RpcRetryingCaller.translateException(RpcRetryingCaller.java:244)
	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:140)
	at org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:4117)
	at org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:4110)
	at org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsyncV2(HBaseAdmin.java:736)
	at org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:657)
	at org.locationtech.geomesa.hbase.index.HBaseFeatureIndex$class.configure(HBaseFeatureIndex.scala:97)
	at org.locationtech.geomesa.hbase.index.HBaseZ3Index$.configure(HBaseZ3Index.scala:21)
	at org.locationtech.geomesa.hbase.index.HBaseZ3Index$.configure(HBaseZ3Index.scala:21)
	at org.locationtech.geomesa.index.geotools.GeoMesaDataStore$$anonfun$onSchemaCreated$1.apply(GeoMesaDataStore.scala:161)
	at org.locationtech.geomesa.index.geotools.GeoMesaDataStore$$anonfun$onSchemaCreated$1.apply(GeoMesaDataStore.scala:161)
	at scala.collection.immutable.List.foreach(List.scala:381)
	at org.locationtech.geomesa.index.geotools.GeoMesaDataStore.onSchemaCreated(GeoMesaDataStore.scala:161)
	at org.locationtech.geomesa.index.geotools.MetadataBackedDataStore.createSchema(MetadataBackedDataStore.scala:150)
	at org.locationtech.geomesa.index.geotools.GeoMesaDataStore.createSchema(GeoMesaDataStore.scala:178)
	at org.locationtech.geomesa.hbase.data.HBaseDataStore.createSchema(HBaseDataStore.scala:54)
	at org.locationtech.geomesa.hbase.data.HBaseDataStore.createSchema(HBaseDataStore.scala:29)
	at com.zgss.dmp.geomesa.utils.GeomesaUtils.createSchema(GeomesaUtils.java:51)
	at com.zgss.dmp.geomesa.GeomesaTimedTask.PredictionTimedTask.writePredictionTimeTask(PredictionTimedTask.java:53)
	at com.zgss.dmp.geomesa.GeomesaTimedTask.PredictionTimedTask.main(PredictionTimedTask.java:31)

在建立表時,出現此錯誤,Geomesa在建立表時,會自動使用協處理器,需要部署geomesa-hbase-distributed-runtime在叢集中,我部署後仍然有此錯誤。依它所說,把檢查去掉也不可以,會把Hbase弄掛掉。
解決辦法:
未解決,分析為找不到geomesa-hbase-distributed-runtime包,暫時在程式碼裡指定這個包確切位置,執行後正常,如果大家有解決辦法,請告訴我哈。

本人用geomesa 操作hbase ,寫程式碼有很多錯誤,網上資料也很少,這裡先寫幾個,供後人參考,後面遇到其它錯誤了在新增吧。

相關推薦

GeoMesa操作HBase遇到的一些錯誤解決辦法

1.錯誤一:java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/coprocessor/CoprocessorService 具體如下: Exception in thread "main" java.

docker registry私有倉庫的一些錯誤解決辦法

Error response from daemon: login attempt to https://test.io:5000/v2/ failed with status: 401 Unauthorized 這種情況是使用者名稱或者密碼錯誤導致 Error

kali 無法遠端ssh一些錯誤解決辦法

執行service ssh status提示如下錯誤: 9月 15 07:22:49 kali sshd[2116]: key_load_private: bad permissions 9月 15 07:22:49 kali sshd[2116]: Could not l

執行HBase shell時出現ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet錯誤解決辦法(圖文詳解)

cep ESS 關註 align comm util code ade dap   不多說,直接上幹貨! [kfk@bigdata-pro01 bin]$ jps 1968 NameNode 2385 ResourceManager 2259 Jou

CocoaPods 的安裝以及一些常見安裝錯誤解決辦法

注:cocoa pods 已經更新了到1.1.1了,下面的方法不太,不會更新的朋友請看我的另一篇部落格:http://blog.csdn.net/wyz670083956/article/details/53517136 以前的專案都沒有用Cocoapods,引入第三方

連接MySql的時候報1130的錯誤解決辦法

upd 服務器 操作 detail 知識庫 conn cmd命令 p地址 update 部署了一個 數據庫采用Mysql的程序,sqlyog連接非本地的Mysql服務器的數據庫,居然無法連接很奇怪,報1130錯誤,ERROR 1130: Host 192.168.3.100

無法識別的屬性“targetFramework”。請註意屬性名稱區分大小寫。錯誤解決辦法

詳細 style size 無法 authent otn 文件 解決辦法 idt “/CRM”應用程序中的服務器錯誤。 配置錯誤 說明: 在處理向該請求提供服務所需的配置文件時出錯。請檢查下面的特定錯誤詳細信息並適當地修改配置文件。 分析器錯誤消息: 無法識別的屬性“

MySQL 1366錯誤解決辦法

eat 服務 來看 status 編碼 ddr not hang direct MySQL 1366錯誤大致描述如下 SQL Error: 1366: Incorrect string value: "xE8xAFxA6xE7xBBx86…" for

向 mysql 數據庫中寫入datetime 類型數據時 出現全是0的錯誤解決辦法

bsp mysq string date time 類型 -m nbsp 數據 imp Date date = new Date();//獲得系統時間. SimpleDateFormat sdf = new SimpleDateFormat( "

for column "xxx" at row 1錯誤解決辦法

utf 服務 是我 解決 style 是不是 set ini ner 錯誤原因以及解決辦法: 1、表裏的這個字段的數據太長 辦法:把字段名稱的長度改長點 2、字符集或排序規則不正確,這個錯誤一般是你字段裏要存中文漢字造成的; 辦法:一般我們是我們數據庫的字符集是utf-

error C2039: 'SetDefaultDllDirectories'錯誤解決辦法<轉>

解決 lld src 驅動 .com default 問題 頭文件 esp 使用VS2013+WDK8.1+Win7開發UMDF驅動,當使用了CComPtr類,包含了atlcomcli.h頭文件卻報錯,錯誤如下: Error 3 error C2039: ‘SetD

This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 錯誤解決辦法

rep data- button title box mysq set read .net 這是我們開啟了bin-log, 我們就必須指定我們的函數是否是1 DETERMINISTIC 不確定的2 NO SQL 沒有SQl語句,當然也不會修改數據3 READS SQL D

(轉)ubuntu源碼編譯安裝php常見錯誤解決辦法

ttf tar.gz mcr ibm 地址 sin make zip .org 原文地址 http://blog.csdn.net/white__cat/article/details/28907535 ‘./configure’ ‘–prefix=/usr/lo

MTK刷機工具Flash_Tool部分4032錯誤解決辦法

cache enter 錯誤 解決 兩種 bin medium 方法 文件 MTK刷機工具Flash_Tool部分4032錯誤解決辦法 先說明一點,這個辦法不是萬能的,我測試解決了以下兩種情況下的4032: 1、本來正常的

Python 2.6 安裝wxPython後提示"64.....32"錯誤解決辦法

mode mac 只需要 margin 解決方案 import ont lin ext p.p1 { margin: 0.0px 0.0px 10.0px 0.0px; line-height: 20.0px; font: 14.0px "PingFang SC" } li

Git 提示fatal: remote origin already exists 錯誤解決辦法

倉庫 remote gin rem config文件 add fbi already fat 今天使用git 添加遠程github倉庫的時候提示錯誤:fatal: remote origin already exists. 最後找到解決辦法如下: 1、先刪除遠程 Gi

【轉】vs2010打開qt的.pro文件時錯誤解決辦法

編譯 註意 strong 有一個 都在 nmake 文件 pro lib 註意:qt creator工程中一般都已經存在*.pro文件,裏面存放著一些自己配置的包含頭文件和lib庫文的信息,最好不要再重新使用qmake -project生成,若重新生成,則可能要重新增加配置

Yum database disk image is malformed 錯誤 解決辦法

yumyum install xxx 時出現: database disk image is malformed解決辦法:yum clean dbcache Yum database disk image is malformed 錯誤 解決辦法

SpringBoot集成Swagger2實現Restful(類型轉換錯誤解決辦法)

ase col div request text eas new users setname pom.xml增加依賴 1 <dependency> 2 <groupId>io.springfox</groupId&

RuntimeError: Python is not installed as a framework 錯誤解決辦法

install atp 錯誤解決辦法 pip3 font 需要 macbook ken work 因為我是macbook,mac是自帶的python 2.7,但是我開發需要使用到的是python3,所以先使用pip3 install matplotlib 然後在交互頁面鍵入