Tutorial

FAQ

  1. For the virtual machine created based on the template, an error occurs while clicking on the GIS desktop shortcuts: “SuperMap license is not available, please check the license configuration”. What I should do if the license display in a normal status in License Center.

    Answer: Please open the “SuperMap License Center”, click Restart Server on the Settings page. When the restart finished, GIS desktop will start successfully.

  2. In the process of GIS environment creation, if the failure of the execution appears in Task Management page, and the IP * * * * * * * is not available. Please check the network configuration information and retry prompt display. How to handle this problem?

    Answer: The first possibility of such an error is that the network configuration information is incorrect. Secondly, it might be because it is impossible to get an IP address from DNSmasq. The simplest way is to turn off all the DNSmasq processes on the machine and reboot nova-work.

    Specific steps are as follows:

    (1) Check the network configuration information and the configuration information of the virtual platform. When you confirm the network is available, click the “Retry” button for the task. After retry, if the task is successful, you do not need the following steps.

    (2) If the same prompt still exist after checking the network configuration information and retrying, you need to configure the OpenStack Controller node (DNSMASQ host machine). The configuration method is to perform “killall dnsmasq” and “service neutron-dhcp-agent restart” at the Controller node (the DNSMASQ machine).

    (3) After restarting the Controller node, on the iManager Task Management page, click the “Retry” button for the task.

  3. GIS environment cannot be successfully created or the GIS environment created according to the iManager template is not available, what is the reason? How should I solve it?

    Answer: This phenomenon may be caused by the following two aspects:

    (1) During the import of a mirrored file, you should select a mirror type that matches the file type of the imported mirror file. Take the OpenStack platform as an example, when we “Create an Image”, the value of “Format” should be the same file type as the imported mirror file. For specific operations, please refer to Appendix > OpenStack Additional Configuration to Import the GIS mirror image on OpenStack platform.

    (2) Check whether the image file is complete. The integrity of the mirrored file you obtain affects the GIS environment created by iManager. You need to check that the MD5 value of the mirrored file you get is consistent with the MD5 value given in the file. After importing, you also need to verify the MD5 value.

  4. “What should I pay attention to while importing an external load balancer?

    Answer: The configuration information for the load balancing group is stored in the load balancer’s configuration file directory, therefore, the primary configuration should include the directory of the configuration file. If it is not included, the service of the load balancing group created relying on the externally imported load balancer will not be accessible.

    The specific solution is to ensure that the Nginx primary configuration file nginx.conf contains the Nginx configuration file directory. Here we take parameters for installing Nginx as an example:

    (1) The configuration file directory is: /etc/nginx/conf.d

    (2) The primary configuration file nginx.conf is under the the/etc/nginx directory

    (3) In the HTTP configuration of the /etc/nginx/nginx.conf primary configuration file, make sure that you have the following configuration:

    http{
      include /etc/nginx/conf.d/*.conf;
      }
  5. On Windows, what should I do if the license Information page in license management displays “Get license information failed”?

    Answer: First check whether there are available licensee with SuperMap.LicenseCenter. If a license is currently available and valid, open the command line window as an administrator, enter the bin directory of the SuperMap iManager installation directory. Enter startup.bat and start the SuperMap iManager service.

  6. What should I do if the hang up of Docker container causes the failure of access to GIS environment?

    Answer: The GIS environment is not accessible. The corresponding container hangs up and the stop, delete operations cannot work. Log on to the host where the Docker resides, and use uname -a to view the current Kernel version. If your version is too old,such as 4.2.0-30.35, please upgrade your Kernal to the latest version.

    Please refer to http://kernel.ubuntu.com to upgrade Kernel of Ubuntu.

  7. What should I do if license loss is caused by the adjustment of GIS environment specifications on OpenStack platform?

    Answer: Restart GIS environement.

  8. What should I do if he adjustment of GIS environment specifications on OpenStack platform failed?

    Answer: Check if ssh has no permissions in OpenStack. Node A needs to access node B via ssh without password. Execute ssh -t rsa under the /var/lib/nova directory of node A (no additional information required, press Enter directly) to generate public key (id_rsa.pub) and encrypted key (id_rsa) file (make sure the generated directory is located under /var/lib/nova). Copy the cat id_rsa.pub >> authorized_keys command under the /var/lib/nova/.ssh/ directory of node B (implement the management of multiple keys according to requirement) Execute command on node B.

    chmod 700 /var/lib/nova/.ssh
    chmod 600 /var/lib/nova/.ssh/anthorized_keys
    chown nova:nova /var/lib/nova/.ssh/id_rsa /var/lib/nova/.ssh/authorized_keys
  9. I can see GIS environment in GIS environment management. However, on the Administrator Overview page, I always see “No created GIS environment” in “GIS environment statistics”.

    Answer: Check the database you configured. If it is MySQL, please modify my.cnf file. In the property settings of sql_mode, remove the “ONLY_FULL_GROUP_BY”. Please refer to the following modifications:

    [mysqld]
    sql_mode = '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'
  10. What should I do if the error message Build of instance *** aborted: Flavor's disk is too small for requested image. Flaver disk is *** bytes, image is *** bytes. displays while creating a virtual machine on the OpenStack platform?

    Answer: This occurs because the hard disk size specified in the virtual machine is less than the hard disk size the corresponding mirror needs. For example, if you are currently creating SuperMap iManager or SuperMap iPortal or SuperMap iServer virtual machines, you will need to set the hard disk size to 20. And if you are currently creating a SuperMap iDesktop mirror, you will need to set the size to 30 at least.

  11. How to specify data storage for creating a GIS environment on vsphere?

    Answer: Edit the icloud.properties file in the imanager-config directory(execute ‘docker volume ls’ command to see the name of iManager volume, then execute ‘docker inspect + iManager volume name’ to see the path of iManager volume directory), and add the configuration vsphere_datastorename={data storage name}. Note: Data storage names do not need to be quoted unless the data storage name itself contains quotes.

  12. What configuration is required when using external zabbix/ElasticSearch and they have firewall entry restrictions?

    Answer: The host is allowed through the firewall does not means that iManager Docker container can pass through the firewall, so you need to do the following configuration:

    (1) Determine the Docker container network segment, and you can use the following command to create the network:

    docker network create --driver=bridge --subnet=172.28.0.0/16 --ip-range=172.28.5.0/24 --gateway=172.28.5.254 my_net</pre>

    (2) Add the entry rules, allowing the network segment to pass, such as 172.28.5.0/24 in the example above.

    If you configured external zabbix, you can verify that whether zabbix is accessible within the iManager container by curl.

    curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"user.login","params":{"user":"Admin","password":"zabbix"},"id":1}' http://172.16.17.11:88/api_jsonrpc.php
  13. What should I do if the error message “Error response from daemon: error while validating Root CA Certificate: x509: certificate has expired or is not yet valid” displays while adding a worker node in swarm mode.

    Answer: The reason for the above phenomenon is that the time of worker node which you want to join the Swarm Mode is not within the CA certificate, so you need to do the following configuration:

    (1) Perform the following command on the manage node of swarm to view the CA certificate time range:

    docker swarm ca | openssl x509 -noout -text

    You can see the following output information: (The red marking section is the valid time for the CA certificate)

    (2) Set the time of worker node to be valid for CA certificate. Here is an example of setting the system time to “2017-12-14 10:30:00”:

    cp /usr/share/zoneinfo/GMT /etc/localtime
    date -s "2017-12-14 10:30:00"
  14. What should I do when the error “Failed to configure cluster parent node : the daemon was not found or the daemon did not start” occured

    Answer:

    (1) First check if you install iServer Daemon correctly and start it,Please refer to Use iManager > Cloud GIS Infrastructure Management > GIS Cluster Management > iServer Daemon installation.

    (2) Secondly append a line below in /etc/icloud/SuperMapiServer/support/jre/lib/security/shell.security

    sun.rmi.registry.registryFilter=*
  15. What should I do when starting the iManager service using docker-compose.yml, the elastic container reports following error message:“ERROR:bootstrap checks failed max virtual memory areas vm.max_map_count[65530] is too low, increase to at least[262144]“?

    Answer: The reason for this is that the elasticsearch user has too little memory permissions and needs at least 262144, so you need to execute the following command and then start the iManager service.

    sudo sysctl -w vm.max_map_count=262144
  16. What should I do when adding a MySQL database for Windows version and get monitoring data slowly?

    Answer:The reason for this is that the MySQL database automatically parsers backwards by default, simply by adding the following sentence to the configuration file my.ini and restarting the MySQL service.

    [mysqld]
    skip-name-resolve
  17. “How to use the https protocol?

    Answer: Please do the following operations to achieve https protocol:

    (1) Go to the iManager installation directory(the directory in which you executed ./startup or ./start command to start iManager) and find out the file named docker-compose.yml, execute the following command:

    sudo vi docker-compose.yml

    (2) Modify the value of PROTOCOL to https in the imanager-ui container;

    (3) Save the setting and restart iManager:

    sudo ./start.sh or sudo ./startup.sh
  18. How to solve the problem that some of the IP/Domain name can not access?

    Answer: Only original IP address is available after improving the security. Please do the following operations if you want to add others IP/Domain name:

    (1) Go to the iManager installation directory(the directory in which you executed ./startup or ./start command to start iManager) and find out the file named docker-compose.yml, execute the following command:

    sudo vi docker-compose.yml

    (2) Find out the environment ”- ALLOW_HOSTS=” in the imanager-ui container,

    (3) Add the new IP/Domain name in the environment ”- ALLOW_HOSTS=“. If you want to add multiple IPs/Domain names, please use ”,” between each IP/Domain name,

    e.g., add the address example1.com and example2.com into the environment ”- ALLOW_HOST=”, the result should be ”- ALLOW_HOSTS=example1.com,example2.com”.

    (4) Save the setting and restart iManager:

    sudo ./start.sh or sudo ./startup.sh
  19. What should I do when something wrong with monitor?

    (1) Error: “Get value from agent failed: cannot connect to [[<ip>:10050:[111] Connection failed.”

    Answer: Please do the following steps to investigate:

    • Execute the command to make sure if zabbix-agent is working well.

      ps -ef | grep zabbix-agent

      You can see the code in the image below if zabbix-agent is working well.

      pszabbixagent

      If you can not see the code, please follow “/etc/zabbix-agents/bin/readme.txt” or “C:\zabbix-agents\bin\readme.txt” to uninstall zabbix-agent, and follow theUse iManager > GIS Environment Monitoring > Add GIS Environment > Add GIS Portals to reinstall the zabbix-agent. If the zabbix-agent is working well, please investigate other reasons.

    • Make sure the value of configuration in the zabbix-agent Server is correct.

      The value of configuration in the zabbix-agent Server (/etc/zabbix-agents/linux/zabbix-agent/conf/zabbix_agentd.conf or C:\zabbix-agents\win\conf\zabbix_agentd.win.conf) should be the same as the IP of the iManager server host machine.

    • Make sure the zabbix-agent server and zabbix agent can visit each other.

      • Follow step B to get the value of the zabbix-agent Server;
      • Execute the command in zabbix agent, the {IP} is the IP from the previous step;

        ping {IP}
      • If the IP is addressable, please consider other reasons. If the IP is not addressable, please find out the problem.
    • Execute the following command to make sure 10050 port is not conflict;

      netstat -lutn

    (2) Error: “Received empty response from Zabbix Agent at [<ip>]. Assuming that agent dropped connection because of access permissions.”

    Answer: If iManager and the added GIS Server is on a same Linux machine, thie ploblem would occur.

    • Execute the command to get zabbix-server container’s IP:

      docker ps | grep zabbix-server | awk '{print $1}' | xargs docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
    • Execute the command to edit zabbix-agent’s configuration file, modify the Server value in the file to zabbix-server container’s IP in the previous step.

      sudo vi /etc/zabbix-agents/linux/zabbix-agent/conf/zabbix_agentd.conf

    (3) Error: “Get value from agent failed: cannot connect to [[<ip>]:10050]:[113] No route to host.”

    Answer: Please turn off the firewall.

    (4) Error: The added GIS server/database monitor/general monitor can not get the CPU utilization of the Windows host, check the zabbix-agent log(C:/zabbix_agentd.log) with the error message: init_cpu_collector(): cannot make counterpath for ””: [0xC0000BBD] missing or error required parameters .

    Answer: The reason for this is that there is a problem with the windows performance counter, which requires only “lodctr /R” execution with administrator privileges.

  20. How to unlock the administrator account?

    Answer: The file named unlock-admin.sh in the iManager installation directory is used for unlocking the administrator account, please follow the steps to unlock the account:

    (1) Go to the iManager installation directory(the directory in which you executed ./startup or ./start command to start iManager);

    (2) Unlocking the administrator account, execute unlock-admin.sh file:

    ./unlock-admin.sh
  21. How to reset the administrator account?

    Answer: The file named resetpassword.sh in the iManager directory is used for resetting the administrator account, please follow the steps to reset the account:

    (1) Go to the iManager installation directory(the directory in which you executed ./startup or ./start command to start iManager);

    (2) Resetting the administrator account, execute resetpassword.sh file:

    ./resetpassword.sh

    The account name/password after reset should be: admin/admin.

  22. How to switch the language in iManager?

    Answer: Please switch the browser’s language if you want to switch the language in iManager. We use Chrome V74.0.3729.157 as an example:

    (1) Open Chrome, click on Customize and control Google Chrome > Settings;

    (2) Drag to the end of the page, click on Advanced > Language > Add languages;

    (3) Select the language you want and click **Add(iManager only supports English and Chinese);

    (4) Clicks on More actions on the right side of your added language, select Move to the top;

    (5) Reload the iManager page.

  23. How to save the files which are copied to the container?

    Answer: Please follow the example below to create Volume and copy the file to container.

    Copy “readme.txt” from iManager installation directory to the /home directory of the Consul container:

    (1) Go to the iManager installation directory(the directory in which you executed ./startup or ./start command to start iManager);

    (2) Open the docker-compose.yml file, execute:

    vi docker-compose.yml

    (3) Find out the configuration of Consul container, and create the Volume in the configuration:

    volumes:
       - Example:/home

    Notes:

    1. The volumes should be added in the same level as image in configuration.
    2. Example is the name of Volume; home is the path that you want to save the files in Consul container.

    (4) Add the name of the Volume at “volumes” in the end of docker-compose.yml file:

    Example:

    (5) Save and exit the docker-compose.yml file;

    (6) Restart iManager;

    (7) Check the name of Consul container, execute:

    docker ps

    (8) Copy “readme.txt” from iManager home directory to the /home directory in the Consul container, execute:

    docker cp /home/supermap/supermap-imanager-docker/readme.txt imanager_consul_1:/home

    Notes:
    The format of the command above: docker cp /path containerName:/path

  24. How to fixed the containers’ hostname?

    Answer: To fixed the containers’ hostname, you need to edit the docker-compose.yml file. Please follow the steps below to fixed the containers’ hostname, the contents in mark <> and the mark <> itself should be replaced to your actual requirement:

    (1) Go to the iManager installation directory(the directory in which you executed ./startup or ./start command to start iManager);

    (2) Open the docker-compose.yml file, execute:

    vi docker-compose.yml

    (3) Find out the configuration of the container that you want to fixed, add the hostname:

    hostname: name

    Notes:

    1. The hostname should be added in the same level as “image” in the configuration.
    2. Customize name above.

    (4) Save and exit the docker-compose.yml file;

    (5) Restart iManager.

  25. What should I do if iPortal could not upload data?

    Answer: If you could not upload data when using iPortal, you need to add the parameter client_max_body_size in nginx configuration file. Please follow the steps below:

    (1) Go to the nginx volume directory(execute ‘docker volume ls’ command to see the name of the nginx volume, then execute ‘docker inspect + nginx volume name’ to check the path of the nginx volume directory)

    (2) Open the nginx configuration file:

    vi default.conf

    (3) Add the parameter in the configuration file:

    client_max_body_size 100m;

    Note:
    The ‘100m’ in above is the limited size of the upload file, it could be adjusted according to the actual situation.

    (4) Save and exit the nginx configuration file, then restart the nginx container.

  26. How to solve the error “HTTP request sent, awaiting response… 404 Not Found” when you add iServer in Linux system and execute the daemon installation command?

    Answer: Add the parameter —refer=’${protocol}://${ip}:${port}’ in the daemon installation command. For example,

    sudo wget -O setup_1.sh 'http://172.16.17.11:8390/imanager/packages/setupscript?ip=192.168.17.128&id=1&os=linux' --refer='http://172.16.17.11:8390' && sh setup_1.sh
  27. How to modify the storage location of Docker?

    Answer: In default, the storage location of Docker is /var/lib/docker. Please follow the steps below to modify the storage location:

    (1) Switch to root permission:

    sudu su

    (2) Check the storage location of Docker:

    docker info | grep "Docker Root Dir"

    Notes:
    It is recommended to backup the Docker storage directory, the data might be lost in the following operation.

    (3) Stop the Docker service:

    service docker stop

    (4) Move the Docker storage directory to the new storage path (The docker storage directory is the result checked in step 2. We use the default Docker sotrage directory “/var/lib/docker” as an example, and use the path of”/data/docker” as an example of the new storage path):

    mv /var/lib/docker /data/docker
    ln -s /data/docker /var/lib/docker

    (5) Start Docker:

    service docker start
  28. How to replace the security certificate in iManager?

    Answer: To replace the iManager security certificate, you need to put your certificate in the volume directory, please follow the steps below:

    (1) Executes the following command to find the volume directory of the security certificate:

    docker volume ls | grep cert | awk -F ' '  '{print $2}' | xargs docker volume inspect

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

    (3) Restart the container ‘iManager-ui’. Replace ‘imanager-ui’ in the command below to the actual container name, use docker ps command to check the container name.

    docker restart imanager-ui

    Notes:

    1. The security certificate should includes both certificates of private key and public key;
    2. The file name of private key certificate should be: {certificate name}.key;
    3. The file name of public key certificate should be: {certificate name}.crt.
  29. When you add the GIS service monitor in linux environment and install the daemon by command after switching the protocol of iManager to https, how to solve the error ERROR: Certificate common name "imanager" doesn's match requested host name '${ip}'?

    Answer: Add the parameter --no-check-certificate after “wget -O” in the command when installing daemon. For example:

    sudo wget -O setup_28.sh --no-check-certificate 'https://172.16.120.134:8390/imanager/packages/setupscript?ip=172.16.112.150&id=28&os=linux' && sh setup_28.sh
  30. If you need to temporarily open ports before installing iManager, how to operate and view the opened ports?

    Answer: Please follow the steps below:

    (1) View container ip address:

    docker inspect <container_name> --format='{{.NetworkSettings.Networks.imanager_external.IPAddress}}'

    Notes: <container_name> is name of the container.

    (2) Open ports:

    iptables -t nat -A DOCKER -p tcp --dport <host_port> -j DNAT --to-destination <container_ip>:<container_port>
    iptables -t filter -A DOCKER -p tcp --dport <container_port> -d <container_ip> -j ACCEPT

    Notes: <container_ip> is ip address of the container. <container_port> is port of the container. <host_port> is port of the host.

    (3) View opend ports:

    iptables -vnL -t nat

    As the red box of the screenshot below, Port 9083 has been temporarily opened.

    temp_open

    (4) Close ports:

    iptables -t nat -D DOCKER -p tcp --dport <host_port> -j DNAT --to-destination <container_ip>:<container_port>
    iptables -t filter -D DOCKER -p tcp --dport <container_port> -d <container_ip> -j ACCEPT