spark验证部署和_GeoMesa在CDH5.X的部署实践

e74b8c7dccc4aa7ee3a9b7e99b44cb1a.png

GeoMesa在CDH5.9的部署实践

GeoMesa是一套开放源码的工具,支持在分布式系统上进行大规模地理空间查询和分析。GeoMesa支持在accumulo、hbase、google bigtable和cassandra等用于大规模存储点、线和多边形数据的数据库上提供空间地理数据索引。geomesa还基于kafka通过分层空间语义提供近乎实时的流处理。通过GeoServer,GeoMesa促进了与各种现有的地图客户端工具(基于标准的OGC接口和协议,例如WFS和WMS协议)的集成。GeoMesa还支持使用Spark用于自定义的分布式地理空间分析。

安装HBase

参考官方安装文档:https://hbase.apache.org/book.html#quickstart

BUG1: 报以下错误

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0 Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0

解决方法:

vim /Users/liubo/opt/hbase-1.4.9/conf/hbase-env.sh

将以下内容注释:

Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"

BUG2: HBASE无故关闭进程。
原因:Hadoop数据块丢失。
解决方法,Hadoop数据块删除。安装GeoMesa


使用以下命令下载并解压缩安装文件。

$ VERSION=2.2.0 
$ wget "https://github.com/locationtech/geomesa/releases/download/geomesa_2.11-$VERSION/geomesa-hbase_2.11-$VERSION-bin.tar.gz" 
$ tar xvf geomesa-hbase_2.11-$VERSION-bin.tar.gz 
$ cd geomesa-hbase_2.11-$VERSION 
$ ls 
bin/  conf/  dist/  docs/  examples/  lib/  LICENSE.txt  logs/

安装GeoMesa Distributed Runtime JAR


设置GEOMESA环境变量:

$ vi /etc/profile


添加

export GEOMESA_HBASE_HOME=/opt/geomesa-hbase_2.11-2.2.0

引用

$ source /etc/profile


打开

$GEOMESA_HBASE_HOME/conf/geomesa-env.sh

修改以下内容

setvar HADOOP_HOME /opt/cloudera/parcels/CDH/lib/hadoop 
setvar HADOOP_CONF_DIR /etc/hadoop/conf
hadoopCDH="1"
setvar HADOOP_COMMON_HOME /opt/cloudera/parcels/CDH/lib/hadoop 
setvar HADOOP_HDFS_HOME /opt/cloudera/parcels/CDH/lib/hadoop-hdfs 
setvar YARN_HOME /opt/cloudera/parcels/CDH/lib/hadoop-yarn 
setvar HADOOP_MAPRED_HOME /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce
setvar ZOOKEEPER_HOME /opt/cloudera/parcels/CDH/lib/zookeeper

将Jar包放在hbase根目录的lib文件夹下,`${hbase.dynamic.jars.dir}`是你的hbase根目录的lib文件夹地址。`$VERSION`是你的版本号。

hadoop fs -put ${GEOMESA_HBASE_HOME}/dist/hbase/geomesa-hbase-distributed-runtime-$VERSION.jar /hbase/lib


如果权限不够,可以使用有权限的用户例如:

sudo -u hdfs hadoop fs -put ${GEOMESA_HBASE_HOME}/dist/hbase/geomesa-hbase-distributed-runtime_2.11-2.2.0.jar /hbase/lib

查看是否传输成功:

hadoop fs -ls /hbase/lib


出现如下内容,说明成功。

90a3481211ba130327faef6ef897f772.png


修改geomesa配置

在`$GEOMESA_HBASE_HOME/conf`文件夹下创建`geomesa-site.xml`。

touch geomesa-site.xml

打开该文件

vi geomesa-site.xml

添加以下内容,注意,修改`[name_node]`为你自己的ip,并检查版本号`2.11-2.0.0.jar`

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
    <name>geomesa.hbase.coprocessor.path</name>
    <value>hdfs://[name_node]:8020/hbase/lib/geomesa-hbase-distributed-runtime_2.11-2.0.0.jar</value>
    <description>HDFS or local path to GeoMesa-HBase Coprocessor JAR. If a local path is provided it must be
      the same for all region servers. A path provided through the DataStore parameters will always
      override this property.
    </description>
    <final>false</final>
</property>
</configuration>

下载、添加HBase的Jar包


运行以下,下载HBaseJar

$ sh $GEOMESA_HBASE_HOME/bin/install-hbase.sh


出现以下内容,选y,回车。

9966e527615fcbf7fe24a88137dd4e5a.png


执行以下命令创建软连接

ln -s /opt/cloudera/parcels/CDH/lib/hbase/lib/metrics-core-2.2.0.jar $GEOMESA_HBASE_HOME/lib/metrics-core-2.2.0.jar;
ln -s /opt/cloudera/parcels/CDH/lib/hbase/lib/htrace-core-3.2.0-incubating.jar $GEOMESA_HBASE_HOME/lib/htrace-core-3.2.0-incubating.jar;

通过执行实例进行测试


执行以下:

$GEOMESA_HBASE_HOME/bin/geomesa-hbase ingest -c example-csv -s example-csv  -C example-csv $GEOMESA_HBASE_HOME/examples/ingest/csv/example.csv 

出现以下,说明运行成功!

e8da992664b632a907ef7ebeff986159.png

打开hbase验证:

$ hbase shell

$ list

出现以下内容,说明GeoMesa成功运行了实例,并将数据保存在了hbase中。

4771c8833c3fb92e172d3a96b367c813.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值