参考产品压缩包中【Readme.pdf】文档
东方通TongWeb:
https://blog.csdn.net/supermapsupport/article/details/52209154
金蝶Apusic:
https://blog.csdn.net/supermapsupport/article/details/70332524
参考iServer帮助文档中的在 TongWeb 上部署war包
1、在【TongWeb 根目录】\bin\startserver.bat文件中设置如下内容:
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true
2、修改 【TongWeb 安装路径】/conf 文件夹下的配置文件(tongweb.properties)。在配置文件中加入如下内容:
tongweb.util.scan.StandardJarScanFilter.jarsToSkip=jersey-.jar,hadoop-.jar
3.把解压后的war包放入如下目录:【TongWeb 根目录】\autodeploy,对于iserver#help.war 和 iserver#iClient.war,需要将它们重命名使得名称中不包含特殊符号“#”后再部署,如将iserver#help.war 改为 help.war。启动 TongWeb,就可以将 war 包发布为 Web 服务。
4、启动tongweb,重新部署iServer.war包;还是有报错。(war包问题)
解决方法:将UGO_HOME的路径更改为supermap-iserver-10.1.0-arm64-deploy/support/objectsjava/
注意:10.1.2及以上版本,iServer war包已经包含ARM组件Java。
5、更换tongweb版本报错
解决方法:将tongweb版本更换成7.0.4.1后部署iServer.war包能部署成功
6、访问有报错(Sorry,Page Not Found)
解决方法:在新安装的tongweb7.0.4.1目录/conf/tongweb.properties文件中加上jersey-.jar,hadoop-.jar再重新启动tongweb后正常。
龙芯CPU在部署iServer war包时,需要提前在中创中间件配置文件中增加一些参数,否则无法部署成功。
解决方法:
1、 获取包含系统依赖库的 Loongson_noarch.rpm 包或loongson_all.deb 包 (涉密环境只能通过安装依赖方式,无法通过手动复制so方式)
百度网盘链接:https://pan.baidu.com/s/1_7757g5E62jG4nFaMLOZbw 提取码:6655
包含以下内容:
● sqlite-jdbc 动态库
● SuperMap iObjects Java for Linux bin
● SuperMap iObjects Java for Linux 所需三方库
● JRE 1.8
● 一些字体
安装后的目录结构如下:
/opt/SuperMap/iserver_support/objectsjava/bin(SuperMap iObjects Java bin)
/opt/SuperMap/iserver_support/objectsjava/systemlibs (SuperMap iObjects Java 所需三方库)
/opt/SuperMap/iserver_support/sqlite-jdbc (sqlite-jdbc 动态库)
/opt/SuperMap/iserver_support/jre (JRE)
/opt/SuperMap/iserver_support/fonts(字体)
2.检查目录/opt/SuperMap/iserver_support 下是否存在其他文件。如果有,请先清理并卸载旧版,命令如下
rpm -evh iserver_support 或 dpkg -r iserver-support
安装 rpm 包或 dem 包,命令如下
rpm -ivh supermap_iserver_support_10.1.3_${build_version}_linux_Loongson_noarch.rpm
或
dpkg –i supermap_iserver_support_10.1.3_${build_version}_linux_loongson_all.deb
请注意,如果系统有配置管理工具,优先使用配置管理工具进行安装。
安装结束后,检查是否还缺少 rpm 包或 deb 包运行所需的依赖库。到目录
/opt/SuperMap/iserver_support/objectsjava/bin/下执行如下命令:
export LD_LIBRARY_PATH=/opt/SuperMap/iserver_support/objectsjava/bin:/opt/SuperMap/iserver_support/jre/lib/mips64
ldd -r libSuToolkit.so
ldd -r libWrapjCore.so | grep not
ldd libWrapjMapping.so | grep not
如果检测到没有缺库,请清除/opt/SuperMap/iserver_support/objectsjava/systemlibs 目录下的内容;
如果检测到有缺库,请查看/opt/SuperMap/iserver_support/objectsjava/systemlibs 目录下是否包含缺少的库。
如果包含,请手动删除 systemlibs 目录中其他多余的库,或通过执行如下命令进行删除:
例如:缺少 libssl.so、libcrypto.so.10 库,执行如下命令,删除 libssl.so、libcrypto.so.10 库之外的其他多余的库:
ls | grep -v "ssl" | grep -v "cryp" | xargs rm
3.在中创安装目录的as/config下的文件asenv.conf 中添加如下内容:
AS_JAVA="/opt/SuperMap/iserver_support/jre"
export SUPERMAP_ROOT="/opt/SuperMap/iserver_support"
export UGO_HOME="`$`{SUPERMAP_ROOT}/objectsjava"
export LD_LIBRARY_PATH="`$`{UGO_HOME}/bin:`$`{AS_JAVA}/lib/mips64/:`$` {LD_LIBRARY_PATH}: $ {UGO_HO
ME}/systemlibs"
export LANG=zh_CN.UTF-8
echo UGO_HOME=`$`{UGO_HOME}
echo SUPERMAP_ROOT=`$`{SUPERMAP_ROOT}
echo LD_LIBRARY_PATH=`$`{LD_LIBRARY_PATH}
4.启动并配置中创中间件
启动中间件。即在安装目录的as/bin下执行:
./startserv
5.开启中创中间件管理界面
在安装目录的as/bin下执行:
sh asadmin enable-secure-admin
6.进入管理界面(http://< ip>:8060),在【JVM设置】中配置jvm参数:
点击【添加jvm选项】,输入以下参数:
-Dorg.sqlite.lib.path=/opt/SuperMap/iserver_dependlibs_10.1.3/Bin
-Dorg.sqlite.lib.name=libsqlitejdbc.so
7.发布war包略,可参考《InforSuite AS V10 快速使用手册》
链接:https://pan.baidu.com/s/1OyCv48b8_ToDUf2ZJopXmQ 提取码:6655
8.重启中间件。
说明:如下地址是以出现问题的操作系统和版本为参考,如有依赖库不匹配,请您根据操作系统和当前软件版本下载正确的依赖库文件
百度网盘链接链接: https://pan.baidu.com/s/1toO0rMznL1fwUCgxAsE0gg 提取码: m24q
百度网盘链接:https://pan.baidu.com/s/1Rvvv4GhEej3YKdABaXzAhA 提取码:6655
注:涉密环境依赖库是安装包,deb或rpm格式
百度网盘链接:https://pan.baidu.com/s/1_7757g5E62jG4nFaMLOZbw 提取码:6655
问题描述:安装iServer时出现如下问题:
error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such xx
问题原因:系统依赖链接版本不匹配导致
问题现象:在【iServer根目录】\support\objectsjava\bin\目录下使用命令查看是否缺少相关依赖
ldd *.so | grep not
中标麒麟V7
银河麒麟V10
解决办法:银河麒麟操作系统V10中lib64目录下的libfontconfig.so.1.12.0重命名为libfontconfig.so.1.12.0.i,然后把从中标麒麟V7系统上相同文件夹下libfontconfig.so.1.11.1移动到银河麒麟V10系统中的lib64目录下,并重命名为libfontconfig.so.1.12.0,重启软件即可。
问题描述:在A服务器上的tongweb中部署iServer.war包,然后再在B服务器上调用A服务器上的iServer服务出现跨域问题(单独安装的iServer相互调用服务没有出现跨域问题)
解决方法:将单独安装的iServer目录下的webapps\iserver\WEB-INF文件夹中的web.xml文件复制到tongweb的iServer的web-inf中,然后将web.xml文件中的下面两个tomcat过滤器的包名改成tongweb的包名,修改是将org.apache->com.tongweb;再重启tongweb服务,重新进行相互调用iServer服务。(这个解决方法是相当于手动给iServer配置了跨域)
问题描述:iServer在中创中间件上部署成功,但访问iServer报404,查看中创目录下的iServer
日志报错内容为:unsatisfiedlinkerror sqlite.core.nativedb._open_utf8
解决办法:
(1) 使用10.1及以上版本iServer包可以解决此问题;
(2) 若不能替换最新版本,通过查看系统白名单,确认所需系统库不在系统白名单内,与业主协商将iServer加入系统白名单,让iServer能访问系统库中的sqlite库
查看是否存在访问拒绝的linux命令:
cat /var/log/audit/audit.log | grep denied >1
cat 1 | grep iserver
注:修改最后iserver参数,可查看其他访问拒绝现象
问题描述:iServer启动sh startup.sh 报sh 0: Can’t execute startup.sh: Permission denied
解决办法:系统权限问题,多数情况下保密机无法启动sh脚本文件,与用户协商,或申请使用iServer deb包即可。
问题描述:使用supermap_iserver_10.1.1_62_arm_all.deb启动iServer报一些缺少依赖的问题,日志提示libcups.so.2无法打开共享文件,缺少该依赖库。
解决办法:通过百度下载的libcups2不可用时,请尽快与操作系统厂商协调,使用适配库,针对FT1500a,适配文件链接如下:
http://archive.kylinos.cn/kylin/KYLIN-ALL/pool/main/c/cups/
下载该deb包,然后再安装到系统中,重新启动iServer,iServer能正常启动发布服务源正常,验证通过。
问题描述:安装iDesktopX10i(2020)版本,启动iDesktopX有如下报错内容:
java.io.IOException: Problem reading font data.
at java.awt.Font.createFont0(Font.java:1000)
at java.awt.Font.createFont(Font.java:877)
at com.supermap.desktop.core.utilties.FontUtilities.(SourceFile:61)
at com.supermap.desktop.core.startup.StartupDialog.showDialog(SourceFile:48)
at com.supermap.desktop.core.utilties.SplashScreenUtilities.initDialog(SourceFile:92)
at com.supermap.desktop.core.Application.initialize(SourceFile:324)
at com.supermap.desktop.iDesktop.Startup.main(SourceFile:96)
解决办法:此错误一般出现在iDesktopX上,请将如下文件拷贝到iDesktopX安装目录\bin\中,然后重启iDesktopX
依赖库下载参见【4. 依赖库下载路径】 中的依赖库包AllSo.tar.gz
问题描述:在启动iDesktopX时报上述错误,是由于缺少图形化处理要素,需要安装配置X11等相关内容,具体操作如下:
解决方法:
yum -y install xorg-x11-xauth xorg-x11-utils xorg-x11-fonts-*
3. 在~/.bashrc修改环境变量
vim ~/.bashrc
在最后填入: export DISPLAY=:0.0
然后 source ~/.bashrc
4. 重启iDeskopX 10i
问题描述:iServer启动缺少相关的libidn.so.11依赖库
解决方法:先将iServer停止,然后将libidn.so.11和libidn.so.11.6.11文件放到iServer安装目录/support/objectsjava/bin/目录下,最后重新启动iServer,iServer能正常启动并且8090端口访问正常。
依赖库下载参见【4. 依赖库下载路径】 中的依赖库包AllSo.tar.gz
问题描述:iServer启动缺少相关的libssl3.so依赖库
解决方法:先将iServer停止,然后将libssl3.so文件放到iServer安装目录/support/objectsjava/bin/目录下,最后重新启动iServer,iServer能正常启动并且8090端口访问正常。
依赖库下载参见【4. 依赖库下载路径】 中的依赖库包AllSo.tar.gz
问题描述:龙芯版的IDesktopX在龙芯系统上启动报错。
解决办法:可以用ldd命令查看libWrapjCore.so缺少哪些依赖库或者从报错日志提示的so库,从/support/tools/目录下有,拷贝到bin就行了。
问题描述:linux上运行java组件程序报错。
解决办法:配置环境变量到系统path中,根据缺失库名称在线安装系统依赖
sudo yum install libgomp
sudo yum install libpng12
sudo yum install libXext
sudo yum install libXi
sudo yum install libXrender
sudo yum install libXtst
也可以使用iserver产品包里的dependencies_check_and_install脚本离线安装系统依赖库。
问题描述:spark组件将矢量数据写到hbase数据源里的报错。
解决办法:不创建时间字段索引。
params.put(HBaseFeatureRDDProviderParams.IGNORE_INDEX_DTG, true)
Exception in thread “main” org.apache.spark.SparkException: Job aborted due to stage failure: Task 3 in stage 1.0 failed 1 times, most recent failure: Lost task 3.0 in stage 1.0 (TID 4, localhost, executor driver): com.esotericsoftware.kryo.KryoException: java.lang.NullPointerException
Serialization trace:
alternateTitles (org.geotools.metadata.iso.citation.CitationImpl)
authority (org.geotools.referencing.NamedIdentifier)
identifiers (org.geotools.referencing.cs.DefaultCoordinateSystemAxis)
axis (org.geotools.referencing.cs.DefaultEllipsoidalCS)
coordinateSystem (org.geotools.referencing.crs.DefaultGeographicCRS)
userData (org.locationtech.jts.geom.MultiPolygon)
geo (com.supermap.bdt.analyst.vector.cpp.AggregatePolygons$FeatureClusterID)
at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:144)
at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:551)
at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:708)
问题描述:spark组件将要素打印或者调用聚合分析AggregatePolygons报错。
解决办法:在sparkContext创建前进行配置设置Util.configure(sparkConf)。
解决办法:使用supermap_iserver_1010_18914_728_linux64_Loongson_deploy.tar.gz以后的版本,新版本将这2个依赖打包到产品中。
问题描述:在麒麟4.19.90-17. ky10. aarch64和UOS20 SP1上安装iServer10.1.1版本,第一次启动正常,能正常使用;然后重启服务器或iServer后,iServer访问404,查看日志显示报错如下:
解决办法:此现象是由于缺少libssl3.so所致,将操作系统对应的库放到iServer根目录/support/objectsjava/bin/目录下,重启iServer即可。
依赖库下载参见【4. 依赖库下载路径】 中的依赖库包libssl3.tar.gz
报错原因:该操作系统中系统库已存在libnss系统库,iserver组件bin里的libnss3.so和centos系统的冲突导致的
解决方法:将support\objectsjava\bin目录下的libnss3.so移走或删除,再重新启动iServer正常。
Failed to start service:
解决办法:此现象的原因在于未找到iObjects Java路径。建议操作如下:
ps -ef |grep iserver
查看iServer进程,如有kill掉该进程,(当iServer尚未完全关闭时又重新启动iServer会出现数据库被锁定的现象[SQLITE_BUSY] The database file is locked (database is locked));
解决办法:缺少libssl3.so库,检查组件support\objectsjava\bin目录下是否有libssl3.so文件,若没有手动放入Arm的so库并重启iServer;若放入后依然启动失败,检查是否与lib64中的so文件冲突,将系统库中自带libssl3.so文件放入组件support\objectsjava\bin目录下。
解决办法:是由于库冲突导致,删除红圈中文件,重新启动iServer即可。
解决办法:去iServer安装目录下/support/objectsjava/bin下检查依赖达梦依赖
ldd libSuDMCI* |grep not,将缺少达梦依赖放置到该目录确依赖检查不在缺少后,重启iserver即可。
解决办法:先检查是否有将达梦安装路径配置到系统环境变量中,并且环境变量生效,
其次检查是否缺少相关依赖,桌面根目录/support/objectsjava/bin下检查依赖
ldd libSuDMCI* |grep not,最后将达梦提供的依赖放置到桌面根目录/support/objectsjava/bin中,重启iDesktopX。
解决办法:查看/root/TongWeb7.0/logs/iserver.log日志
请添加图片描述
东方通没有读取到组件环境变量,检查组件环境变量是否配置正确,例如:
检查环境变量中是否包含以下环境变量,如果没有请配置后让系统生效环境变量后重启东方通服务:
export JAVA_HOME=/opt/jdk
export JRE_HOME=/opt/jdk/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
export UGO_HOME=/opt/supermap-iserver-10.1.2-war/support_linux_x64/objectsjava
export SUPERMAP_ROOT=/opt/supermap-iserver-10.1.2-war/support_linux_x64
export LD_LIBRARY_PATH=$UGO_HOME/Bin:$LD_LIBRARY_PATH
export PATH=$UGO_HOME/Bin:$JAVA_HOME/bin:$PATH
解决办法:
控制台中,修改帮助文档和iClient前缀
修改前缀为/iserver/help后保存
F12查看许可界面报错信息如下,请求报错为405。
PUT:http://…iserver/_setup/enabledmodules.json 405
Uncaught (in promise) TypeError:Cannot read property “errorMsg” of undefind
解决办法:可能的原因是东方通禁用了HTTP相关的请求方法,检查东方通是否禁用相关的HTTP请求,如果禁用,取消勾选后重启东方通即可。
解决办法:由于war包太大,东方通的缓存没有加大,导致内置sqlite没启动。
进入东方通管理页面“WEB容器配置”→“虚拟主机管理”选择发布iserver war包的虚拟主机,添加CacheMaxSize属性和值。
CacheMaxSize:为部署在此虚拟机下的应用设置静态资源缓存的最大值,单位为K;
CacheAllowed:为部署在此粗你姐下的应用设置是否允许启用静态资源(HTML、图片、声音等)的缓存,默认为true。
解决办法:先检查是否有将达梦安装路径配置到系统环境变量中,并且环境变量生效,其次检查是否缺少相关依赖,桌面根目录/support/objectsjava/bin下检查依赖ldd libSuDMCI* |grep not,最后将达梦提供的依赖放置到桌面根目录/support/objectsjava/bin中,重启iDesktopX。
问题产生原因是当前iServer机器缺少zabbix依赖。
解决办法:查看当前机器缺少哪些依赖,可以进入
cd /etc/zabbix-agents/linux-arm/zabbix-agent/sbin
ldd zabbix_agentd | grep not
由上图可以看到缺少2个系统依赖,可以从系统镜像中获取,如果是ARM环境,可以从iServer/support/objectsjava/中,解压sysDepLibs.tar.gz,缺少什么依赖就将依赖拷贝在/usr/lib64下,然后再次运行ldd检查,如果不输出任何东西则代表依赖安装成功,重新安装监控脚本即可。
解决办法:当通过三方方式修改达梦账户信息后,需要在桌面产品iDesktopX先关闭数据源,然后再重新打开数据源
问题产生的的原因:是由于某些Linux系统没有显示需要的某些库,在QT加载插件时就会报"display"相关的错误。
解决办法:
export QT_DEBUG_PLUGINS=1
export QT_QPA_PLATFORM='offscreen'
TRUE
而单独发布文件型工作空间、文件型数据源正常;同一环境下的iDesktopX10.2.1能正常连接人大金仓国密版数据库。
问题原因:当前的iServer10.1.3版本没有与人大金仓国密版数据库进行适配,无法读取当前的人大金仓数据库依赖。
解决方法:首先要将当前的iServer升级到已经做过适配的10.2.1版本,另外因为人大金仓国密版的依赖库和iServer包里的不一样,为了让iServer能够正常连接人大金仓国密版数据库,我们需要将人大金仓国密版数据库配置到系统环境变量中,使iServer能够正常读取依赖连接数据库。
解决办法:在TongWeb服务器上开起服务器参数 -DWebModuleOnly=true,再启动就可以了
解决办法:东方通的http请求配置,默认禁用了 http的delete请求等,需要手动修改,不然isever服务管理中的delete请求等无法执行,参考之前的文档操作如下:
东方通禁用了HTTP相关的请求方法,检查东方通是否禁用相关的HTTP请求,如果禁用,取消勾选后重启东方通即可。
制作镜像时,查看libcrypto.so是否为软连接,若不是需要将文件删除后建立 libcrypto.so.1.1的软链接命名为libcrypto.so,具体操作如下
检测到不是软链接
删除libcrypto.so ,并且手动生成libcrypto.so.1.1的软链接命名为libcrypto.so
再次执行ls -il /opt/UGO/Bin | grep libcrypto,检测到已经是软链接,产品只认libcrypto.so.1.1,后面继续制作镜像即可。