SuperMap许可常见问题及解决办法

作者:lly

SuperMap许可常见问题及解决办法

在使用许可的过程中,大家可能会遇到的各种问题,本文从许可的申请、使用、异常处理三个方面
给大家逐一介绍。

一.试用许可申请

可以直接在北京超图软件股份有限公司官网的“SuperMap 技术资源中心”申请试用许可,申请后您将获得:
1.如果申请的是 Web型许可,您将获得 一个 .licc 格式的许可文件
2.如果申请的是 SuperMap GIS 10i&9D 系列产品的许可,您将获得 一个 .lic9d 格式的许可文件
3.如果申请的是 SuperMap GIS 11i 系列产品的许可,您将获得 一个 .licx 格式的许可文件

二.试用许可生效

2.1 Windows下试用许可生效

您可以通过以下两种方式使申请的试用许可生效

方式一:许可中心更新
首次打开 SuperMap 许可中心,该程序会自动安装依赖的驱动,并默认安装一个90天的试用软许可。若是才申请的许可,则可通过在 SuperMap 许可中心,打开“激活更新”页,浏览并选择您获得的许可文件,然后,单击“更新”按钮,即可使许可生效。

SuperMap 许可中心以多种形式提供,您可以通过帮助文档搜索部署 SuperMap 许可中心获取安装方式。

方式二:放在C:\Program Files\Common Files\SuperMap\License目录下即可

2.2 Linux下试用许可生效

您可以通过以下两种方式使申请的试用许可生效:
方式一: 将获得的试用许可文件放在操作系统的opt目录下,具体为:/opt/SuperMap/License/请注意为该目录授予读写权限。系统会自动使用该目录的许可文件,无须其他配置。
方式二: 进入 supermap_iserver_*_linux64 的根目录,将您获得的试用许可文件指定到文件位置,执行如下命令(确认已安装驱动,驱动安装方法在下文提供):

./licensetool.sh -update /路径名/*.lic9d

2.3 Docker下试用许可生效

1.首先进入容器内,通过hostname方式获取容器内机器名,去官网申请试用许可

docker exec -it 容器ID /bin/bash

2.将申请的试用许可从宿主机拷贝到容器指定目录中

//docker cp 要拷贝的文件路径 容器名:固定路径
docker cp a0287f73eb7f-20201203.lic9d a0287f73eb7f:/opt/SuperMap/License/

3.重启容器

docker restart a0287f73eb7f

三.试用许可常见问题

3.1 Windows下试用许可更新失败

首先打开许可中心,点击许可状态,查看是否有过期的试用许可,如下图:
在这里插入图片描述

若有过期许可,前往C:\Program Files\Common Files\SuperMap\License下删除所有文件,再将新申请许可文件放入license文件下,重启许可服务,若是发现删除掉license文件下的文件后,还有过期的试用许可,则去C:\Program Files (x86)\Common Files\SafeNet Sentinel\Sentinel LDK\installed\99235下删除掉所有v2c文件。

3.2 Linux下试用许可更新失败

首先确认已安装许可驱动与依赖库,依赖库的安装如下:
在这里插入图片描述
脚本安装依赖库的过程中,可能会出现缺少32位库的错误,如下图:
在这里插入图片描述
这时则可通过手动安装32位依赖库:

Ubuntu14下:
sudo apt-get install libc6-i386
sudo apt-get install ia32-libs

CentOS/redHat下:
sudo yum install libstdc++-devel.i686
sudo yum install glibc.i686
sudo yum install libgcc.i686
sudo yum install libstdc++.i686
sudo yum install glibc-devel.i686

其它Linux版本的依赖库可以前往iServer帮助文档-》安装前配置-》手动安装依赖库查看

:Linux版本应满足基本要求,在帮助文档-》软件要求-》查看,若是linux版本与要求的版本不同,则需自行查找命令安装相应的32位库,若为内网环境则可前往iServer\objectjava\bin目录,用以下命令查找缺失库,并手动安装

ldd libWrapj*.so |grep not

依赖安装成功后,则需安装许可驱动,许可驱动安装方法如下图:
在这里插入图片描述
成功安装许可驱动后,前往iServer的根目录下,执行./licensetool.sh -s查看许可状态,如下图:
在这里插入图片描述

若是许可状态中有已过期的许可,前往opt/SuperMap/License目录下,找到已过期的许可文件删掉,或者全部删除,放入新申请的许可,再次使用./licensetool.sh -s查看许可状态,若还是有过期许可,则去 /var/hasplm/installed/99235目录下删除v2c文件并重装许可驱动,
重装许可方法如下:
在这里插入图片描述

四.正式许可常见问题

4.1 Windows下网络锁读取不到

1.首先检查是否已安装许可驱动,未安装先安装许可驱动,安装方法不再赘述。
2.插锁的服务器需要勾选允许网络计算机访问本机许可,如下图:
在这里插入图片描述
3.需要读取许可的客户端,需要勾选允许访问远程服务器的网络锁,同时若是要跨网段访问,还需添加插锁服务器的地址,如下图:
在这里插入图片描述
4.打开Windows上的许可中心,查看许可状态,若发现读取的是试用许可(无论是否过期),则参照上面的试用许可更新失败的处理方法,删掉相应的文件,若是读取的是正式许可,则检查是否许可被占用,若是被占用,前往插锁的机器,打开许可中心设置查看最近连接的计算机,禁止占用的计算机,然后重新启动许可中心即可,如下图:
在这里插入图片描述

4.2 Linux下网络锁读取不到

1.首先检查驱动是否安装,安装方法参考上文所述。
2.使用1947端口查看许可状态,若是有图形化界面可访问localhost:1947页面来查看,远程访问则将localhost换成对应的ip,并且打开允许ACC远程访问,ACC开启方法如下:
(1)前往在Windows下有许可中心的机器,访问localhost:1947然后勾选allow remote access to ACC即可,如下图:
在这里插入图片描述
(2)然后前往C:\Program Files (x86)\Common Files\Aladdin Shared\HASP下找到hasplm.ini配置文件,打开文件将name修改为对应的Linux的主机名,如下:
在这里插入图片描述
(3)修改完后将文件放到Linux下\etc\hasplm中就可以通过ip访问1947了(需关闭Linux防火墙)。
3.访问到需要读取许可机器的许可中心后,查看是否有试用许可,有的话按照之前的方法清除掉
在这里插入图片描述
4.若是没有试用许可,并且读取不到正式许可,则先去许可中心,查看是否开启了允许访问远程授权,跨网段还需添加上服务器ip地址(若有中间代理服务器,须填写插锁机器ip,而非代理服务器ip),如下图:
在这里插入图片描述
5.若开启了授权还是读取不到正式许可,则前往插锁机器的许可中心,查看是否开启了允许从远程客户端访问,并且查看是否被占用,若有占用则前往配置-》从远程客户端访问,点击显示最近的客户端访问,拒绝掉占用的机器,然后提交即可,如图:
在这里插入图片描述

4.3 Docker读取硬件网络锁配置及常见问题

1.如果宿主机是物理机可以使用硬件网络锁,同时打开端口1947

docker run -ti -d --name iserver -p 192.168.12.94:8090:8090 -p 192.168.12.94:1948:1947  supermap/iserver

2.参考Linux下网络锁读取不到所说方法,将hasplm.ini文件拷贝到容器中,提前将配置文件中相应选项配置好

docker cp hasplm.ini b0d2bfaa7062:/etc/hasplm/

3.重启容器

docker restart b0d2bfaa7062

可能出现的问题:
Docker容器内iServer无法正确读取到许可,debug查询许可状态码为42
在这里插入图片描述
解决办法:
在这里插入图片描述
状态码42解释如上图,这里的LM too old是相对于程序所用的Runtime API库的版本来说的,我们要求RTE版本不能低于Runtime API库的版本,因此需要升级插锁机器的许可驱动。
Windows驱动
链接:https://pan.baidu.com/s/1n69Pd8uAqkvKVb9qJL43LQ?pwd=ovef
提取码:ovef
Linux驱动可尝试下载最新版iServer,安装包内自带驱动。

注:Docker容器使用MAC地址申请正式许可,需要进入容器内部使用./licensetool.sh -cardid获取

4.4 许可模块读取不全

1.首先检查是否有占用,有占用则先拒绝占用的机器访问
2.发现未被占用,但是iServer读取模块不全,则去删除iServer安装目录下webapps\iserver\WEB-INF下iserver-system.xml中删除< license > 节点内的内容,然后重启iServer,重新配置即可(Linux下操作与Windows相同)
3.若是重新配置还是读取不到,则手动在节点下添加许可模块,如下图:
在这里插入图片描述
注:按核扩展模块的名称为在原扩展模块名称后加上核数信息,如机器学习服务(16核)扩展模块的名称为’MACHINE_LEARNING_SERVICE_16CORES’、机器学习服务(32核)扩展模块的名称为‘MACHINE_LEARNING_SERVICE_32CORES’
4.对于子节点还需添加主节点地址,如下图:
在这里插入图片描述

4.5 lic9D正式文件锁检测

1.用编辑器打开lic9d锁文件,找到id
在这里插入图片描述
2.进入objectjava\bin执行java -jar com.supermap.licensemanager.jar -debuglic id,如java -jar com.supermap.licensemanager.jar -debuglic 11002
在这里插入图片描述
3.查看上图状态码,若为5001~5011,则许可有问题,需要重出许可,若为0则代表许可已正确配置,产品可以直接使用,无需再做其它许可配置,4000状态码为未识别到许可文件。若已重出许可,检测仍为5005,服务器无中文,单位名称为中文,且encryptData为乱码,可以去掉许可文件中单位名称项,再配置许可。
在这里插入图片描述

五.Web许可中心常见问题

5.1 Web许可中心如何开启https

首先,Web许可中心需要2.0.8以上版本,其次需要产品能支持连接wss协议的Web许可中心。
1.Linux下开启https

1.首先需要关闭服务
2.打开配置文件supermap-bslicense-server/bin/application.properties,开启SSL,配置如下:server.ssl.enabled=true
3.保存文件再运行startup.sh文件

2.Windows开启https

(1).首先需要关闭服务
(2).用记事本打开bin目录下的start.bat文件,修改https配置:
set ENABLE_HTTPS=true
(3).保存start.bat文件再启动

3.iServer对接时,需要使用wss协议进行读取,目前需要10.2.1及以上版本

wss://127.0.0.1:9183

注:桌面产品暂不支持对接

5.2 如何部署Web许可中心War包

1.将supermap-bslicense-server-xxx-war.zip解压,把bslicense.war包放置在tomcat的webapps目录下
2.若使用mysql数据库需配置以下环境变量

BSLICENSE_DB_URL=jdbc:mariadb://<ip地址>:<端口>/<数据库名称>?characterEncoding=utf8&useSSL=false
BSLICENSE_DB_USERNAME=<name>
BSLICENSE_DB_PASSWORD=<password>
BSLICENSE_DB_DRIVER=org.mariadb.jdbc.Driver
BSLICENSE_DB_PLATFORM=org.hibernate.dialect.MySQL57Dialect
BSLICENSE_DB_TABLE=classpath:bslicense_table.sql
BSLICENSE_DB_DATA=classpath:bslicense_data.sql

若使用内置数据库,则配置以下部署环境

BSLICENSE_DB_DRIVER=org.hsqldb.jdbc.JDBCDriver
BSLICENSE_DB_PLATFORM=org.hibernate.dialect.HSQLDialect
BSLICENSE_DB_URL=jdbc:hsqldb:file:<tomcat的绝对地址>/webapps/bslicense/WEB-INF/classes/db/bslicense
BSLICENSE_DB_USERNAME=sa

3.bslicense只支持9183端口访问,需要修改tomcat启动端口为9183
4.启动tomcat,使用浏览器访问http://:9183/bslicense进行配置

注意事项:

(1)在arm环境下,许可中心启动失败如何处理

在arm环境中部署,可能会遇到环境变量识别不了的情况。在tomcat/webapps/bslicense/WEB-INF/classes目录下,将第2步配的环境变量直接配置在application.properties相对应的位置

5.3 如何连接War包部署Web许可中心

针对war包部署的许可中心,在进行连接时,许可中心地址需要增加一级bslicense

ws://许可中心的ip:9183/bslicense/

在这里插入图片描述

六.驱动常见问题

6.1 Windows安装驱动的报错中包含一系列数字,或提示内部错误

1.运行cmd,输入命令进行驱动卸载:

"桌面安装目录\Tools\SuperMapLicenseCenter\Tools\SuperMap_Trial_License.exe" –purge

"桌面安装目录\Tools\SuperMapLicenseCenter\Tools\SuperMap_Trial_License.exe" –r

2.重启电脑,输入命令进行驱动安装

"桌面安装目录\Tools\SuperMapLicenseCenter\Tools\SuperMap_Trial_License.exe" –i

如果未能成功安装驱动,请使用下面步骤进行操作:
(1). 在控制面板中搜索【设备管理器】并打开;
(2). 在【查看】菜单中勾选【显示隐藏的设备】;
(3). 在设备管理器的主窗口中,可查看【非即插即用驱动程序】的节点,将其中的【hardlock】卸载;
(4). 重启电脑,输入命令进行驱动安装

"桌面安装目录\Tools\SuperMapLicenseCenter\Tools\SuperMap_Trial_License.exe" –i

6.2 Linux中更新许可提示【hasp_feature_expired】

1.下载最新版本;
2.切换到Objects Java所在文件夹,对该目录赋予权限,语句为【chmod 777 目录 -R】;
3.安装驱动,配置许可。

6.3 Windows安装驱动报error: -536870329

在这里插入图片描述
这是由于系统的微软根证书失效,找到同一版本操作系统的机器导出根证书,在问题机器先删除根证书,然后重新导入根证书,具体操作步骤为如下:
1.找到一台与问题机器同一版本系统的机器,运行 “certmgr.msc”,右击 “Microsoft Root Certificate Authority”,选中“所有任务” -> “导出”,之后都是默认选项点“继续”,最后保存文件命名为 “cert.cer”。

2.在问题机器,运行 “certmgr.msc”,右击 “Microsoft Root Certificate Authority”,点击 “删除”。

3. 将第一步保存的 cert.cer 文件拷贝到问题机器上,例如放到 C:\cert.cer。

4.在问题机器上 C:\Windows\System32\WindowsPowerShell\v1.0 路径下以管理员身份运行 powershell.exe,输入命令 “Import-Certificate -FilePath “C:\cert.cer” -CertStoreLocation Cert:\LocalMachine\Root”。
请注意,根据实际存放位置修改命令语句中的文件路径。

5.安装驱动。

七.注意事项

7.1 切换许可模式

(1)针对10i iServer使用许可时,请先前往iServer安装目录下\webapps\iserver\WEB-INF\iserver-system.xml中删除licenseMode与license整个节点
在这里插入图片描述

7.2 查询正确MAC地址

(1)对于Linux申请正式文件许可,需确定MAC地址时,可在iServer根目录下执行以下指令,使用输出的第一个MAC地址即可

./licensetool.sh -cardid

(2)Windows在组件bin目录下执行

java -jar com.supermap.licensemanager.jar -cardid

注意:若机器存在Docker环境等,命令输出的第一个可能不是真实的MAC,可以搭配查询指令,来查找正确IP,常见网卡命名为eth0,enp0等
在这里插入图片描述

7.3 Linux重启许可服务

(1)10.1.0之前Linux重启许可服务

cd /etc/init.d
sh aksusbd restart

(2)10.1.0重启许可服务

service hasplmd restart

7.4 查看Linux CPU逻辑核数

1.可使用以下指令查询

cat /proc/cpuinfo| grep "processor"| wc -l

结果如下:
在这里插入图片描述

2.对于使用指令查询不到的机器,可以打包以下代码为jar包进行查询(已经打好的jar下载地址

 public static void main(String[] args) {
        System.out.println(""+Runtime.getRuntime().availableProcessors());
    }

打包后使用java -jar xxx.jar执行,如下:
在这里插入图片描述

7.5 Linux生成report文件

(1)使用licensetool脚本生成

./licensetool.sh -report /opt/test.report

(2)使用java命令生成

//进入组件bin目录
cd supermap-iserver-10.1.3a-linux64-deploy/support/objectsjava/bin/
//执行命令
java -jar com.supermap.licensemanager.jar -report /opt/test.report

7.6 其它

(1)10.1.0 Linux生成c2v,需将java组件bin配置到环境变量 LD_LIBRARY_PATH中(检测许可同样适用,参数改为-s即可)

java -cp com.supermap.licensehasp.jar:com.supermap.licensemanager.jar  
com.supermap.LicenseRunner -create /路径名/*.c2v

(2)10i版本配置用户及许可初始化页面一直loading,以下两种方案

1.更换浏览器,最好使用其它机器浏览器远程配置
2.使用以下地址配置:ip地址/iserver/_setup

(3)Arm架构下LicenseTool能检测到锁,并且未被占用,iServer强制写入也读取不到

检查/usr/lib目录下是否有libHASPJava.so库文件,若没有将libHASPJava.so、
haspvlib_arm64_99235.so、haspvlib_armhf_99235.so拷贝到/usr/lib目录下,
并重启许可服务
下载地址:
链接:https://pan.baidu.com/s/1z_1s4KU4xy1CT4EH691nEQ 
提取码:n5oy 

(4)Linux检查U口是否读到硬件锁,Aladdin即为硬件锁
请添加图片描述

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值