GIS云套件
常见问题解答
-
Oracle数据库与SuperMap iDesktop连接不上,如何解决?
答:出现上述情况,请在Oracle中创建并使用新的数据库。具体步骤如下:
(1)在iManager页面点击数据库->Oracle->名称(您的数据库名称)->oracle->命令行进入Oracle命令行;
(2)在目录 u01/app/oracle/oradata 下创建“supermapshapefile”文件夹,执行(如果您已有文件夹,请跳过该步骤):
mkdir -p /u01/app/oracle/oradata/supermapshapefile
(3)将“supermapshapefile”文件夹的拥有者改为oracle,执行:
chown oracle /u01/app/oracle/oradata/supermapshapefile
(4)进入Oracle,执行:
sqlplus / as sysdba
(5)输入Oracle用户密码,用户密码请在iManager页面点击数据库->Oracle->名称(您的数据库名称)->账户查看;
(6)创建空间表,大小为200M(可根据实际情况设置),执行:
create tablespace supermaptbs datafile '/u01/app/oracle/oradata/supermapshapefile/data.dbf' size 200M;
(7)创建空间表新用户,账号:supermapuser(可自由设置),密码:supermap123(可自由设置),执行:
create user supermapuser identified by supermap123 default tablespace supermaptbs;
(8)给新用户赋予权限,执行:
grant connect,resource to supermapuser; grant dba to supermapuser;
-
使用内置Spark集群进行分布式分析时,Spark-worker节点出现时而离线时而假死现象,怎么办?
答:在分布式分析过程中,由于资源占用较大,导致响应变慢,Spark-master节点接收不到Spark-worker节点的心跳汇报,误以为Spark-worker节点出现故障,出现上述现象。请参照以下步骤延长心跳汇报时间:
(1)点击左侧导航栏计算资源池->Spark集群->控制台->spark-master->命令行进入Spark-master容器操作界面;
(2)进入spark-env.sh文件所在目录:
cd spark/conf
(3)打开spark-env.sh文件:
vi spark-env.sh
(4)在文件内新增心跳汇报间隔时间(默认180秒,可根据需求设置,例子中为1800秒)
export SPARK_MASTER_OPTS="-Dspark.worker.timeout=1800"
(5)保存并退出spark-env.sh文件;
(6)在Spark集群控制台界面重新部署Spark-master节点与Spark-worker节点。
-
发布地图服务后,地图显示字体为什么和制图所用字体不同?
答:因为承载该地图服务的服务节点没有制图时使用的字体。请参照以下步骤添加字体:
(1)点击主页导航栏文件管理,在文件管理器的system/fonts文件夹上传所需字体文件;
(2)重新部署承载地图服务的服务节点。
-
在重新部署/调整规格后,又立马进行重新部署/调整规格操作,导致分配许可失败,如何解决?
答:在重新部署/调整规格后,请确保本次操作对应的容器在许可中心中分配许可成功后,再进行下一次的重新部署/调整规格操作。
-
查看实时监控统计图时,图表中没有数据或数据生成的时间与实际时间不符,如何解决?
答:查看实时监控统计图时,请确保您的本地机器与Kubernetes节点机器设置的时间一致。
-
使用内置环境(如内置Spark集群、Kafka集群等)时,禁用后再次开启,环境不能使用,如何解决?
答:内置环境禁用后再次开启,服务的端口号会发生变化,请更新相关端口配置。
-
在K3S环境下安装GIS云套件,进度条长时间不变,怎么办?
答:通过命令
kubectl -n kube-system get pod
查看pod状态,如果pod状态不是running或completed,可能是防火墙导致K3S集群内部不能通信。可以通过以下命令关闭防火墙:systemctl stop firewalld systemctl disable firewalld
关闭防火墙一段时间后,通过命令
kubectl get pod --all-namespaces
查看pod状态,如果pod状态仍然异常,则与防火墙无关,请排查其他原因。 -
如何替换GIS云套件自带的安全证书?
答:GIS云套件的安全证书有两种,一种是安全中心(Keycloak)使用的安全证书,另一种是访问入口域名使用的安全证书。替换时又有两种情况,一种是配置了访问入口域名或安全中心域名;一种是没有配置域名。请参照以下步骤替换两种证书:
替换安全中心(Keycloak)的安全证书——未配置域名
(1)在安装Kubernetes Master节点机器中执行以下命令,找到安全证书挂载目录(下面命令中的
icloud-native-<id>
为GIS云套件所在的命令空间,请替换为实际的命名空间名称):kubectl -n icloud-native-<id> describe pvc pvc-keycloak-certificate-<id> | grep Volume: | awk -F ' ' '{print $2}' | xargs kubectl describe pv
(2)将您的安全证书文件存放至步骤(1)查到的挂载目录中;
注意:
安全证书文件包括证书和私钥,需要将证书文件重命名为tls.crt,将私钥文件重命名为tsl.key。(3)登录iManager,在GIS云套件服务列表中找到Keycloak服务并重新部署。
替换安全中心(Keycloak)的安全证书——已配置域名
(1)将安全中心域名对应的证书文件复制到Kubernetes Master节点机器;
(2)执行以下命令(命令中的
<id>
是创建GIS云套件时命名空间ID;<certificateFile>
是安全中心域名对应的证书文件;<privateFile>
是证书对应的私钥文件。均需用实际值替换):kubectl -n icloud-native-<id> delete secret keycloak-ingress-tls kubectl -n icloud-native-<id> create secret tls keycloak-ingress-tls --cert='<certificateFile>' --key='<privateFile>'
(3)访问安全中心域名即可生效。
替换访问入口的安全证书——未配置域名
(1)在安装Kubernetes Master节点机器中执行以下命令,找到安全证书挂载目录(下面命令中的
icloud-native-<id>
为GIS云套件所在的命令空间,请替换为实际的命名空间名称):kubectl -n icloud-native-<id> describe pvc pvc-gateway-certificate-<id> | grep Volume: | awk -F ' ' '{print $2}' | xargs kubectl describe pv
(2)将您的安全证书文件存放至步骤(1)查到的挂载目录中;
注意:
安全证书文件需命名为certificate.keystore。(3)执行以下命令,修改访问入口的证书配置:
kubectl -n icloud-native-<id> edit deploy iserver-gateway
在文件中找到icn_ext_param_server_ssl_keyStorePassword配置,把下方的value对应的值修改为证书密码。输入:wq退出编辑窗口,访问入口会自动重新部署。
替换访问入口的安全证书——已配置域名
(1)将访问入口域名对应的证书文件复制到Kubernetes Master节点机器;
(2)执行以下命令(命令中的
<id>
是创建GIS云套件时命名空间ID;<certificateFile>
是访问入口域名对应的证书文件;<privateFile>
是证书对应的私钥文件。均需用实际值替换):kubectl -n icloud-native-<id> delete secret gateway-ingress-tls kubectl -n icloud-native-<id> create secret tls gateway-ingress-tls --cert='<certificateFile>' --key='<privateFile>'
(3)使用域名访问即可生效。
-
使用GIS云套件包部署的GIS云套件环境,未配置NFS Server或StorageClass,重启后数据丢失怎么办?
答:重启后出现下述类似情况,如分布式分析服务无访问地址、内置存储资源(内置PostGIS、PostgreSQL等)无数据。请禁用环境后再次开启。
-
更新Gisapplication(或iPortal)镜像后,iPortal(或Gisapplication)部分功能不能正常使用,怎么办?
答:单独更新Gisapplication(或iPortal)可能会出现配置跟代码不兼容的情况。请同时更新iPortal与Gisapplication。
-
当Keycloak服务报错“io.undertow.util.ParameterLimitException: UT000047: The number of parameters exceeded the maximum of 1000”,如何解决?
答:此错误是因为您的服务实例数量过多,导致向Keycloak提交请求的表单字段超过默认最大限制1000,需提高字段上限。请参考以下步骤解决:
(1)登录Kubernetes管理页面;
(2)在您的GIS云套件命名空间中点击部署,找到keycloak;
(3)对keycloak进行编辑(打开右侧操作,点击查看/编辑 YAML);
(4)在spec->template->spec->containers->env中添加环境变量UNDERTOW_MAX_PARAMETERS,设置值大于报错中的限制值,例如:
{ "name": "UNDERTOW_MAX_PARAMETERS", "value": "1500" },
-
配置镜像拉取Secret时,如何在命名空间下创建与Secret同名资源?
答:配置镜像拉取Secret时,需在Kubernetes中GIS云套件所在命名空间创建与Secret同名的资源。如果开启metrics server服务,需在kube-system命名空间下创建Secret同名资源。请在Kubernetes Master机器中,输入如下命令创建Secret同名资源:
kubectl create secret docker-registry <image-pull-secret> --docker-server=<"172.16.17.11:5002"> --docker-username=<admin> --docker-password=<adminpassword> -n <giscloudsuite>
注意:
输入的内容中,带有尖括号”<>“的需根据您的实际环境替换(替换后去掉尖括号):
<image-pull-secret>
为您的Secret名称;<"172.16.17.11:5002">
为您的镜像仓库地址;<admin>
为镜像仓库用户名;<adminpassword>
为镜像仓库密码;<giscloudsuite>
为GIS云套件所在命名空间(在kube-system下创建Secret同名资源时,<giscloudsuite>
替换为“kube-system”)。