hbase+geomesa+geoserver踩过的坑

参考博文配置hbase+geomesa+geoserver,当执行下面步骤时:

$ java -cp geomesa-tutorials-hbase-quickstart-2.1.0-SNAPSHOT.jar org.geomesa.example.hbase.HBaseQuickStart 
    --hbase.zookeepers master 
    --hbase.catalog geomesa_hbase

master要替换成集群上zookeeper地址


zookeeper报错:geomesa_hbase表已存在。可能是之前导过的原因。

解决方法:用./zkCli.sh进入命令行,删掉hbase/table节点。将zoo.cfg中配置的data目录下的version-2文件删掉,再次导入数据会报下面错误:

KeeperException$NoNodeException: KeeperErrorCode 异常处理

Loading datastore
Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Creating schema: GLOBALEVENTID:String,Actor1Name:String,Actor1CountryCode:String,Actor2Name:String,Actor2CountryCode:String,EventCode:String,NumMentions:Integer,NumSources:Integer,NumArticles:Integer,ActionGeo_Type:Integer,ActionGeo_FullName:String,ActionGeo_CountryCode:String,dtg:Date,geom:Point:srid=4326
java.lang.RuntimeException: Error running quickstart:
	at org.geomesa.example.quickstart.GeoMesaQuickStart.run(GeoMesaQuickStart.java:92)
	at org.geomesa.example.hbase.HBaseQuickStart.main(HBaseQuickStart.java:25)
Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hbase.CoordinatedStateException): org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase/table/geomesa_hbase
	at org.apache.hadoop.hbase.zookeeper.ZKTableStateManager.setTableState(ZKTableStateManager.java:105)
	at org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.assignRegions(CreateTableProcedure.java:456)
	at org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:127)
	at org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:59)
	at org.apache.hadoop.hbase.procedure2.StateMachineProcedure.execute(StateMachineProcedure.java:139)
	at org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:499)
	at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1163)
	at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:958)
	at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:911)
	at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.access$400(ProcedureExecutor.java:79)
	at org.apache.hadoop.hbase.procedure2.ProcedureExecutor$2.run(ProcedureExecutor.java:502)

百思不得其解,我重启了zookeeper和hbase后,再次执行命令

$ java -cp geomesa-tutorials-hbase-quickstart-2.1.0-SNAPSHOT.jar org.geomesa.example.hbase.HBaseQuickStart 
    --hbase.zookeepers master 
    --hbase.catalog geomesa_hbase

master要替换成集群上zookeeper地址

,发现执行成功。

猜你喜欢

转载自blog.csdn.net/jinger_000/article/details/82799526