安装GeoMesa HBase小记2

接着 安装GeoMesa HBase小记1 继续写。。。
上次写到测试如下:
测试官方示例:
下载并构建教程
git clone https://github.com/geomesa/geomesa-tutorials.git
编译:
cd geomesa-tutorials
mvn clean install -pl geomesa-tutorials-hbase/geomesa-tutorials-hbase-quickstart/ -am

到这里编译好后,运行教程
在命令行上,运行:

java -cp /home/wjk/geomesa-tutorials/geomesa-tutorials-hbase/geomesa-tutorials-hbase-quickstart/target/geomesa-tutorials-hbase-quickstart-2.1.0-SNAPSHOT.jar org.geomesa.example.hbase.HBaseQuickStart \
--hbase.zookeepers 192.168.201.91,192.168.201.92,192.168.201.56 \
--hbase.catalog geomesa_hbase

以上可以修改zookeeper地址和hbase名
这里一直报错

File /tmp/hbase-wjk/hbase/lib does not exist

找/tmp/hbase-wjk/hbase/lib目录一直提示找不到,我翻了一圈,确实没有这个目录,不过是什么需要这个目录呢,又好好看了一下官方文档,发现装完geomesa后,hbase都没有重启过,于是重启hbase,重新运行,文件依然找不到,不过hbase表却可以创建了,手动把自动创建的表全部删除,手动创建/tmp/hbase-wjk/hbase/lib/目录,并把geomesa-hbase-distributed-runtime_2.11-2.0.2.jar这个包入进去,重启hbase后,重试不在报目录找不到了,但中途异常终止了,报错:

Error calling coprocessor service org.locationtech.geomesa.hbase.proto.GeoMesaProto$GeoMesaCoprocessorService for row 
java.util.concurrent.ExecutionException: java.io.IOException: java.io.InterruptedIOException: Interrupted after 3 tries  on 35

查看hbase日志,报错如下:

2018-08-30 11:42:43,330 ERROR [RpcServer.default.FPBQ.Fifo.handler=29,queue=2,port=16020] ipc.RpcServer: Unexpected throwable object 
java.lang.ClassNotFoundException: org.locationtech.geomesa.hbase.coprocessor.aggregators.HBaseVersionAggregator
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at org.locationtech.geomesa.hbase.coprocessor.GeoMesaCoprocessor.getResult(GeoMesaCoprocessor.scala:57)
        at org.locationtech.geomesa.hbase.proto.GeoMesaProto$GeoMesaCoprocessorService.callMethod(GeoMesaProto.java:1085)
        at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:8412)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:2216)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:2198)
        at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:36617)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2354)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:297)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:277)

可以看出找不到类HBaseVersionAggregator,我查看了下,geomesa-hbase-distributed-runtime_2.11-2.0.2.jar包里是没有这个类的,可能是版本不一致导致。示例是2.1.0的。以后如有新发现在写吧。。。

猜你喜欢

转载自blog.csdn.net/weixin_36939535/article/details/82225147