SuperMap GIS基础产品云GIS FAQ集锦(2)
【iManager】云套件ispeco-dashboard-api的日志等级只有到info,如何设置才能查看到debug级别的日志?
【解决方案】可以在ispeco-dashboard-api的deployment中添加以下环境变量,logging_level_com_supermap=DEBUG,待该pod重启后,就能看到debug级别的日志了。
【iManager】如何迁移docker的工作目录?
【解决方案】docker安装一般默认安装在根目录,需要迁移的话,需要按如下步骤操作:
1、停止docker服务,systemctl stop docker
2、拷贝docker的工作目录到迁移目录(如/data/docker),cp -r /var/lib/docker /data/docker/
3、修改/etc/daemon.json,添加"docker-root": “/data/docker”,如图所示
4、重启docker服务,systemctl restart docker,通过docker info查看docker的Docker Root Dir是否被更改为迁移目录。
【iManager】iManager运行一段时间后,磁盘占用快满了,启动服务的时候报拉不到镜像是怎么回事?
【解决方案】当docker的工作目录快占用满的时候,docker会清理掉长时间不使用的镜像文件,而iManager在根目录占用超过80%后会停止工作,重启的时候会去拉取镜像,这个时候镜像就拉取不到了。所以建议定时清理磁盘空间,将需要的镜像重新导入到仓库重启服务即可
【iManager】如何重置iManager的账户密码?
【解决方案】进入到iManager的安装目录下,找到reset-password.sh,执行chmod +x reset-password.sh && ./reset-password.sh
【iManager】经典版iManager用内网IP访问可以,但是用外网IP或者域名访问出现访问不到的情况该如何处理?
【解决方案】iManager默认只支持初始IP地址访问。如需使用其它IP/域名,请按以下步骤进行添加:
1)进入iManager安装目录(即执行iManager启动命令的目录)并找到docker-compose.yml文件,在当前目录下输入命令打开配置: sudo vi docker-compose.yml
2)在imanager-ui中找到环境变量”- ALLOW_HOSTS=”;
3)将所需的IP/域名添加在”- ALLOW_HOSTS=”后面。如果有多个IP/域名需要添加,它们之间用英文逗号(”,”)隔开; 例如: 添加example1.com以及example2.com为可访问IP/域名,即把”- ALLOW_HOSTS=”改为”- ALLOW_HOSTS=example1.com,example2.com”。
4)保存设置,并重启iManager: sudo ./start.sh 或 sd ./startup.sh
【iServer】处理自动化服务已发布的模型存放在哪个文件夹中?
【解决办法】存放在iServer\support\geoprocessing\models目录下
【iServer】iServer如何关闭 Remember Me 功能防止重放攻击?
【解决办法】编辑iServer\webapps\iserver\WEB-INFiserver-system.xml ,在节点下,添加true,并重启iServer生效
【iserver】在数据已迁移的情况下,如何将另一台机器iServer的服务与当前机器iServer服务合并?
【解决办法】直接拷贝待迁移机器iServer的iServer\webapps\iserver\WEB-INF\iserver-services.xml,并重名为iserver-services1.xml,然后将该文件放置到需要合并机器iServer的iServer\webapps\iserver\WEB-INF\目录下,重启iServer即可,iServer会默认读取所有iserver-services开头的xml文件
【iPortal】【11i】如何修改密钥访问量的默认配额?
【解决办法】 iPortal 默认为密钥的每个关联资源提供了1w次/日的访问额度,管理员也可以通过 %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF 目录下的 iportal.xml 文件中的 子节点元素,修改默认配额,示例如下:
<keyConfig>
// 设置密钥关联资源的默认访问量配额,默认值:10000,您可以根据业务需要进行修改
<defaultMaxCount>10000</defaultMaxCount>
// 设置密钥关联资源默认访问量配额的时间单位,默认值:DAY,您可以根据需要修改为 HOUR,DAY,MONTH,YEAR
<defaultMaxCountType>DAY</defaultMaxCountType>
// 设置是否开启配额审核,默认值:false,不开启配额审核。
<allowQuotaAudit>false</allowQuotaAudit>
</keyConfig>
【iServer】【11i】默认发布的WMTS100的Custom矩阵集的dpi不是96,该如何修改呢?
【解决办法】
1.进入iServer服务管理页–服务–服务装配页面,选择服务接口,点击进入“旧版UI”
2.检索wmts,找到wmts100,点击进入
3.参考贴图,进行修改保存即可
【iPortal】如何通过Rest API添加用户?
【解决办法】
1.使用管理员账号生成token;
2.对http://ip:端口号/iportal/manager/security/portalusers.json?token=发送post请求,请求体如下:
{
"name": "user1",
"password": "supermap@12",
"description": "",
"roles": [
"PORTAL_USER"
],
"type":"CREATOR",
"userGroups": []
}
【iServer】【9.0.1】【9.1.1】【11.0.1】 请问将 iServer 从 IPv4 改为 IPv6 是否会对现有服务产生影响?
【问题原因】 对 9.1.1 之前的 iServer 版本会产生影响,iServer 从 9.1.1 版本开始支持 IPv6。到 11.0.1 版本,目前有 3 个功能(流数据服务、分布式分析服务、分布式计算集群)暂不支持 IPv6,Elasticsearch数据源不支持 IPv6,其他都与 IPv4支持情况一样。
【解决办法】 建议升级到 iServer 最新版本,若当前 iServer 并未使用到流数据服务、分布式分析服务、分布式计算集群以及 Elasticsearch 数据源,则切换到 IPv6 不会有影响。
【iServer】在配置好 SSL 之后,如何避免出现“Cookie中缺少Secure属性”的安全漏洞?
【解决办法】 在 SuperMap iServer安装目录\conf\web.xml 下,找到如下配置:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
增加<cookie-config>,修改为:
<session-config>
<session-timeout>30</session-timeout>
<cookie-config>
<http-only>true</http-only>
<secure>true</secure>
</cookie-config>
</session-config>
最后需要重启iServer生效
【iPortal】想要更换标签页左上角的logo,在哪里更换呢?
【解决方法】 iPortal安装目录\webapps\iportal\WEB-INF\lib目录下边找到iportal-webui相关的jar包(eg:iportal-webui-11.0.1-20220926.072733-4.jar),打开该jar包找到目录\META-INF\resources\web-ui,替换ico即可
【iServer】使用“BIM批量入库”算子导入revit文件,执行之后报“Java组件存放的路径不要有中文路径!”错误是为什么?
【问题原因】插件未配置完成
【解决办法】修改support\objectsjava\bin下的SuperMap.xml文件,加上插件路径 revit软件安装路径 ps:插件下载地址[https://pan.baidu.com/s/1h6Vj5rVICaN-ejb-Jfu5zw#list/path=%2Fsharelink2500947069-8258491650444%2F%E4%B8%89%E7%BB%B4%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7%E5%8F%8A%E6%8F%92%E4%BB%B6%2FiDesktopX%20BIM%E6%89%B9%E9%87%8F%E5%85%A5%E5%BA%93%E9%99%84%E5%B8%A6%E6%9D%90%E6%96%99&parentPath=%2Fsharelink2500947069-8258491650444](https://pan.baidu.com/s/1h6Vj5rVICaN-ejb-Jfu5zw#list/path=%2Fsharelink2500947069-8258491650444%2F三维常用工具及插件%2FiDesktopX BIM批量入库附带材料&parentPath=%2Fsharelink2500947069-8258491650444)
【iPortal】如何修改iPortal首页(http://localhost:8190/iportal/web-ui/home)切换语言的显示文本English为其他?
【解决办法】修改步骤如下:
1.打开 %SuperMap iPortal_HOME%\webapps\iportal\resources\web-ui\config\locales\ 路径下的 locales.json 配置文件,文件结构如下:
{
"locales": [
{
"name": "zh",
"label": "中文"
},
{
"name": "en",
"label": "English"
}
],
"default": "en"
}
2.其中label 属性值可自定义,表示在页面中显示的语言名称。修改配置文件English对应的label为自己需要的名称,保存修改,重启iPortal即可。
【iPortal】Windows系统启动iPortal执行startup.bat闪退,在cmd中执行startup.bat报错:‘findstr‘ 不是内部或外部命令,也不是可运行的程序。该如何解决?
【解决办法】findstr是Window系统自带的命令,用途是查找指定的一个或多个文件文件中包含(或通过参数 /V来控制不包含)某些特定字符串的行,并将该行完整的信息打印出来,或者打印查询字符串所在的文件名。iPortal启动脚本startup.bat中包含了findstr命令,出现该报错是系统环境问题,需要手动设置如下系统环境变量: %SystemRoot%\system32 %SystemRoot% 具体设置如下图所示:贴图 系统环境变量设置完成之后重新启动iPortal即可。
【iPortal】iPortal对地图服务做基于空间范围的权限控制后,前端如何调用可以沿用空间范围权限限制?
【解决办法】iPortal对地图服务做基于空间范围的权限控制,给予不同用户不同的空间范围权限,前端调用iPortal代理后服务地址,通过不同用户申请的key进行调用即可沿用空间范围权限限制。具体操作步骤如下:
1.注册China示例服务,并设置共享权限,给予test用户仅河南省查看权限。
2.在iPortal申请test用户的key,申请页面:http://localhost:8190/iportal/web-ui/my-account/keys。
3.前端调用iPortal代理后的服务,通过SuperMap.SecurityManager.registerKey注册key, 示例代码:
var map,
url = 'http://localhost:8195/portalproxy/j0p4xv9t/iserver/services/map-China100/rest/maps/China';
var key ="DM5XykXdO0KudXloRaOTmcYP";
SuperMap.SecurityManager.registerKey(url,key);
map = L.map('map', {
crs:L.CRS.EPSG4326,
center: [ 30.99,100.96 ],
maxZoom: 18,
zoom:4
});
new L.supermap.TiledMapLayer(url).addTo(map);
调用展示结果如图:贴图
【iServer】iServer war 包部署成功后,如何重置管理员账号?
【解决办法】可以通过以下方法实现重置管理员账号:
1.复制其他iServer包里面的passwordreset.bat/passwordreset.sh。复制路径没有固定要求,能够正常运行脚本即可。
2.修改passwordreset.bat/passwordreset.sh里面的相对路径,需要修改的路径如图:贴图
3.停止 SuperMap iServer 服务,中间件采用Tomcat部署的话即执行Tomcat安装目录\bin目录下的 shutdown.bat /shutdown.sh 文件。
4.执行 passwordreset.bat/passwordreset.sh 文件 。
5.重启 SuperMap iServer 服务,中间件采用Tomcat部署的话即执行Tomcat安装目录\bin目录下的 startup.bat/startup.sh 文件。服务启动后访问 iServer 首页时,系统会自动跳转到创建管理员账户界面,此时只需重新创建管理员账户即可。 passwordreset.sh/passwordreset.bat百度网盘下载链接:https://pan.baidu.com/s/1sevQdN4Q7WVHIjKNE7K5Ng?pwd=17in 提取码:17in
【iServer】对于数据库型数据源对其进行更新操作后,为什么iServer中已经发布的数据不会同步更新
【问题原因】在iServer中对于数据库型数据源发布的服务,默认情况下数据更新后是不会自动同步刷新的。
【解决方法】将iServer根目录\webapps\iserver\WEB-INF目录下的iserver-system.xml文件中的refreshDatasource节点的false改为true后保存,这个节点表示设置是否开启刷新数据库型数据源,默认为false,即不开启;最后重启iServer后,再次对数据库型数据源执行更新操作,数据就会自动刷新同步了。
【iServer】Oracle工作空间发布,提示错误:"工作空间连接字符串错误"是什么原因?
【问题原因】出现上述问题一般有以下几个方面:
1)Oracle连接信息填写错误;
2)iServer所在机器没有安装Oracle客户端,或者安装的Oracle客户端位数与iServer位数不一致;
3)iServer所在机器与Oracle所在机器之间无法ping通不能连接;
4)制作Oracle工作空间的iDesktop版本比iServer版本高导致的。
【解决方法】
1)检查Oracle连接参数;
2)在iServer所在机器安装Oracle客户端,并且位数要与iServer位数一致;
3)确保iServer机器与Oracle之间能相互访问通;
4)在使用过程中要保持iServer版本比iDesktop高或者一致。
【iServer】【10.2.1】iServer rest map服务通过queryResults接口做查询操作时出现跨域问题该怎么解决?
【问题原因】iServer启动后默认允许来自任意域的跨域请求访问成功,出现上述问题可能是以为跨域策略配置不当导致的。
【解决方法】通过修改位于【SuperMap iServer安装目录】\webapps\iserver\WEB-INF目录下的web.xml配置文件来配置跨域访问的白名单,即将节点中的值修改为允许访问资源的来源列表,如果是多个就用逗号分隔开;通过以上配置,表示只允许添加的域能通过跨域请求访问成功,而不允许其他来源访问iServer资源;修改该配置项后需重启iServer生效。
【iServer】如何获取已发布的服务列表信息?是否能够加以区分判断?
【解决办法】通过 services 资源可以获取当前服务器提供的所有GIS 服务的列表和元信息,利用GET请求可以将服务列表信息获取到,在返回的结果中,可以根据componentType和interfaceType对服务类型加以区分。请求示例:
{请求网站:http://localhost:8091/iserver/services.json;请求方法:GET}
【iManager for k8s】【11i】将10.2.1版本云套件升级到11.0.1版本报错Failure executing: GET at: http://10.25.,13.245:6443/apis/apps/v1/namespaces/icloud-native-2/statefulsets/ispeco-dashboard-api. … [pool-2-thread-1 com.suipemap.clous.task.m nager .peredeTaskManager:31·升级数据加数失败: ispeco-dashboard-apicom.supermap.cloud.kubernetes.commontypes .ServiceNotExistException: ispeco-dashboard-api
【问题原因】因填写的KUBERNETES_MASTER_URL有误,导致调用k8sapi失败
【解决方法】k8s master url可通过执行 kubectl cluster-info 获得,一般情况为https协议,请仔细检查填写
【iManager for k8s】【11i】10.2.1版本云套件升级到11.0.1以后发现部分部署一直未启动报错:erro:failed to start container “hosts-daemon” :Error response from daemon OCI runtime create failed:container_linux_go380:starting container process caused exec :“sbin/tini”:start /sbin/tini:no such file or directory :unknown back-off restarting failed container
【问题原因】部分部署依赖tiny-tools镜像,但10i与11i的tiny-tools的镜像名称版本是一致的,同时拉取策略为IFNotPresent,因此启动的pods依然拉取是10i版本的镜像并未拉取更新11i版本的tiny-tools
【解决方法】
1.把 tiny-tools 的镜像在每个k8s节点上重新拉一次
2.把所有相同错误的 pod 都删了,让其重新拉取11i的 tiny-tools镜像
【iManager】当使用docker-compose.yml启动iManager服务,elastic容器报以下错误信息“ERROR:bootstrap checks faied max virtual memory areas vm.max_map_count[65530] is too low, increase to at least[262144]”,该怎么办?
【问题原因】出现上述现象的原因是elasticsearch用户拥有的内存权限太小,至少需要262144
【解决方法】执行sudo sysctl -w vm.max_map_count=262144,然后再启动iManager服务
【iServer】在iServer发布服务的时候裁剪,输入了正确的裁剪范围后预览服务裁剪还是没有生效
【解决方案】输入的裁剪范围数组内所有地方都不能有空格,空格会导致不生效
【iPortal】10i的iPortal的shiro-core-1.8.0.jar扫描出漏洞,建议升级到1.9.1以上,可以直接升级吗?
【解决方案】在11i的iPortal包里面拿shiro-core-1.10.0.ja,或者去网上下载shiro-core-1.9.1直接替换即可
【iPortal】iPortal如何重建索引
【解决方案】在iportal.xml中将设置为true后重启iPortal即可
【iManager】安装docker离线包后,ssh连不上
【问题原因】docker0与当前网络存在IP冲突
【解决办法】修改/etc/docker/deamon.json,添加(修改)docker0网桥: “bip”: “xx.xx.xx.xx/xx”, 然后再重启docker
【iManager】经典版iManager执行startup脚本,ssh连不上
【问题原因】IManager网桥与当前网络存在IP冲突
【解决办法】
方法一(第一次安装IManager环境):
1、删除所有容器和iManager默认网桥;
2、修改启动脚本startup.sh,将docker “network create imanager_external“ 修改为“docker network create --driver=bridge --subnet=14.48.0.0/16 --gateway=14.48.0.1 imanager_external”;
3、然后再启动iManager;
方法二:
1、创建与当前环境不冲突的新network (docker network create --driver=bridge --subnet=14.48.0.0/16 --gateway=14.48.0.1 my_network_bridge);
2、修改iManager安装目录下docker-compose*.yml,将其默认网络修改成前面新network ;
3、重启IManager;
4、检查IManager默认network是否还有容器还有再使用,没有则删除该network,若有则参考方法三去处理;
方法三:
1、与方案二方法一样创建新network;
2、解绑IManager默认的network的容器(imanager_external),指令: docker network disconnect 【网络名称】 【容器ID】;
3、容器绑定network,指令: docker network connect 【网络名称】 【容器ID】;
4、重启容器;
5、将所有使用network相关容器修改成新的network后,删除“imanager_external“ network
【iManager】云套件添加新的字体
【解决办法】点击云套件主页导航栏【文件管理】,在文件管理器的system/fonts文件夹上传所需字体文件
【iManager】通过nginx代理后的iManager,登录之后报错“/sso/ogin?state-2df8ed26-8d78-b94f-a3fc177080c3&session state=81673a94…”
【解决办法】修改配置nginx配置添加proxy_set_header Host
h
o
s
t
:
host:
host:server port;proxy_set_header X-Read-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;然后再重启nginx
【iManager】通过nginx代理后的iManager,通过【文件管理】上传文件,上传失败,页面报错“Error -1-Bridge response error, please check theAP1docs or this ajax response”
【解决办法】测试发现直接通过代理前iManager的【文件管理】功能能正常上传,nginx设置有body_size限制,调大client_max_body_size配置,然后重启nginx
【iServer】为什么访问 REST 服务或 WFS 服务时出现错误码500,并在日志中看到“警告:Java heap space”?
【解决办法】Java 虚拟机内存对于某些服务不够用,所以出现上述错误。解决方法:修改 Java 虚拟机内存参数为更大,例如 -Xmx1024m,然后重启服务。
【iServer】在浏览海图数据、标签专题图、符号专题图等时,出现部分要素被截断、显示不全的现象,应如何解决?
【解决办法】请将 SuperMap iObjects Java 根目录\bin\SuperMap.xml 中的 IsMapInflated 属性改为 true。iServer 自带的 SuperMap iObjects Java 位于 %SuperMap iServer Java_HOME%/support/objectsjava 目录中。
【iServer】在 Tomcat 中部署 war 包,通过 webManager 快速发布服务时,为什么远程浏览功能不能正常使用,不显示系统文件目录,该如何解决?
【解决办法】原因是tomcat包默认不支持URL路径中包含特殊字符"|“,而远程浏览相关功能的URL中会出现”|"。解决办法是:用文本编辑器打开tomcat根目录下conf文件夹下的catalina.properties 文件, 取消“tomcat.util.http.parser.HttpParser.requestTargetAllow=|”的注释,从而使 Tomcat允许处理带 “|” 的 URL 路径。
【iServer】为什么 Linux 系统中,启用多进程以后,重启iServer时会启动失败?
【解决办法】可能是因为该系统的 hostname 对应的 IP 与系统实际的 IP 不一致,导致多进程的服务无法启动。使用单机多进程时,需确认 hostname 对应的 IP 与 ifconfig 查询到的 IP 一致。如果不一致,则修改 /etc/hosts 中 hostname 对应的 IP,与 ifconfig 查询结果一致后,再启动 iServer 即可。
【iServer】为什么使用分布式切图服务时有的子节点不切图?
【解决办法】请检查子节点的地图数据,如果使用的是文件型数据源,需要保证子节点的地图数据与父节点的数据具有相同的路径。
【iServer】iServer中如何配置使用Machine Learning Resources包?
【解决方案】将资源包resources_ml文件夹解压到SuperMap iServer根目录中support/python文件夹下,重启iServer即可
【iPortal】【10.2.1】iPortal产品里注册一个rest map地图服务地址,代理出来后,只共享给某个用户使用,应该如何操作?
【解决办法】
1、管理员身份登录iPortal,进入资源中心-服务,注册服务填写地址到rest路由
2、共享设置,添加具有查看权限的用户,设置用户的可见空间范围
3、至此,服务注册授权已完成,可以在元信息查看代理服务地址
4、使用:登录查看用户,我的用户-我的密钥-创建密钥,就能看见授权的服务名称
5、在代理服务地址后,加上密钥即可访问,例如 http://localhost:8195/portalproxy/xagav/iserver/services/map-uqc5-JinNing GaoQingvingXiang2021/rest?key=gAiAoCPplz60MwCn3DtoTTPF
【iServer】【10.2.1】在桌面配置好的电子地图,已经做了地图优化,用iServer发布出来后,客户要求动态出图且关闭缓存,并在1:10w比例尺用50用户并发压测,目前单个测试在1:10w出图耗时30s,有没有提升空间或技巧?
【解决办法】 如果是单体iServer的地图服务性能压测,建议配置JVM相关优化参数,以及数据源对应数据库的并行查询和查询缓冲区大小调优化,这块建议网上查找详细进行配置。 在iServer层面可以通过leaflet的singleImage方式出图,这种方式适合特定比例尺压测,出图效率高,相比tileImage出图方式,可以减少很多瓦片请求的压力。singleIamge出图相比tileImage出图时间可以降低1/3,而且压测时瓦片请求压力小,iServer负载压力小。
【iManager】iManager的许可中心重启后,绑定的机器名变了导致许可不可用该如何处理?
【解决办法】这是由于重启许可中心的容器组后,容器组在通过k8s的调度机制进行了自动调度,被调度到了其他的k8s节点上,导致许可中心绑定的机器发生了变化。需要避免这种问题就需要将许可中心指定回原来许可绑定的机器上,可以通过iManager的界面进行操作,在服务列表中,找到许可中心服务,通过【指定主机】按钮进行指定即可。
【iManager】如何将iManager的许可中心的许可服务提供给其他的SuperMap产品使用?
【解决办法】iManager的许可中心是可以提供给其他的SuperMap产品使用的,可以按照以下步骤操作:
1、在k8s的管理页面上(也可以通过命令操作),在iManager的命名空间下(默认是supermap),找到service,搜索“bslicense-server”服务
2、找到了bslicense-server的service后,进行编辑,将服务类型type修改为NodePort,点击保存,暴露出来的端口即为许可服务的端口,就可以给其他的SuperMap产品使用了
【iManager】针对NFS的漏洞CVE-1999-0554,目标注记showmount -e信息泄露该如何处理?
【解决办法】可以通过linux的hosts.allow和hosts.deny配合使用规避这个漏洞,
1、在hosts.allow中加入mountd:192.168.1.2,允许192.168.1.2使用nfs服务,如果是网段可以为mountd:192.168.1.,则允许192.168.1.*网段使用nfs服务
2、在hosts.deny中加入mountd:all,禁止所有的ip访问nfs服务
3、当hosts.allow和hosts.deny冲突时,是以hosts.allow为准
4、修改后不需要重启机器即可生效
【iManager】如何对docker的日志大小进行限制?
【解决办法】在/etc/daemon.json中编辑添加"log-driver": “json-file”,log-opts": {“max-size”: “50m”,“max-file”:“5”},max-size为单个日志的最大大小,max-file为最多保留的日志文件数量。修改后执行systemctl daemon-reload和systemctl restart docker即可。
【iManager】启动经典版iManager的时候,consul容器组一直重启,查看日志报No private IPv4 address found
【解决办法】这个问题一般出现在修改过docker的默认网段后出现的,可以按照以下步骤操作:
1、找到docker-conpose.yml文件,找到consul的配置
2、在command这行中加入两个参数,“-bind 0.0.0.0”, “-advertise=10.252.132.175”,10.252.132.175为iManager宿主机IP
3、增加network_mode: "host"配置,将consul的网络模式修改为host模式
4、还是在docker-conpose.yml中将iManager服务的环境变量中,增加- CONSUL_HOST=10.252.132.175配置,10.252.132.175为iManager宿主机的IP
5、重启iManager
【iServer】在 Linux 操作系统上安装 SuperMap License Center 许可驱动程序时,有时会出现:“hasp_update failed with status 65”错误信息,如何解决?
【解决办法】该错误提示可以忽略,当您重复安装许可驱动时,会出现该错误提示信息,表示当前计算机已导入过90天的试用许可,试用期内不影响许可的正常使用。如果已经过了90天试用期,请联系销售人员申请继续试用或正式购买(可通过在线商店购买短期许可)。
【iPortal】在 iPortal 中指定了 iServer 服务器作为托管服务器发布服务,当 iServer 服务器升级或产品包替换后,iPortal 无法正常发布服务,应该如何解决?
【解决办法】需要在 iPortal 编辑服务器页面,根据 iServer 服务器现状编辑托管服务器节点信息并保存,若 iServer 服务器节点信息无变更,也需要在服务器编辑页面,重新保存服务器信息,确保可以正常发布服务。
【iServer】iServer 启动报错 [SQLITE_BUSY] The database file is locked (database is locked),怎么解决?
【问题原因】当iServer 尚未完全关闭时又重新启动就会出现 SQLite 库被锁定的现象,这是由于iServer守护进程仍有驻。
【解决办法】Linux环境:先使用 ps -ef | grep iserver 命令查看iServer 进程,再 kill 掉该进程后重启。 Windows环境:任务管理器中先结束掉 iServer 的相关进程,再重启。
【iPortal】在 iPortal 用户数量很大的情况下,例如:2万用户,启动 iPortal 服务会比较慢,加载用户管理页面也会比较慢,如何解决?
【问题原因】iPortal 在启动服务时,默认将所有用户信息缓存到内存,并从内存查询用户信息。如果用户数量比较大,建议用户信息不缓存到内存,实时从数据库查询,因为缓存所有用户信息需要大量的 SQL 查询,性能慢,只在具体查询时查询相关的数据即可。
【解决办法】修改【SuperMap iPortal_HOME】\webapps\iportal\WEB-INF\iserver-system.xml 配置文件解决,具体修改节点 --> 节点 --> 节点里边增加节点,用于设置是否将所有用户信息缓存到内存。默认值为 true,表示缓存所有用户信息到内存,具体配置如下:
<management>
...
<security>
<SecuritySetting>
<cacheInfoToMemory>false</cacheInfoToMemory>
...
【iServer】对数据服务进行查询的时候,如何能够获取到字段的别名?
【解决办法】在请求的时候,在对fields资源请求后面加上returnAll=true参数就可以返回字段别名,比如:可以参考下面这样写:http://localhost:8090/iserver/services/data/rest/data/datasources/BM/datasets/New_Point/fields.rjson?returnAll=true
【iServer】ProximityAnalystMinDistancePostParameter返回的是什么?属性还是对象?如果是对象,有几个对象?
【解决办法】ProximityAnalystMinDistancePostParameter接口的话是只返回一个属性信息,为最短路径的距离信息,并不作为一个对象存在。属性信息中,有三条,分别是参考对象ID,被参考对象ID,距离Distance。但是有特殊情况,如果最近距离有多个对象符合要求,这个数组中会存储多份数据,对象数量等于存储的数组中的数据数量。
【iPortal】iPortal如何设置异地登录检测?
【解决办法】在 %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF 目录下的 iserver-system.xml 文件中的 节点下,增加异地登录检测的相关配置(粗体部分)。详情请参见:iServer 配置文件说明。 具体示例如下所示:
...
<properties>
<!-- iServer检查(1,数据库型 工作空间是否改变;2,数据库型数据源是否断开)的时间间隔,单位为秒,<=0时表示从不检查。-->
<realspaceSecurityEnabled>true</realspaceSecurityEnabled>
<deniedFiles/>
<outputPath>./output</outputPath>
<envCheckEnabled>true</envCheckEnabled>
<checkDatasourceConnectionInterval>30</checkDatasourceConnectionInterval>
<outputSite>http://{ip}:{port}/{contextPath}/output/</outputSite>
<restartWhenCrash>true</restartWhenCrash>
<realspaceCacheAccessKey>-37 80 99 -61 -77 8 50 44 -71 90 -24 -17 -115 80 -56 -17</realspaceCacheAccessKey>
<checkLoggedInAnotherPlace>true</checkLoggedInAnotherPlace>
<loggedInAnotherPlaceProcessingStrategy>Notifying</loggedInAnotherPlaceProcessingStrategy>
</properties>
...
其中:节点为是否开启异地登录,true 表示开启异地登录。 节点为异地登录处理策略,checkLoggedInAnotherPlace 为 true,此配置才生效。可选值包括:Notifying、LatestLoggedInFirst。Notifying,通知模式,代表同一账号可同时登录到多台主机中,且在登录时会通知当前检测到该账号的异地登录情况;LatestLoggedInFirst,最新登录优先,代表同一账号同一时间只能登录到一台主机中,登录时也会通知当前检测到的异地登录情况。与通知模式不同之处在于,上一次在其他主机登录的账号会被自动注销。若开启了异地登录,即配置 checkLoggedInAnotherPlace 为 true,但未配置异地登录处理策略,默认会使用 Notifying 模式。 具体设置如图:贴图
【iPortal】iPortal如何设置验证码登录?
【解决办法】可以在 %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF 目录下的 iportal.xml 文件中的 节点下,开启登录验证码功能并进行有关配置。详情请参见:iPortal 配置文件说明。 示例如下:
...
<loginSetting>
<captchaConfig><!-- 验证码配置 -->
<enable>false</enable><!-- 是否启用验证码 -->
<length>4</length><!-- 验证码长度 -->
<expire>120</expire><!-- 验证码过期时间(单位:秒) -->
</captchaConfig>
</loginSetting>
...
其中,为登录验证码配置节点,具体配置项如下: :是否开启登录验证码功能。默认值:false,未开启登录验证码 :验证码位数长度,支持设置为 4-6 位。默认值:4 :验证码过期时间,单位:s。默认值:120
【iServer】iServer的数据服务的features资源中,可以查看每一个feature的内容,每一个feature的命名都是“数字-数字-数字”的格式(如:http://supermapiserver:8090/iserver/services/data-world/rest/data/feature/0-2-7),第三个数字的位置可以看出是序号,请问前两个位置的数字分别代表什么?
【解决办法】 feature 的 URI,直接在最后把数据源、数据集、要素的索引用“-”连接,快速地确定一个要素。在URI :/feature/{datasourceIndex}-{datasetIndex}-{featureIndex}[.] 中,{datasourceIndex}表示数据源索引,{datasetIndex}表示数据集索引,{featureIndex}表示要素索引。例如:http://supermapiserver:8090/iserver/services/data-world/rest/data/feature/0-2-7,就表示索引为0的数据源中,索引为2的数据集下,索引为7的要素。
【iServer】iServer启动端口设置为8090,但是实际启动时启动端口为8080,如何解决?
【问题原因】本地部署了Tomcat,启动iServer时被启动的Tomcat并不是iServer包自带的Tomcat而是启动了本地部署的Tomcat,所以启动端口为8080。
【解决办法】有以下两种办法可以解决:
1.删除系统环境变量中 catalina_home, catalina_base,以及path中的Tomcat环境变量(必须要删完) 2.更改iServer中catalina.bat 文件,在setlocal前 指定iServer ,更改shutdown.bat,同样在setlocal前 指定iServer。 指定代码参考如下 :
set CATALINA_BASE=E:\supermap\iserver\supermap-iserver-10.1.2a-win64-deploy
set CATALINA_HOME=E:\supermap\iserver\supermap-iserver-10.1.2a-win64-deploy
set JRE_HOME=E:\supermap\iserver\supermap-iserver-10.1.2a-win64-deploy\support\jre
【iServer】iServer通过rest map服务通过queryResult接口做空间查询,对于输入的对象和服务默认坐标系不一致时该如何传参查询?
【解决方法】由于输入的对象坐标系不一致,导致无法正常进行查询,所以需要利用proj4或者前端方法将对象坐标系转换为与服务坐标系一致后再传入参数做查询才可以。
可参考如下示例:
//服务端数据坐标系为3857, 因此将查询数据转为与服务端对应坐标系:
var geometry = L.supermap.Util.transform(polygon, L.CRS.EPSG4326, L.CRS.EPSG3857);
【iServer】在使用Web许可中心过程中提示:“Web许可中心连接失败,请检查网络连接是否正常!”,请问该如何解决?
【问题原因】首先要确保Web许可中心的端口9183(HTTP/WebSocket)没有被占用,并未被当前机器防火墙拦截。
【解决方法】可使用如下命令查看该端口是否被占用:netstat -ano |findstr “9183”,其次浏览器打开http://localhost:9183,注册Web许可中心的管理员账号,完成登录,即可正常使用。
【iManager】部署经典版iManager的时候,执行startup.sh后,会报错不能为xxx创建容器,继而导致启动不成功。
【解决办法】根据报错信息,从正常的经典版iManager环境中导出对应的镜像,在安装环境中重新导入镜像,再重新执行startup.sh指令即可成功启动。报错信息如图:贴图
【iManager】云套件中是否包含服务访问统计功能?
【解决办法】在iManager for K8S版中部署的云套件站点有服务访问统计功能,单独部署的云套件不包含此功能。因为云原生中的服务访问统计功能依赖于elasticsearch和kibana,在单独部署的云套件环境中并没有这两项服务。
【iManager】云套件开启了匿名用户可访问,但实际匿名访问时还是需要登录账户?
【解决办法】将gate-way副本设置成1,然后重建容器,并将keycloak & keycloak-postgresql 副本设置成1,然后重建容器即可恢复。
【iServer】为什么使用iServer获取到的features属性表的字段名全部是大写?
【问题原因】iServer数据服务字段名默认是转大写的,所以出现了这种情况
【解决办法】编辑iserver-services.xml的标签,将false改为true即可禁止大写转换。
【iManager for k8s】查看k8s节点状态显示其中一个节点为NotReady ,查看节点描述,其中一项报错PLEG is not healthy: pleg was last seen active 13m53.394033784s ago; threshold is 3m0s
【解决办法】
1.首先尝试利用kubectl drain <节点名称> --force --ignore-daemonsets,驱逐该节点所在的所有pod
2.如果无法驱逐,尝试执行systemctl restart kubelet 重启改节点的kubelet 服务
3.如果依然无法重启kubelet服务并且情况不紧急的情况下,可优先再尝试利用reboot -n -f 重启该节点,看是否恢复,如果依然未恢复参考第四步
4.如果依然无法重启kubelet服务并且情况比较紧急的情况下,同时需要快速恢复情况下,只能先抛弃该节点执行kubectl delete node <节点名称>,等待该节点下所有pod分配到另外节点进行恢复(注意要确认bs-server的pod是否所在改节点上,如果在,需要给客户说明许可是绑定主节上的,如果抛弃该节点后,许可需重新配置),后期重新重启改节点机器,在重新加入k8s集群
【iManager for k8s】在GIS云套件版本升级后如果原有令牌(Token)失效,或无法访问GIS云套件界面,如何解决?
【解决方法】执行kubeadm token create重新生成token
【iManager for k8s】k8s主节点内存资源紧张,想让pod不在主节点运行有办法吗?
【解决方法】给主节点设置不可调度,执行 kubectl taint node <主节点名称> node-role.kubernetes.io/master=“”:NoSchedule
【iManager】GIS环境管理里面有GIS环境,但是在管理员概述页 “GIS环境统计” 总是显示 “暂无创建好的GIS环境”
【解决办法】检查下您配置的数据库,如果是MySQL,请修改my.cnf文件,在sql_mode的属性设置中,去掉 “ONLY_FULL_GROUP_BY” 参考以下修改:
[mysqld]
sqlmode = 'STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
【iClient】iClient for leaflet 添加高效率点图层报错caught TypeError: this._renderer.drawGraphics is not a function
【解决办法】需给L.map添加属性perferCanvas为true
【iPortal】iPortal数据上图打印不可用显示"打印服务不可用请联系管理员"
【解决方案】管理界面支撑服务里面配置“web打印配置”再使用打印功能
【iPortal】iPortal怎样获取当前登录用户的信息
【解决方案】http://supermapiportal:8190/iportal/web/config/userprofile.rjson,该接口会返回当前登录的用户信息.
【iPortal】对/iportal/web/mycontent/account.json 接口做get请求提示没有权限怎么回事
【解决方案】该接口需要登录后的用户才有权限进行get请求,先登录后请求
【iPortal】iPortal注册服务的时候不想注册整个场景想注册单个图层怎么操作?
【解决方案】注册的时候服务类型选择其他类型进行注册而不是选择rest services
【iPortal】怎样替换iPortal登录页面的logo
【解决方法】去web-ui的jar包替换如下svg图片,注意同名替换.http://{ip}:8190/iportal/web-ui/images/home-page-img/iportal-logo.svg
【iServer】iServer发布服务远程浏览时,可以浏览其所在系统的所有目录,存在安全隐患,如何解决呢?
【解决办法】 在SuperMap iServer 安装目录/webapps/iserver/WEB-INF 目录 iserver-system.xml 文件中,在节点下增加下面节点,这样就只会显示该目录下的i资源
<fileManagerWorkDir>D:\ftp</fileManagerWorkDir>
【iPortal】iPortal所在机器做了外网映射,外网首页可正常访问,但是访问代理服务,浏览器页面显示无法连接?
【解决办法】做网络映射时,只开放了8190端口,iPortal代理服务默认使用的8195端口,外网也是需要开放才能正常访问
【iPortal】iPortal里面批量注册的iServer服务,如何修改默认的服务提供者信息呢?
【解决办法】进入iPorta安装目录/webapps/iportal/WEB-INF/lib下,找到iportal-all-**.jar -》 config ->csw -> smmd2007template.xml文件,smmd:mdContact节点 去修改对应的值 然后保存 重启iPortal即可
【iClient】使用iClient for Openlayers开发的程序在移动端运行时,如何禁止双指旋转地图?
【解决方法】默认会添加PinchRotate这个interaction,移除它即可,示例如下:
const pinchRotateInteraction = map
.getInteractions()
.getArray()
.find((interaction) => {
return interaction instanceof PinchRotate
})
map.removeInteraction(pinchRotateInteraction )
【iServer】iServer执行shutdown脚本,iServer仍然还是启动着的,且日志中也没有关闭iServer信息
【问题原因】环境变量中配置有catalina_home;
【解决办法】
方法一:直接删除环境中变量中的catalina_home;
方法二:将shutdown脚本的“if not “%CATALINA_HOME%” == “” goto gotHome”
【iServer】安装许可中心后,通过IP:1947访问许可中心页面报错403
【问题原因】许可中心默认是本机访问;
【解决办法】将Windows许可中心开启远程,C:\Program Files (x86)\Common Files\Aladdin Shared\HASP下找到hasplm.ini配置文件,打开文件将name修改为对应的Linux的主机名,然后将该文件拷贝到/etc/hasplm下
【iManager】执行启动脚本报错“No reSoures found in supernap namespace.”
【问题原因】iManager重复安装,且之前安装失败了
【解决办法】执行./shutdown.sh -v,完全卸载iManager,然后再执行startup.sh
【iClient】动态标绘右键事件触发不了
【解决办法】标绘处于选中状态,标绘的右键事件就触发不了,需要取消选中。
【iServer】docker iserver发布动态标绘服务,参看标绘服务
【问题原因】/etc/icloud/SuperMapiServer/webapps/iserver/output是软连接导致
【解决办法】删除容器里面/etc/icloud/SuperMapiServer/webapps/iserver/output 这个软链接,然后创建output文件夹,然后再重启iServer容器
【iServer】在iserver中申请用户令牌,如多次申请,同一用户是否就有多个令牌?还是说用户当前能用的令牌只有一个,申请一个上一个就失效?
【问题答案】iServer中同一账户可以申请多个 token,并且token只要在有效期内,可以同时使用
【iManager】拉取镜像的时候报http: server gave HTTP response to HTTPS client错误,无法正常拉取镜像?
【解决方案】需要在/etc/daemon.json中添加insecure参数,将该镜像仓库的地址添加到数组中。“insecure-registry”:[“192.168.61.238”]
【iManager】部署iManager或者云套件的时候,要求配置容忍和亲和该如何处理?
【解决方案】这种情况目前建议部署云套件,需要修改云套件模板yaml文件,位置在云套件安装的templates目录,将所有的workload(Job,Deployment,StatefulSet,DaemonSet)的yaml都加入容忍和亲和性配置,另外在该目录下还有个_customer.tpl里面还有pg-pool和keycloak-postgresql的workload也一并修改。修改完成后进行部署即可。
【iManager】云套件发布服务实例的服务地址不见了该如何处理?
【解决方案】可以按照以下步骤进行操作:
1、找到发布该服务实例的服务节点,重新部署该服务节点,待服务节点重启成功
2、上一步未解决的话,可以将iserver-gateway进行重新部署,带其重启成功
3、如何前两步都没有成功解决问题,那么就要找到该服务节点,查看日志,根据日志抛出的内容进行针对解决
【iManager】iManager创建的站点都不见了,但是站点还是能访问是怎么回事?
【解决方案】该问题主要是由于imanager-mysql异常了导致站点信息没有读取到,只需要将imanager-mysql的pod重新部署即可。
【iManager】云套件发布的服务过多,该如何规划才合理?
【解决方案】
1、按照服务类型划分,将瓦片服务放在瓦片地图节点,数据服务放在数据服务节点,以此类推
2、按照使用习惯划分,将常用的服务独立部署在节点上,尽量少放其他服务实例。不常用的服务实例可以放在一起,节点上可以多放一些服务
3、总结来说,不要将所有的服务都集中到一个节点上,尽量将节点进行分散管理,避免服务实例在不同节点交叉分配,这样易于管理。
【iServer】如何查看内置Spark版本?
【解决方案】查看iServer\support\spark\RELEASE文件
【iServer】Linux iServer默认读取组件路径如何查看?
【解决方案】反编译工具打开iServer\webapps\iserver\WEB-INF\lib\com.supermap.data-版本号.jar(如:com.supermap.data-11.0.1-21420-98023.jar),找到com.supermap.data.LibraryBinPath.class,其中 String b参数的值,即为默认组件路径
【iServer】将iServer 的服务列表链接嵌入到iFrame中,为什么访问时被拒绝并且报错:‘in a frame because it set ‘X-Frame-Options’ to ‘sameorigin’?
【问题原因】iServer默认浏览器只有当架设iFrame的网站与发出X-Frame-Options的网站相同,才能显示发出X-Frame-Options网页的内容。
【解决办法】
方案一:整个工程文件放到iServer产品目录下\webapps下,保证工程和iServer在同一个网站,如图一。 方案二:在iServer产品目录下\webapps\iserver\WEB-INF\web.xml文件中把para-value改成ALLOW-FROM(默认是SAMEORIGIN),然后再重启iServer即可。需要注意的是,这个方案会导致系统存在安全问题,因为这个操作相当于把整个iServer都设置为开放了,如图二。具体可以参考技术博客: https://blog.csdn.net/zhangyang_2015/article/details/96482610
【iServer】点图层在桌面设置好风格之后,使用iServer发布地图服务,发现地图边缘的点被截断是怎么回事?
【问题原因】由于桌面计算的地图范围是点集的最大外接矩形,点的图标大小并不会计算在内。
【解决办法】在桌面端打开点数据集,开启编辑状态在左上右下添加两个点,重新计算数据集范围,删除添加的两个点,制作样式风格后发布就可以解决了。
【iServer】更新数据集后,iServer中发布的地图预览时为什么看不到更新的内容?
【问题原因】可能是因为之前浏览过该地图同一个比例尺和区域
【解决办法】
1.删除iServer 安装目录下\webapps\iserver\output目录下生成的缓存文件;
2.找到地图服务管理界面-缓存设置,取消勾选”是否启用地图瓦片缓存“;
3.清除浏览器的cookies缓存;
4.F12打开控制台开启”禁用浏览器缓存“设置
【iServer】如何设置iServer开机自启动?
【解决办法】 Linux系统下:主要有两种方式:
1.是将startup.sh写进Linux开机自启动的脚本里面,参考:https://www.linuxprobe.com/linux-open-sh.html;
2.将iServer当成tomcat来作为服务开机自启动,参考:https://blog.csdn.net/gybshen/article/details/79564613 Windows系统下:参考iserver帮助文档中的“以 Windows 系统服务的方式启动 iServer/iPortal/iEdge”:http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/Appendix/WindowsService.htm
【iServer】为什么在 Windows Server 系统中启动 iServer 崩溃,报错 appcrash?
【解决方法】
1.将iServer目录下\support\jre\bin 中的 java.exe 和 javaw.exe 文件的兼容性改成 Windows 8,然后重启iServer
2.不使用iServer自带的jre,单独下载版本稍微高一些的
【iServer】Windows Server 2008启动iServer报错:openjdk platform binary 已停止工作,如何解决?
【问题原因】在%SuperMap iServer_HOME%/support\jre\bin目录下执行命令: java -version,同样会报错openjdk platform binary 已停止工作,调整support\jre\bin中java.exe和javaw.exe的兼容性为window server2008仍然报错openjdk platform binary 已停止工作。iServer自带的JRE无法正常启动,客户本地部署了JRE,且能正常使用。
【解决办法】解决步骤如下:
1.先将%SuperMap iServer_HOME%/support 目录下的 jre 目录重命名或删除,因为 SuperMap iServer java 6R(2012)(版本号:6.1.0)之后(不含)的包中,如果不作此处理,将继续使用自带的 JRE。
2.将本地部署的能正常使用的JRE目录复制到%SuperMap iServer_HOME%/support 目录下,并重命名为jre,然后重新启动iServer即可。
注意:
1.保证使用的 JRE/JDK与 iServer 位数的一致,即使用32位的 iServer 时,请使用32位的 JRE/JDK(注:iServer 从 10i 开始不再提供 32 位的 Windows 产品包);使用64 位的 iServer 时,请使用64 位的 JRE/JDK。
2.使用的 JRE/JDK 版本要满足 iServer 的软件要求 (可以在帮助文档中搜索"软件要求 "查看),例如1101版本iserver要求:JRE 1.8 及其以上版本。
【iPortal】iPortal地图大屏场景怎样通过低代码编辑器设置相机定位
【解决办法】注意viewer对象在场景变量下
$WebScene_0.viewer.scene.camera.setView({
destination: new Cesium.Cartesian3.fromDegrees(116.4566, 39.9149, 5323.445971240632),
orientation: {
heading: 3.1612,
pitch: -1.5188,
roll: 6.283185307179563
}
});
【iPortal】linux环境下iPortal配置https时使用443端口报错权限不足
【问题原因】linux系统默认情况下1024以下的端口都需要root权限
【解决方法】
1.使用1024以上的端口
2.参考博客将root权限端口最大设置为443以下.https://my.oschina.net/lenglingx/blog/5603925 3. 先用非root用户启动es,后用root用户启动iPortal
【iPortal】iPortal三维地球中加载模型数据正常浏览,在地图大屏中加载该场景时模型数据无法加载.
【问题原因】旧的iPortal地图大屏和三维地球用的WebGL包不是一个.大屏的包版本稍低,高版本数据无法兼容
【解决方法】
1.手动替换地图大屏jar包中的WebGL包
2.更换新的iPortal版本,新版本两者使用的是同一个WebGL包
【iPortal】资源访问记录过大导致iPortal查询相关记录的时候很卡,怎么办
【解决方法】
1.升级到当前版本最新的iPortal并设置访问记录清理的定时清理任务(较老的版本没有该功能).并且手动删除iportal.db中proxyserviceaccessrecords表的部分记录.
2.升级到11i,11i存储时对该访问记录部分不重要信息进行了过滤,并且记录是存在es数据库中,相较而言性能较好.
【iPortal】非管理用户密码忘记后,怎么办?
【解决办法】联系管理员,管理员进入管理–安全–用户管理–用户列表,找到对应的用户进行修改密码即可
【iPortal】【11.0.1】用户忘记密码后,联系管理员修改后,如何强制让其重置密码?
【解决办法】管理员进入管理–安全–安全配置–密码安全配置,勾选上“密码被管理员重置后需重置密码”,点击保存即可
【iPortal】【11.0.1】iPortal如何防止因为用户长时间不修改密码而带来安全隐患?
【解决办法】管理员进入管理–安全–安全配置–密码安全配置,勾选上“超过密码有效期后需重置密码”,再设置密码有效期,需设置为正整数,填写后点击保存即可
【iPortal】iPortal注册http服务正常,注册该服务的https协议失败?
【解决办法】
1.确保iPortal所在服务器能正常访问该https协议服务;
2.第一步确认可连通后,注册服务,打开浏览器的开发者工具,查看network里面,请求报‘exception message is:java.security.cert.CertificateExpiredException: NotAfter:’表示iServer所使用的的https证书时间已过期,重新生成证书配置在iServer中
【iPortal】iPortal代理服务地址中会带’portalporxy’,如何去掉?
【解决办法】iPortal的解压目录/webapps/iportal/WEB-INF/iportal.xml 中,找到节点,可设置为空也可以设置为自定义字符串,保存,重启iPortal生效
【iServer】如何设置iServer资源回收重启间隔?
【解决办法】在系统环境变量中增加: SuperMapServerDaemonWaitToRestart,值为60000(单位为毫秒) 在Path中添加: %SuperMapServerDaemonWaitToRestart% 设置完毕后请再手动执行下shutdown.bat和startup.bat,以确保设置生效。
【iServer】第三方生成的mvt包如何可以在iserver上发布?能否为其生成sci文件?
【解决办法】我们的产品无法为第三方MVT瓦片生成sci,这个sci文件是使用iDesktop生成MVT瓦片是才会产生。在iServer中仅支持发布由iDesktop制作的UGCV5(MVT)瓦片,您已有的第三方瓦片可以尝试直接通过前端框架来进行加载。
【iServer】iServer发布Oracle工作空间提示“工作空间连接字符串错误”,在iDesktop中可以正常连接
【问题原因】如果确认参数没有问题的话可能是依赖缺失导致的
【解决方法】解决办法: 进入目录cd %ISERVER_HOME%/support/objectsjava/bin检查依赖ldd libSuEngineOracle.sdx lgrep not 如出现如下错误信息:libclntsh.so.10.1 not found 则确定是缺少libcIntsh.so.10.1依赖导致,从iServer运行正常的机器拷贝libcIntsh.so.10.1到Oracle客户端目录的lib内: /usr/lib/oracle/11.2/client64/lib重启iServer即可正常发布。
【iPortal】iPortal 不支持注册 localhost 和 127.0.0.1 的服务地址到门户中,那么在无法连网的情况下(单机模式),如何满足用户注册服务进行产品演示的需求呢?
【解决方法】 无网的情况下,在 Windows 平台中可以通过以下方式解决注册服务问题: 在 C:\Windows\System32\drivers\etc 目录下的 hosts 文件中加入一个映射,例如: 127.0.0.1 www.iportaldemo.com 注册携带以上域名的服务地址就可以了。
【iPortal】如果在发送请求时,扫描工具提醒有host header attack漏洞,即“检测到目标URL存在http host头攻击漏洞”,应该如何处理?
【解决方法】 在 iPortal 的【SuperMap iPortal_HOME】\webapps\iportal\WEB-INF目录下,修改web.xml配置文件解决,首先定位hostHeaderAttackFilter参数,然后修改 init-param 节点-> param-value 节点中的内容如下:
<filter>
<filter-name>hostHeaderAttackFilter</filter-name>
<filter-class>com.supermap.iportal.web.filters.HostHeaderAttackFilter</filter-class>
<init-param>
<param-name>allowedHosts</param-name>
<param-value>127.0.0.1:8190,192.168.17.198:8190</param-value> <!-- 设置http请求时允许的Host -->
</init-param>
</filter>
<filter-mapping><!-- 放在其他Filter前面 -->
<filter-name>hostHeaderAttackFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在节点中设置allowedHosts参数的值,即设置http请求时允许的host,例如,127.0.0.1:8190,192.168.17.198:8190。设置完成后,再重启iPortal服务即可。
【iPortal】如何理解和区分 iPortal 的普通用户角色(PORTAL_USER)和查看者角色(PORTAL_VIEWER)?
【解决方法】 iPortal 的普通用户角色(PORTAL_USER)和查看者角色(PORTAL_VIEWER)区别如下:
(1)iPortal 的普通用户角色 PORTAL_USER,关联该角色的用户即为 iPortal 的普通用户,拥有使用 iPortal 门户的权限,包括使用、创建和共享门户资源;
(2)iPortal 的查看者角色 PORTAL_VIEWER,关联该角色的用户具有登录 iPortal 门户,查看与其共享的资源的权限,无法自行创建资源和管理资源。
【iServer】使用按核许可配置时,在许可配置页面可以看到已经读到许可,但是点击“下一步”,会跳回配置许可页面,并一直循环,许可状态也显示已占用,这个是怎么回事?
【解决办法】 出现该情况,可以检查一下机器的逻辑核数是否大于了许可核数,查看机器逻辑核数方式如下:
Linux:通过命令:cat /proc/cpuinfo| grep “processor”| wc -l查询
Windows:
1、在任务栏上点击鼠标右键,在弹出的菜单中,选择【任务管理器】
2、在“任务管理器”窗口中,选择【性能】菜单
3、选择【CPU】菜单,然后可以看到内核个数和逻辑处理器个数等信息
【iServer】iServer在未登录时能看到“数据目录服务”,该怎么去除?
【解决方法】
1、找到iServer根目录\webapps\iserver\WEB-INF\server-host-model-*.jar\com\supermap\server\host\webapp\handlers.xml文件,然后将handler.xml中找到关于bigdataHandler开头的节点和节点,将其删除后保存;见贴图
2、找到iServer根目录\webapps\iserver\WEB-INF\lib\server-hosts-*.jar\templates\listService_iserver.ftl和listService_iserver_zh_CN.ftl,删除关于“数据目录服务”模块的内容,以listService_iserver_zh_CN.ftl为例,去掉以下代码:
<div class="subServerTitle"><a>数据目录服务</a></div>
<ul>
<#list resource.content as info>
<#if info.componentType?? && info.componentType == "com.supermap.services.components.impl.DataCatalogImpl">
<li class="subServiceList"><a href="${info.url}" title="${info.name}">${info.name}</a></li>
</#if>
</#list>
</ul>
注意:以上修改需要重启iServer并清除浏览器缓存。
【iServer】文件型工作空间PostGIS数据库型数据源(翰高数据库)发布服务数据类别为空是什么原因导致的?
【问题原因】出现这种情况一般都是由于PostGIS数据库型数据源连接有问题导致的
【解决方法】先检查当前iServer机器于PostGIS数据库所在机器直接是否能相互访问通;然后检查PostGIS数据库型数据源连接参数是否填写有问题,需要注意的是数据库型数据源的别名不能包含有特殊字符,否则也是会出现读取不到的情况。
【iServer】文件型工作空间、MySQL数据库型数据源发布的地图服务预览加载部分层级区域不显示该怎么解决?
【问题原因】出现上述情况是由于网络问题导致的瓦片请求调用无法正常返回;
【解决方法】
1、优化网络,提升请求速率;
2、启用地图瓦片缓存,本地生成地图瓦片缓存,然后前端就会调用缓存加载;
3、将地图切瓦片,然后将瓦片发布地图服务再加载。
【iManger for k8s】将supermap命名空间下部署中的keycloak误删了,有办法恢复吗?
【解决办法】可删除imanager-dashboard-api 对应pod后,会自动创建keycloak的deployment
【iManager for k8s】在k8s-dashboard界面删除一个pod但却一直无法生效,有什么办法可强制删除?
【解决办法】可执行命令kubectl delete pod <pod名称> -n<工作空间名称> --force --grace-period=0 进行强制删除
【iServer】使用用restapi中field操作向数据集插入字段报错
【解决方法】 fields 资源执行 POST 请求可以在空数据集中添加一个字段。注意:因为对非空数据集的字段操作是不安全的,所以仅支持在空数据集中进行字段添加
【iManager】重启服务器之后,k8s起不来,日志报错:“misconfiguration: kubelet cgroup driver: “systemd” is different from docker cgroup driver: "cgroupfs”
【问题原因】docker和kubelet的 cgroup driver不一致导致
【解决办法】修改docker 与 kubelet的 cgroup driver一致,编辑/etc/docker/daemon.json 指定docker 的cgroup driver类型:“exec-opts”: [“native.cgroupdriver=systemd”] ,然后重启docker
【iManager】重启服务器之后,iManager读不到许可
【解决办法】
场景一:bslicense-server容器所在节点变了,需要在deploymemts中修改bslicense-server编排,将其指定到之前所在的k8s node,“nodeName: 【k8s 节点名称】”;
场景二:bslicense-server容器所在节点没有改变,在pods中删除重建bslicense-server容器
【iServer】调用sql查询整个数据集iServer崩溃,查询单个数据正常
【问题原因】iServer的jvm不足
【解决办法】
方法一:调大iServer JVM配置;
方法二、前端使用fromIndex & toIndex 去分片查询,减缓单次查询的内存压力
【iManager】云套件在已经登录的情况下,访问设置了权限控制iPortal注册服务,页面报错401,然后返回到云套件的登录页面。
【问题原因】关闭了iPortal Session 共享
【解决办法】在deploymemts中修改iportal编排,将环境变量(env)中的“enable_memcached”设置为true
【iServer】东方通部署的iServer的war,删除服务报错
【问题原因】东方通默认是将delete、put请求给禁用了
【解决办法】将东方通的http通道里面的delete请求给取消禁用
【iServer】【10.2.1】发布数据服务时勾选了可编辑,非登录用户访问该数据服务的features资源,也能调用delete接口删除数据,怎么保证数据的安全?
【问题原因】 当前版本iServer的数据服务默认所有资源的操作,匿名用户可以访问和操作。
【解决办法】 给数据服务授权管理,给指定角色用户才可访问的权限。步骤如下:
1、管理员身份登录iServer,进入该数据服务管理页面。
2、勾选该数据服务,点击“批量授权”,勾选对应角色用户即可。 设置后,对该数据服务的访问及操作都需要授权用户登录,接口操作均需带上授权用户的token才可以。
【iManager for k8s】云套件无法正常进入,命令执行journalctl -b -a -r -l -p err,出现报错master kernel: Memory cgroup out of memory: Kill process 135166 (pgpool) score 1136 or sacrifice child相关报错,如何解决?
【问题原因】报错原因是 pgpool容器达到设置的内存限制被杀死,也就是对应的服务的内存分配不够, 【解决方案】适当调大相应服务资源规格,可pgpool资源规格
【iManager for k8s】云套件无法正常进入,命令执行journalctl -b -a -r -l -p err,出现报错watchdog: BUG: soft lockup - CPU#0 stuck for 22s
【问题原因】若干个进程(或者kernel thread)被锁死在了某个状态(一般在内核区域),很多情况下这个是由于内核锁的使用的问题,可通过修改watchdog进程超时时间解决
【解决步骤】echo 30 > /proc/sys/kernel/watchdog_thresh,然后重启机器
【iManager for k8s】10.2.1版本iManager for k8s 在1.20k8s上部署,概览界面只有cpu相关的使用率显示错误信息,显示为N/A,如何解决
【解决方案】
1.在 imanager 命名空间下修改 ConfigMap grafana-import-dashboards,将 machine_cpu_cores 替换为 kube_node_status_capacity{resource=‘cpu’}。一共有两处
2.在 imanager 存储管理页面对 grafana-database 进行解绑
3.清空 grafana-database 的挂载数据
4.在 imanager 存储管理页面重新对 grafana-database 进行绑定
【iManager for k8s】系统运行过程中出现系统没有响应,检查系统日志后发现错误“echo 0 > /proc/sys/kernel/hungtasktimeout_secs” disables this message.”,如何解决
【问题原因】这是因为在系统运行过程中负载飙升,文件系统脏数据缓存无法在指定时间内写入磁盘,导致系统挂起。这种情况一般在内存较大时出现
【解决方案】
1.编辑 /etc/sysctl.conf 文件。设置脏数据处理时间以及写入超时时间 # 脏数据到达系统百分比开始处理 vm.dirty_background_ratio=5 # 脏数据到达系统百分比时,不得不处理 vm.dirty_ratio=10 # 脏数据写入超时时间,默认 120s,0 表示不限制 kernel.hung_task_timeout_secs=0
2.强制重启。系统挂起情况下,重启机器可能失败,因此需要强制重启:reboot -n -f
【iManager for k8s】在Kubernetes环境下安装部署iManager时,执行“./startup.sh”命令如果出现报错:The connection to the server localhost:8080 was refused - did you specify the right host or port? Error: Kubernetes cluster unreachable,如何解决?
【解决方案】切换至root用户后,重新执行以下命令 sudo ./startup.sh
【iServer】【Linux】为什么在 Linux 系统中以普通用户身份运行 iServer,开启 iServer 多进程后,重启 iServer 时启动失败,并在控制台或日志中报如下错误:java.lang.OutOfMemoryError:unable to create new native thread?
【问题原因】这是由于Linux操作系统中对普通用户使用的资源进行了限制。例如最大允许使用内存,最大允许启用的进程或线程数等。
【解决方法】可以通过 ulimit -a 命令查看这些资源限制情况。在多进程模式下,每个 Worker 会启动约200个线程。当 iServer 中启动过多 Worker,总线程数接近或达到允许普通用户启用的线程数时,就会出现此问题。
【iServer】【10.2.1】iServer发布工作空间(数据源是postgis)为arcgis-rest地图服务,需要使用export资源导出地图瓦片,如何设置时间字段过滤条件?
【解决办法】 pg数据库里时间戳是秒级的,而js端时间获取时间戳是毫秒级的,且需注意pg里的是否带时区8小时。用to_timestamp函数将秒级的时间戳转换为时间即可过滤,完整示例: http://localhost:8090/iserver/services/map-pgis/arcgisrest/liuda@mvtTestDB/MapServer/export?bbox=94.072,34.444,98.530,37.158&layerDefs={“0”:“mytime>to_timestamp(1639738455)”}
【iServer】【10.2.1】iServer GP执行模型做叠加分析,叠加结果数据量小时就正常,叠加结果数据量大时就运行就崩溃,同样的模型+参数+环境在x桌面里执行正常,iServer崩溃是什么原因?
【问题原因】 因为iServer GP进程内存有参数限制默认1g,而x桌面没有进程内存限制。
【解决办法】 修改iServer-geoprocessing.xml配置的10240m,将其增大。 注:local模式iserver gp运行完模型后,进程的内存没有释放。
【iServer】发布正式许可iDesktop切出来的地图瓦片时,试用版iServer出图会不会添加水印?
【解决办法】不会。针对UGCV5瓦片服务,iServer出图时不会再去添加水印,所以发布正式许可生成的地图瓦片时,出图是不会有水印的。
【iServer】(Linux)iServer在发布服务时,远程浏览带中文的文件夹就不显示文件夹中的内容。
【解决办法】Linux系统缺少中文字符集导致,补充中文字符集并应用即可。
【iManager】经典版部署时,提示"ERROR 2003(HY000) : can’t connect to NySQL server on ‘mariadb’(113) ",容器间互ping提示"From 172.19.0.1 icmp_seq=17 Packet filtered "
【解决办法】互ping结果显示目标主机过滤了ping包,未做出响应,容器间无法正常通信,请关闭系统防火墙,然后重启docker即可恢复正常。
【iManager】镜像仓库与安装Manager所在设备不是同一个,iManager安装一直卡着1%,控制台提示“No resources found in supermap namespace.”,在iManager安装环境去拉包报错“http: server gave HTTP response to HTTPS client”
【解决办法】修改/etc/docker/daemon.json添加本地私有镜像仓库地址:“insecure-registry”:[“xxx.xxxxx.xx:5000”]
【iManager】云套件的web打印服务如何添加新的模板
【解决办法】
1、查看web打印服务的nfs挂载目录,参考图片。
2、进入web打印服务节点的nfs挂载目录,添加新模板。fonts是字体库目录,templates是模板目录,templates目录下webprinting-layouts是web打印模板目录,webprinting-symbols是web打印的符号目录;
3、重建web打印服务对应的容器组。
【iManager】iManager安装进度到了5x-7x%,然后就一直在这个返回内横跳,查看nfs共享目录,发现并没有数据,pv上也只有一个pv-bslicense-mysql
【解决办法】
情景一:nfs填写异常,将values.yaml 中nfs配置修改成正确的之后,重新执行启动脚本startup.sh;
情景二:当前设备连不上该nfs,nfs所在设备的防火墙打开了,没有开放nfs所需的端口,需要开通111或者2049端口。
【iServer】iServer页面报错“need more permission to do current action”
【解决办法】iServer 的session超时失效了,刷新页面重新登录即可
【iServer】iServer的几何查询返回和桌面返回的结果不一样
【问题原因】空间查使用的是空间索引去做的查询,桌面查询返回的结果的空间信息也是不正确的,该数据的空间索引出问题了。
【解决办法】在新建一个同坐标系数据源,通过追加列的方式将之前的数据导入的新建的数据集中
【iServer】客户转发福建省天地图到iServer中,rest地图接口无法预览,且在前端加载WMTS接口也没有图
【解决方案】将WMTS格式天地图转发为iServerWMTS服务,设置DPI为96,就可以使用rest地图接口预览地图和前端加载WMTS接口出图
【iServer】使用东方通部署iServer,iServer中删除服务和修改服务接口都不生效
【解决方案】东方通的http请求配置,默认禁用了 http的delete请求等,需要手动修改,不然isever服务管理中的delete请求等无法执行,检查东方通是否禁用相关的HTTP请求,如果禁用,取消勾选后重启东方通即可。
【iPortal】上传数据后发布功能为什么是灰的
【解决方法】需配置托管服务器和托管数据存储配置后才能正常发布服务
【iPortal】想要某些特定账户使用一段时间后无法使用怎样操作
【解决方法】在“管理”>“安全”>“用户管理”>“用户列表”进入用户列表页面,点击某个账号的用户名称,即可进入“修改用户信息”页面,找到“过期时间”修改项,根据需要设置该账户的过期时间,完成后点击“修改”按钮即可生效。过期后的账号将无法登录与使用。
【iPortal】如何开启登录验证码.
【解决方法】iPortal 门户管理员可以在 %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF 目录下的 iportal.xml 文件中的 节点下,开启登录验证码功能并进行有关配置。
【iPortal】服务代理后会自动在服务地址中"portalproxy"字符串,这个能改吗?
【解决方法】管理员通过 %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF 目录下的 iportal.xml 文件中的portalproxy,修改中间字符串为自己想要的字符串即可
【iPortal】底图设置支持那些坐标系的数据
【解决方法】目前支持添加投影为 EPSG Code:4326、EPSG Code:3857 和 EPSG Code:4490 的 REST 服务作为默认底图
【iServer】发布的地图服务动态浏览地图时生成的缓存文件目录可以修改吗?
【解决方法】
1.打开系统配置文件 iserver-system.xml(位于【SuperMap iServer 安装目录】\webapps\iserver\WEB-INF 下);
2.修改下的子节点的值, 例如默认的缓存目录为: …/…/webapps/{contextPath}/output/ 修改为 D:\output_test: D:\output_test</outputPath>
3.自定义缓存目录后,无需重启服务,iServer 会将之后生成的缓存图片自动输出到新定义的目录下,缓存文件夹的名称不会改变(即“cache”文件夹不变)
【iServer】报400的错“java.lang.IllegalArgumentException: 在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义”
【问题原因】前端提交的一些特殊字符在高版本的tomcat 中不能识别
【解决方法】修改server.xml 配置relaxedQueryChars,开放特殊字符。参考技术博客:https://blog.csdn.net/imning1/article/details/108402905
【iServer】在iDesktop中使用的是导入的TrueType字体作为点符号制作保存地图,在iServer发布服务之后符号风格为什么不一致了呢?
【解决方法】把对应字体的ttf文件放到在iServer的support/fonts目录下
【iServer】如何批量删除iServer自带的所有示例服务?
【解决方法】删除 iServer的\webapps\iserver\WEB-INF目录下的iserver-service-sample.xml文件即可
【iServer】发布的地图服务为什么有些可以以mapboxgl预览,有些却不行呢?
【问题原因】当资源是 map 时,且地图的投影坐标系为3857、4326、4490、4214、4610 时,mapboxgl 表述有效。mapboxgl 表述是针对 JavaScript 客户端的应用,实现了简单的地图功能,如缩放、量算等。mapboxgl 表述可以通过 URI.mbgl 形式获得。
tal_HOME%/webapps/iportal/WEB-INF 目录下的 iportal.xml 文件中的portalproxy,修改中间字符串为自己想要的字符串即可
【iPortal】底图设置支持那些坐标系的数据
【解决方法】目前支持添加投影为 EPSG Code:4326、EPSG Code:3857 和 EPSG Code:4490 的 REST 服务作为默认底图
【iServer】发布的地图服务动态浏览地图时生成的缓存文件目录可以修改吗?
【解决方法】
1.打开系统配置文件 iserver-system.xml(位于【SuperMap iServer 安装目录】\webapps\iserver\WEB-INF 下);
2.修改下的子节点的值, 例如默认的缓存目录为: …/…/webapps/{contextPath}/output/ 修改为 D:\output_test: D:\output_test</outputPath>
3.自定义缓存目录后,无需重启服务,iServer 会将之后生成的缓存图片自动输出到新定义的目录下,缓存文件夹的名称不会改变(即“cache”文件夹不变)
【iServer】报400的错“java.lang.IllegalArgumentException: 在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义”
【问题原因】前端提交的一些特殊字符在高版本的tomcat 中不能识别
【解决方法】修改server.xml 配置relaxedQueryChars,开放特殊字符。参考技术博客:https://blog.csdn.net/imning1/article/details/108402905
【iServer】在iDesktop中使用的是导入的TrueType字体作为点符号制作保存地图,在iServer发布服务之后符号风格为什么不一致了呢?
【解决方法】把对应字体的ttf文件放到在iServer的support/fonts目录下
【iServer】如何批量删除iServer自带的所有示例服务?
【解决方法】删除 iServer的\webapps\iserver\WEB-INF目录下的iserver-service-sample.xml文件即可
【iServer】发布的地图服务为什么有些可以以mapboxgl预览,有些却不行呢?
【问题原因】当资源是 map 时,且地图的投影坐标系为3857、4326、4490、4214、4610 时,mapboxgl 表述有效。mapboxgl 表述是针对 JavaScript 客户端的应用,实现了简单的地图功能,如缩放、量算等。mapboxgl 表述可以通过 URI.mbgl 形式获得。