如何在FusionInsight环境下进行分布式空间分析与地图服务发布

本文主要是介绍如何在FusionInsight环境下进行分布式空间分析与地图服务发布,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Fusioninsight 是华为提供的大数据平台,融合了HDFS、YARN、Spark、Hive等主流的分布式开源组件,满足多种用户需求同时混合负载、开放应用。Fusioninsight 通过KrbServer为所有组件提供Kerberos认证功能。

本文档指导了如何对接华为FusionInsight平台,通过Kerberos认证,使用SuperMap大数据产品进行分布式空间分析与地图服务发布。使用本文档进行配置后,可完成的操作有:

  • 使用SuperMap iServer基于FusionInsight的Yarn进行分布式空间分析,如点聚合。
  • 使用SuperMap iObjects for Spark基于FusionInsight的Yarn的进行分布式空间分析。
    1. 支持将数据导入华为HDFS分布式存储,
    2. 支持将数据导入华为HBase分布式存储,
    3. 读取1生成的位于HDFS中的DSF数据集进行分布式分析,如overlay-analyst, clip-region等。
  • SuperMap iDesktopX读取华为HDFS或HBase中的数据集进行配图,保存的工作空间在iServer中发布为地图服务。
  • SuperMap iServer直接发布Hbase中的数据集为地图服务。

1. 环境准备

能连接fusioninsight的Linux服务器,最好与华为的服务器型号一致,都为X86或都为ARM服务器:

本例使用172.23.172.146

准备软件:

SuperMap iServer

SuperMap iDesktopX

SuperMap iObjects for Spark

SuperMap iObjects Java(选配,若不配置则无法使用UDB/UDBX数据源,缓冲区、数据融合、叠加分析、空间查询、空间连接、区域汇总分析)

2. Kerberos连接配置

2.1 准备Kerberos认证文件

下载密钥文件,进入【系统设置】->【用户管理】页面,找到supermap用户,下载对应密钥文件。

将krb5.conf, user.keytab, jaas.conf文件拷贝至172.23.172.146服务器以及集群各节点的相同路径下,本例放于/supermap/文件夹下

拷贝华为集群中hdfs、hbase的配置文件core-site.xml, hdfs-site.xml, hbase-site.xml至172.23.172.146服务器和集群各节点的相同路径下,本例放于/supermap/文件夹下

2.2 配置Kerberos认证相关变量

配置Kerberos认证相关参数。在使用BDT、iDesktop或iServer前,确保以下几个变量添加到172.23.172.146服务器系统变量当中:

  • BDT_PRINCIPAL 变量为kerberos认证的主体名称
  • BDT_KEYTAB  变量为keytab文件的绝对路径,需要集群中的每个节点的相同位置都有该文件
  • BDT_KERBEROS_CONF 该变量为kerberos认证的配置文件的绝对路径,如krbs5.conf,需要集群中的每个节点的相同位置都有该文件
  • BDT_JAAS_CONF 该变量为kerberos认证的jaas配置文件的绝对路径,如jaas.conf,需要集群中的每个节点的相同位置都有该文件
  • BDT_CORE_SITE 该变量为core-site.xml文件的绝对路径,,需要集群中的每个节点的相同位置都有该文件
  • BDT_HBASE_SITE 该变量为hbase-site.xml文件的绝对路径,需要集群中的每个节点的相同位置都有该文件
  • BDT_HDFS_SITE 该变量为hdfs-site.xml文件的绝对路径,需要集群中的每个节点的相同位置都有该文件
  • SPARK_LOCAL_IP  在云环境下,有时会有双网卡IP,使用IP会出现无法访问到的情况,考虑到集群下都配置了hosts,用户可以通过SPARK_LOCAL_IP系统变量来设置
  • BDT_SPARK_DEFAULT_CONF  用于设置gp服务运行是指定的spark-default.conf文件的路径,在华为的fusioninsiht环境下,需要设置该变量。

可将以上环境变量写至一个文件中,在每次启动BDT、iDesktop或iServer前,使用source命令使配置生效,打印BDT_PRINCIPAL查看是否成功生效。

此步骤后可在Linux服务器上使用iObjects for Spark和iDesktopX对接FusionInsight环境。

2.3 使用HBase时的配置

在使用HBase相关功能时,还需要配置相应的协处理器,推荐使用geomesa-hbase-distributed-runtime_2.11-2.2.0.jar版本。此方法不需要在服务端配置协处理器文件,而是将文件配置在HDFS存储中,更加便捷可控。

首先确认以上BDT_HBASE_SITE指向的hbase-site.xml文件中是否配置了hbase.rootdir路径,没有则需要对每个节点补充配置进去,并重启hbase:

确认hbase-site.xml中有以下配置,否则连接hbase时会报错找不到principal,principal和keytab的配置与上节环境变量一致:

将协处理器文件配置到hdfs://hacluster/hbase/lib目录下,使用时会默认查找hbase.rootdir/lib目录下的协处理器文件。

确认其他地方没有配置协处理器,如服务器的hbase/lib目录下,如有已配置的geomesa文件则需要删除。此步骤后即可在Linux服务器上使用BDT或iDesktopX将数据导入HBase并出图。

3. iObjects for Spark的使用

使用iObjects for Spark的命令行可以简单完成各种导入导出和分析功能,可作为检查环境是否连通的测试方案。

若第三步配置的环境变量已经写入了文件中,需要在每次重新打开xshell连接界面时source该文件,让环境变量生效,打印BDT_PRINCIPAL查看是否成功生效。

使用本机或华为yarn进行分布式数据导入或数据分析操作。例如:

  • 使用本机spark,导udb至hdfs(由于udb数据不支持放在hdfs上,因此只能将数据拷贝到华为集群服务器的共享目录下使用yarn导入或使用单机spark执行导入):
spark-submit --master local[*] --jars /home/supermap/bdt/bdt-all-runtime-10.0.0-SNAPSHOT.jar  --class com.supermap.bdt.tools.Tools /home/supermap/bdt/bdt-tools-*.jar build-grid-index --input "sdx --server=/home/supermap/data/vector/county_4326.udb --type=udb --dataset-=county_pg_4326" --output "hdfs://hacluster/supermap/ziran/county_4326_dsf"
  • 使用华为Yarn集群, 导simplejson(gdb、shp都支持这种方式)至hbase
spark-submit --master yarn --jars /supermap/bdt_3/bdt-all-runtime-10.0.1-SNAPSHOT.jar  --class com.supermap.bdt.tools.Tools /supermap/bdt_3/bdt-tools-*.jar copy-features --input "simple-json --path=hdfs://hacluster/supermap/data/osm_pois.json" --output "hbase --catalog=ttt -Z=172.21.140.60:24002 -O=osm_pois"

4. iServer的使用

拷贝fusionInsight的hbase目录下华为的zookeeper库zookeeper-3.5.1.jar,zookeeper-fi-3.5.1.jar ,和hadoop-plugin-1.0.jar (x86环境下不需要hadoop-plugin-1.0.jar)。放至iServer的webapps/iserver/WEB-INF/lib/目录下

使用华为集群的spark2x包替换iServer/support文件夹下的spark文件夹。

启动iServer,配置【配置集群】和【分布式分析服务】项,使用华为Yarn集群,其中Hadoop Yarn集群配置目录为替换后的spark/conf目录:

/supermap/supermap_iserver_1000_17727_4245_linux64_deploy/support/spark/conf/

此步骤后可使用iServer对接华为Yarn集群进行分布式分析。

iserver注册hbase数据库:

iserver使用分布式分析要确认support/spark/conf/hbase-site.xml添加了登陆配置:

常见问题

1、iserver分布式分析启动后,点进去无法使用,日志报错“拒绝连接”:

解决方法:大数据环境的spark版本过低,需要使用2.x以上的版本,如使用Fusioninsight中的Spark2x来替换iserver中的文件

2、iObjects for Spark命令行执行时,报错buffer overflow的错误

解决方法:按提示增大spark.kryoserializer.buffer.max的设置,在命令行的--class前添加:--conf "spark.kryoserializer.buffer.max=1g"

3、执行分布式分析时报错“blacklist”的错误

解决方法:Spark版本2.1.0与Hadoop3.x不兼容,升级spark版本至2.3

这篇关于如何在FusionInsight环境下进行分布式空间分析与地图服务发布的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/744903

相关文章

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON: