GIS Cloud Suite

FAQ

  1. How to solve the problem when the database in Oracle could not connect with SuperMap iDesktop?

    Answer: Please create a new database in Oracle XE, and use the new one. Follow the steps below to create a new database:

    (1) Clicks Database > Oracle > Name(The name of your database) > oracle > Command Pad on the iManager to enter Oracle comnmand pad.

    (2) Create a folder named ‘supermapshapefile’ under the ‘u01/app/oracle/oradata’ directory(If you already have a folder, skip this step). Execute:

    mkdir -p /u01/app/oracle/oradata/supermapshapefile

    (3) Change the folder owner to oracle. Execute:

    chown oracle /u01/app/oracle/oradata/supermapshapefile

    (4) Enter Oracle. Execute:

    sqlplus / as sysdba

    (5) Fill in the username and password of Oracle. You can view account information by clicking Database > Oracle > Name > Account on the iManager page.

    (6) Create a tablespace, the size is 200M(you can set the size of tablespace according to your requirement). Execute:

    create tablespace supermaptbs datafile '/u01/app/oracle/oradata/supermapshapefile/data.dbf' size 200M;

    (7) Create a new user of the tablespace. For example, username: supermapuser; password: supermap123. Execute:

    create user supermapuser identified by supermap123 default tablespace supermaptbs;

    (8) Grant new user permission. Execute:

    grant connect,resource to supermapuser;
    grant dba to supermapuser;
  2. The Spark-worker node sometimes get offlined sometimes get death when doing the distributed analyst by Spark cluster, how to solve it?

    Answer: Because of the high resource occupancy in the processing of distributed analyst, the response is getting slower. The Spark-master node can not receive the response of Spark-worker node, so the Spark-master node considers the Spark-worker node is in some problems. You need to extend the heartbeat interval between the nodes.

    (1) Clicks on Computing Resources > Spark Cluster > Console > spkar-mater > Command pad to enter the command pad of the Spark-master container.

    (2) Go to the spark-env.sh file directory:

    cd spark/conf

    (3) Open the spark-env.sh file:

    vi spark-env.sh

    (4) Add the heartbeat interval in the file(The default is 180 seconds. The example below sets to 1800 seconds.):

    export SPARK_MASTER_OPTS="-Dspark.worker.timeout=1800"

    (5) Save and exist spark-env.sh file.

    (6) Redeploy Spark-master node and Spark-worker node on the Spark Cluster Console page.

  3. Why the font style displayed in map service is different from the style used in making map?

    Answer: the service node which the map service is running on does not have the font style used in making map. Please follow the steps to add font style:

    (1) Clicks on File Management on the left navigation bar, upload the font file to the system/fonts folder.

    (2) Redeploy the service node which the map service is running on.

  4. If you redeploy or adjust spec immediately after deploying or adjusting spec, the license assign failed, how to solve the problem?

    Answer: After redeploying or adjusting spec, please make sure the services have been assigned the license successfully, then do others operations like redeploy or adjust spec.

  5. When viewing monitoring statistic charts, the charts do not displaying data or the time of data can not match the real time, how to solve the problem?

    Answer: Please make sure the time settings of local machine and Kubernetes node machines are same.

  6. If you re-enabled built-in environments(such as Spark Cluster and Kafka cluster) after disabling, the built-in environments were not working, how to solve the problem?

    Answer: The service ports would change after re-enabling the built-in environments, please update related service port configurations.

  7. When installing GIS Cloud Suite on K3S, the progress bar was stoping running, how to solve the problem?

    Answer: Check the status of pods by the command kubectl -n kube-system get pod, if the status of pods are not ‘running’ or ‘completed’, the cluster of K3S might not communicate because of the firewall. Input the following command to close firewall:

    systemctl stop firewalld
    systemctl disable firewalld

    After closing firewall for a while, use the command kubectl get pod --all-namespaces to check the status of pods, if the status of pods are stilling abnormal, please consider others reason.

  8. How to replace the security certificate in GIS Cloud Suite?

    Answer: There are two kinds of security certificates in iManager for K8s, one is for security center(Keycloak), another one is for access entrance. The method of replacing the security certificates is different according to whether the access entrance or Keycloak has configured the domain name. Please follow the steps below to replace the security certificates:

    Replace the Security Certificate for Keycloak(Without domain name)

    (1) Executes the following command on Kubernetes Master machine to find the volume of the security certificate(icloud-native-<id> in the command is the namespace of GIS Cloud Suite, please replace to the actual namespace):

    kubectl -n icloud-native-<id> describe pvc pvc-keycloak-certificate-<id> | grep Volume: | awk -F ' ' '{print $2}' | xargs kubectl describe pv

    (2) Stores your new security certificate to the volume in step (1);

    Notes:
    The security certificate includes certificate and private key, the certificate should be renamed to tls.crt, the private key should be renamed to tsl.key.

    (3) Logs in to iManager and redeploys the Keycloak service in Basic Services.

    Replace the Security Certificate for Keycloak(With domain name)

    (1) Copies the security certificate and pastes to the Kubernetes Master machine.

    (2) Executes the following commands(<id> in the command is the ID of namespace when creating GIS Cloud Suite; <certificateFile> is the name of certificate; <privateFile> is the name of private key. Replace them by the actual namespace):

    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) Visits Keycloak by the domain name.

    Replace the Security Certificate for Access Entrance(Without domain name)

    (1) Executes the following command on Kubernetes Master machine to find the volume of the security certificate(icloud-native-<id> in the command is the namespace of GIS Cloud Suite, please replace to the actual name):

    kubectl -n icloud-native-<id> describe pvc pvc-gateway-certificate-<id> | grep Volume: | awk -F ' ' '{print $2}' | xargs kubectl describe pv

    (2) Stores your new security certificate to the volume in step (1);

    Notes:
    The security certificate should be renamed to certificate.keystore.

    (3) Modifies the certificate configuration of access entrance:

    kubectl -n icloud-native-<id> edit deploy iserver-gateway

    Find the configuiration of icn_ext_param_server_ssl_keyStorePassword in the file, modify the ‘value’ to the password of the security certificate. Save and quite the configuration, the service of access entrance will redeploy automatically.

    Replace the Security Certificate for Access Entrance(With domain name)

    (1) Copies the security certificate and pastes to the Kubernetes Master machine.

    (2) Executes the following commands(<id> in the command is the ID of namespace when creating GIS Cloud Suite; <certificateFile> is the name of certificate; <privateFile> is the name of private key. Replace them by the actual name):

    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) Visits access entrance by the domain name.

  9. How to solve the problem if the data lost after restarting GIS Cloud Suite when your did not configure NFS Server or StorageClass?

    Answer: If you can not see the IP address of Distributed Analysis Service, or no data in built-in Storage Resources(PostGIS, PostgreSQL, etc.) after restarting GIS Cloud Suite, please disable the built-in environment, then enable it again.

  10. How to solve the problem that some of funcions are unavailable after updating the image of Gisapplication or iPortal?

    Answer: If you only update Gisapplication or iPortal, the configuration and code might be incompatible. Please update both Gisapplication and iPortal.

  11. How to solve the problem when Keycloak has the error ‘io.undertow.util.ParameterLimitException: UT000047: The number of parameters exceeded the maximum of 1000’?

    Answer: The error caused because of you have too many service instances, the table fields that send to Keycloak exceeded the maximum value 1000, you need to raise the maximum value. please follow the steps below to solve the problem:

    (1) Log in to the management page of Kubernetes.

    (2) Click on Deployments in the namespace of your GIS Cloud Suite.

    (3) Find out ‘keycloak’, click on Actions > View/edit YAML.

    (4) Add the variable ‘UNDERTOW_MAX_PARAMETERS’ in spec->template->spec->containers->env, the value should larger than the value from the error. For example:

    {
       "name": "UNDERTOW_MAX_PARAMETERS",
       "value": "1500"
    },
  12. How to create the resource with the same name as the Secret when configuring the image pull secret?

    Answer: When configuring the Secret, you need to create a resource with the same name as the Secret in GIS Cloud Suite namespace of Kubernetes. You also need to create a resource with the same name as the secret value in namespace ‘kube-system’ when enabling metrics server. Please enter the following command in Kubernetes Master machine to create the resource:

    kubectl create secret docker-registry <image-pull-secret> --docker-server="<172.16.17.11:5002>" --docker-username=<admin> --docker-password=<adminpassword> -n <giscloudsuite>

    Notes:

    The contents in the command with symbol ”<>” need to be replaced according to your actual environment(Delete the symbol ”<>” after replacing). <image-pull-secret> is the name of your Secret; <172.16.17.11:5002> is your registry address; <admin> is the namespace of your registry; <adminpassword> is the password of your namespace; <giscloudsuite> is the namespace of GIS Cloud Suite(replace <giscloudsuite> to ‘kube-system’ when you create the resource in the namespace kube-system).