从上一篇文章《GAF简介-基于SuperMap GIS基础软件的GIS应用框架》我们知道SuperMap GAF分为社区版和企业版,本篇文章主要介绍如何安装部署GAF,帮助个人用户和企业用户快速上手熟悉相关操作。
①企业版
产品包已上传百度网盘,点击下载,提取码:gaf3
企业版GAF分为单机部署(单独部署)和基于iManager K8S(GAF for imanager)部署两个部署版本,两种部署模式均需进行相关许可配置操作。
②社区版
码云Gitee Relase 。
社区版GAF只有单机linux部署版本。单机linux部署完成后,没有许可配置步骤。
①硬件
最低硬件要求:
硬件推荐配置:
②软件
操作系统:
Linux操作系统(x86_64,x64,AMD64) :
其他软件要求
├── base-data 包含所有数据库表结构和初始化数据
├── bin 包含一些部署需要的函数
├── conf 其下的GAF_ENV_CONFIG.env文件为配置文件,包括一些内存限制 数据库账号配置
├── config 基础配置文件
├── data 一些中间件所需的数据
├── deploy.sh 部署脚本,包含一些部署命令, 通过执行命令 ./deloy.sh
├── docker-compose.yml docker-compose部署yml定义
├── jobs 部署过程中一次性任务脚本
其中,config为基础配置文件,内容如下:
#===========[基础配置]===========
# 容器挂载卷在主机的目录路径
GAF_VOL_DIR=/opt/SuperMap/GAF
# 单机容器环境的内网IP地址 (注意,若未修改,部署时自动修改为主机内网ip)
HOSTIP=localhost
# 数据库初始脚本【相对路径】
GAF_BASE_DATA_PATH=base-data
#===========[安装包部署配置]===========
# DOCKER镜像地址
GAF_REGISTRY=registry.cn-hangzhou.aliyuncs.com/supermap-gaf/
# DOCKER镜像TAG地址
GAF_REGISTRY_TAG=3.0.pro-beta
其中,conf目录下的GAF_ENV_CONFIG.env也是配置文件,包括Java启动参数、容器内存限制、数据库配置、SMTP邮箱设置等配置。
#Java启动参数
JAVA_OPTS="-Xms256m -Xmx448m -Djava.security.egd=file:/dev/./urandom"
#核心微服务组件容器内存限制
CORE_MEMORY_LIMIT=1024M
#部分非核心微服务组件容器内存限制
MEMORY_LIMIT=228M
#系统配置
GAF_ENV_INIT_USERNAME=sys_admin
GAF_ENV_INIT_PASSWORD=123456
#数据库配置
GAF_ENV_DATASOURCE_DBNAME=gaf
GAF_ENV_DATASOURCE_URL=jdbc:postgresql://gaf-postgres:5432/gaf
GAF_ENV_DATASOURCE_DRIVER=org.postgresql.Driver
GAF_ENV_DATASOURCE_PASSWORD=123456
GAF_ENV_DATASOURCE_USERNAME=admin
#许可
GAF_ENV_BSLICENSE_SERVER=gaf-bslicense-server:9183
GAF_ENV_VERIFY=eNoNysEBwCAIA8CVCIjBcRBh/xHaex/tuLca5AISZFRQCuLr5sml0qQjxImTCaIu9wb9vIHJhhF9Kn2YFbopqauvjiFaM0b7D/p0LZnO0QlYPX1b9/RS1ujx3bchw3vCUDNPjN5v1wfX6iql
GAF_ENV_VERIFYFORCLIENT=eNoVjtERRUEExVrCclAOa/VfwrvvNzOZ5JrCyG/VZR0JDjSZil4cuzKiiLRzndqjn5Ygd/5sZAN5LU6u4DSR0TERSB9foJpd+yBJiXiOvQBpnXCnz1TZTXvgcVZuvQUq8xp5Zl0DSuV4tDAO7tDI6Y5YJsh+najX+XXsu1AGidQ8GoDCPLcieHt+RIU6Eg==
#工作流配置
GAF_ENV_GBPM_DATASOURCE_URL=jdbc:postgresql://gaf-postgres:5432/gaf-bpm
#seata配置
GAF_ENV_SEATA_DATASOURCE_URL=jdbc:postgresql://gaf-postgres:5432/gaf-seata
#storage配置
GAF_ENV_STORAGE_DATASOURCE_URL=jdbc:postgresql://gaf-postgres:5432/gaf-storage
#Redis配置
GAF_ENV_REDIS_HOST=gaf-redis-server
GAF_ENV_REDIS_PORT=6379
GAF_ENV_REDIS_PASSWORD=
#链路追踪服务配置
GAF_ENV_ZIPKIN_URL=http://gaf-zipkin:9411
#日志收集服务地址
GAF_ENV_FLUENTD_PORT=24224
GAF_ENV_FLUENTD_HOST=gaf-fluentd-es
#Elastic服务配置
GAF_ENV_ES_HOST=gaf-elasticsearch
GAF_ENV_ES_PORT=9200
#注册中心服务配置
EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE=http://gaf-microservice-rigister:8080/eureka/
#MongoDB数据库配置
GAF_ENV_MONGO_AUTH_DB=admin
GAF_ENV_MONGO_DB=gaf
GAF_ENV_MONGO_HOST=gaf-mongodb
GAF_ENV_MONGO_PASSWORD=123456
GAF_ENV_MONGO_PORT=27017
GAF_ENV_MONGO_USERNAME=admin
#MINIO账号密码
GAF_ENV_MINIO_USERNAME=admin
GAF_ENV_MINIO_PASSWORD=admin123456
#GAF访问地址
GAF_HOST=http://${HOSTIP}
#SMTP邮箱设置 如果有,可设置,用于系统邮件发送。
GAF_ENV_MAIL_HOST=
GAF_ENV_MAIL_PORT=
GAF_ENV_MAIL_USERNAME=
GAF_ENV_MAIL_PASSWORD=
#MQ配置
GAF_ENV_MQ_HOST=gaf-mq
GAF_ENV_MQ_PORT=5672
GAF_ENV_MQ_USERNAME=guest
GAF_ENV_MQ_PASSWORD=guest
#IPORTAL OAUTH
GAF_IPORTAL_PATH=
GAF_IPORTAL_CONFIG_ID=222
Linux CentOS7.5
Docker
安装:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable docker
systemctl start docker
验证:
docker ps
docker-compose
安装:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 或者 sudo curl -L "http://gaf.net.cn/download/gaf/software-package/docker-compose" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
验证:
docker-compose --version
在安装包下执行./deploy.sh
获取帮助信息,如下
Usage:
GAF应用部署脚本用法: ./deploy.sh [COMMANDS] [OPTIONS]
COMMANDS命令:
all 部署GAF应用
iserver 部署iserver并挂载GAF存储
remove 删除GAF应用
create 部署GAF单个GAF应用
recreate 重新线上拉取镜像并部署单个GAF应用
stop 停止GAF应用容器
start 启动GAF应用容器
restart 重启GAF应用容器
OPTIONS选项:
-v 执行删除命令时,如果存在持久化数据即删除,volume
Example示例:
./deploy.sh all 部署GAF应用
./deploy.sh remove && ./deploy.sh all 删除所有已部署的GAF应用,不删除数据,并重新以老数据部署
./deploy.sh remove -v && ./deploy.sh all 删除所有已部署的GAF应用并删除数据,完全重新部署
./deploy.sh remove -v <service> 删除指定的已部署GAF应用,并删除对应数据
./deploy.sh create <service> 部署指定的GAF应用
./deploy.sh recreate <service> 重新线上拉取镜像并部署单个GAF应用
./deploy.sh stop <service> 停止已部署的GAF应用容器
./deploy.sh start <service> 启动指定的GAF应用容器
使用./deploy.sh all
命令部署GAF。
使用./deploy.sh stop
停止容器,使用./deploy.sh start
启动容器。
参考iManager K8S帮助文档,https://help.supermap.com/iManager_K8S/1021/zh/guides/getting-started/
注意,需要为GAF预留16GB的内存。
获取部署文件GAF.yml , 其中有如下配置,与单机linux部署包配置相似。
#Java启动参数
JAVA_OPTS: "-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom"
#系统配置
GAF_ENV_INIT_USERNAME: sys_admin
GAF_ENV_INIT_PASSWORD: 123456
#许可
GAF_ENV_BSLICENSE_SERVER: bslicense-server.supermap:9183
GAF_ENV_VERIFY: eNoNysEBwCAIA8CVCIjBcRBh/xHaex/tuLca5AISZFRQCuLr5sml0qQjxImTCaIu9wb9vIHJhhF9Kn2YFbopqauvjiFaM0b7D/p0LZnO0QlYPX1b9/RS1ujx3bchw3vCUDNPjN5v1wfX6iql
GAF_ENV_VERIFYFORCLIENT: eNoNzMcRADEIBMGUMMKFg2CVfwh336maHjtuFNM9fFaS0y/ZkTOuNrLzht5dK4eyIkS0a7Xy9pFr8BecWWwEefH04o1z6K2u/y2hH/LM9WWRohZwVPvxxssN/iufZvVgdEcTbaET2jnWrQeWXRdM5YZe2YsZEUAPjR1zFSx0Ul2Mi3D7MYUL6Oc/3P09Xw==
#数据库配置
GAF_ENV_DATASOURCE_DBNAME: gaf
GAF_ENV_DATASOURCE_URL: jdbc:postgresql://gaf-postgres:5432/gaf
GAF_ENV_DATASOURCE_DRIVER: org.postgresql.Driver
GAF_ENV_DATASOURCE_PASSWORD: 123456
GAF_ENV_DATASOURCE_USERNAME: admin
#工作流配置
GAF_ENV_GBPM_DATASOURCE_URL: jdbc:postgresql://gaf-postgres:5432/gaf-bpm
#seata配置
GAF_ENV_SEATA_DATASOURCE_URL: jdbc:postgresql://gaf-postgres:5432/gaf-seata
#storage配置
GAF_ENV_STORAGE_DATASOURCE_URL: jdbc:postgresql://gaf-postgres:5432/gaf-storage
#Redis配置
GAF_ENV_REDIS_HOST: gaf-redis-server
GAF_ENV_REDIS_PORT: 6379
GAF_ENV_REDIS_PASSWORD:
#链路追踪服务配置
GAF_ENV_ZIPKIN_URL: http://gaf-zipkin:9411
#日志收集服务地址
GAF_ENV_FLUENTD_PORT: 24224
GAF_ENV_FLUENTD_HOST: fluentd-es.supermap
#Elastic服务配置
GAF_ENV_ES_HOST: elasticsearch.supermap
GAF_ENV_ES_PORT: 9200
#注册中心服务配置
EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE: http://gaf-microservice-rigister:8080/eureka/
#MongoDB数据库配置
GAF_ENV_MONGO_AUTH_DB: admin
GAF_ENV_MONGO_DB: gaf
GAF_ENV_MONGO_HOST: gaf-mongodb
GAF_ENV_MONGO_PASSWORD: 123456
GAF_ENV_MONGO_PORT: 27017
GAF_ENV_MONGO_USERNAME: admin
#MINIO账号密码
GAF_ENV_MINIO_USERNAME: admin
GAF_ENV_MINIO_PASSWORD: admin123456
#GAF访问地址,SERVICE_IP会被替代为imanager的服务ip
GAF_HOST: http://${SERVICE_IP}:31231
HOSTIP: ${SERVICE_IP}
#IMGR
IMGR_PORT: 31100
IMGR_ADMIN_USERNAME: admin
IMGR_ADMIN_PASSWORD: admin
IMGR_NAMESPACE_GAF: ${NAMESPACE}
IMGR_APPSETID_GAF: ${appsetId}
IMGR_URI_KEYCLOAK: imanager/dashboard/web/api/keycloak
IMGR_URI_TOKEN: realms/imanager/protocol/openid-connect/token
IMGR_URI_APPSET_LIST: imanager/dashboard/web/api/appsets/list
IMGR_URI_USER: imanager/dashboard/web/api/users
IMGR_URI_APPSETS_CREATE: imanager/dashboard/web/api/appsets/create
IMGR_URI_APPSETS_K8S-OBJECTS: imanager/dashboard/web/api/appsets/{appsetId}/k8s-objects
IMGR_URI_APPSETS_GRAFANA-URL: imanager/dashboard/web/api/appsets/grafanaUrl?appSetId={appsetId}
IMGR_URI_APPSETS: imanager/dashboard/web/api/appsets/{appsetId}
#SMTP邮箱设置
GAF_ENV_MAIL_HOST:
GAF_ENV_MAIL_PORT:
GAF_ENV_MAIL_USERNAME:
GAF_ENV_MAIL_PASSWORD:
#MQ配置
GAF_ENV_MQ_HOST: gaf-mq
GAF_ENV_MQ_PORT: 5672
GAF_ENV_MQ_USERNAME: guest
GAF_ENV_MQ_PASSWORD: guest
#IPORTAL OAUTH
GAF_IPORTAL_PATH:
GAF_IPORTAL_CONFIG_ID: 222
①在iManager菜单站点定制下的站点模板,添加编排文件GAF.yml,如下图所示,分组可暂时选择已有的数据库。
②在站点管理创建站点 gaf3beta (可自定义名称),站点类型选择上一步添加的站点模板gaf。点击确定。
③创建后点击站点gaf3beta,如下图所示。
④可查看拓扑图,查看部署情况。若绿点全部亮起,则部署成功。
⑤点击账户
按钮获取初始用户密码。
SuperMap 包含普通许可、云许可、Web 许可等3种许可,这几种许可各有特点,获取和使用方式亦不尽相同,分别适用于不同的应用场景。GAF企业版目前采用Web许可模式。
单机部署的企业版GAF,已经部署了Web许可中心,地址是 ${主机ip}:9183。第一次进入,注册账号然后登录,如下图所示。
基于iManager K8S部署的企业版GAF,已经存在了Web许可中心,如下图所示。
许可申请
在Web许可中心中,选择更新激活
,下载报告,然后根据提示的操作流程完成许可激活。
注意1:申请试用许可,需要注册 SuperMap Online 账户后即可申请。新申请页面,https://www.supermapol.com/subscription/time-license/object。
注意2:产品系列选择10i(web) , 许可适用产品 可全选, 加密方式选择运行报告(即在Web许可中心下载的*.reportc文件)
注意3:若是试用许可,导入时按套导入即可。