配置环境变量

更新时间:
2024-09-20
下载文档

配置环境变量

本节主要介绍 ECSM 相关的环境变量,以及 Windows、Linux、SylixOS 和 EdgerOS 环境下配置环境变量的方法。

环境变量列表

环境变量说明默认值
STORAGE_PATH保存日志、镜像、数据库文件的绝对路径,请注意区分不同系统的连接符,例如在 Windows 系统中连接符是反斜杠(\),而在 Unix / Linux 系统中是正斜杠(/)/home/user/data
ASSETS_PATH前端资源的绝对路径,请注意区分不同系统的连接符/home/user/public
REGISTRY_PORT镜像仓库服务端口,ECSM 镜像仓库可作为单独的镜像仓库服务3000
WEB_PORTHTTP API 服务端口,此端口用于与前端进行通信3001
CONFIG_PORT配置中心服务端口3002
POSITION_PORT位置服务端口,位置服务对外提供 VSOA 服务查询功能3004
FILE_LEVEL日志文件等级,可配置为 trace、info、debug、warn、error、fatal 和 off。各等级顺序为 trace < debug < info < warn < error < fatal < off,根据配置控制日志文件记录的内容info
CONSOLE_LEVEL日志输出等级,可配置为 trace、info、debug、warn、error、fatal 和 off。各等级吮吸为 trace < debug < info < warn < error < fatal < off,根据配置控制日志控制台输出的内容info
TIME_FORMAT时间格式,详情可参见 Day.jsopen in new window'YYYY-MM-DD HH:mm:ss.SSS'
MIGRATION_INFO数据库版本,ECSM 数据库升级时使用,通过配置信息控制目标数据库版本,例如 MIGRATION_INFO = ecsmdb_migrate_20230420112523。数据库版本文件存放位置为 “lib/model/schemas/versions”-
MAX_LOGS日志最大保存数,例如 10 代表保存 10 个,10 d 代表保存 10 天11
LOG_SIZE日志文件大小,单位可以为 K、MB 和 GB6 MB
ECSM_IDECSM 服务的唯一标识,当使用多个 ECSM 管理同一个节点时,必须配置为唯一且不可重复的值ecsm-default-test
TRANSACTION_EXPIRY与前端建立 socket.io 事务通信时的超时时间,单位为 ms500001
KILL_TIMEOUTECSM 崩溃时退出程序的延迟时间,即进程出错时,杀掉进程的超时时间,单位为 ms10001
DC_HEARTBEAT_TIMEOUT心跳过滤时可容忍的最大心跳延迟时间,调度时心跳时间大于此值的节点会被过滤,单位为 ms10001
DC_PING_LATENCY_MAXPING 延迟过滤时可容忍的最大平均延迟,调度时 PING 的平均延迟大于此值的节点会被过滤,单位为 ms800
DC_NODE_INSTANCES_LIMIT实例数量过滤时节点上最大可部署的容器数量,即调度时目标节点上已有的容器数量限制1000
NODE_PING_DETECTION_TIMEOUT节点延迟探测超时时间,单位为 ms3000
NODE_PING_DETECTION_INTERVAL节点延迟探测间隔时间,单位为 ms1000
NODE_PING_LATENCY_QUEUE_SIZE节点延迟探测历史数据队列大小,最后的评估值为该队列数据的均值3
QUEUE_TIMEOUT镜像仓库同步和镜像下载时任务队列超时时间,单位为 ms, 请勿随意修改600001
CONTAINER_CHECK_MAX_TIME容器状态上报最大超时时间,如果超过当前值未上报则会将容器状态置为 null,单位为 ms6001
CONTAINER_DEPLOYMENT_MAX_TIME部署任务的最大超时时间,单位为 ms300000
DYNAMIC_REPLICA_KEEPER_TIME动态服务故障恢复任务的执行周期,单位为 ms30001
CONTAINER_UPDATE_CYCLE容器状态检查任务的执行周期,单位为 ms3001
HTTP_TIMEOUT镜像仓库服务的 HTTP 获取超时时间,单位为 ms5001
VSOA_PING_TIMEOUT初始化 VSOA 连接时的 PING 超时时间,单位为 ms3001
VSOA_PING_CYCLE初始化 VSOA 连接时的 PING 周期,单位为 ms5001
VSOA_PING_LOSTVSOA 断开连接的超时次数,超时该次数之后 VSOA 会断开连接3
VSOA_RECONNECT_TIMEVSOA 连接断开后下一次的重连时间,单位为 ms5001
RUN_CONTAINER_TIMEOUT向 ECSD 运行容器时的超时时间,单位为 ms300001
VSOA_CALL_TIMEOUT向 ECSD VSOA 调用的默认超时时间,单位为 ms60001
DOWNLOAD_IMAGE_TIMEOUT向 ECSD 下载镜像的超时时间,单位为 ms3001
CREATE_CONTAINER_TIMEOUT向 ECSD 创建容器时的超时时间,单位为 ms3000
DEPLOY_RETRY_NUMBER部署失败后的重试次数4
DYNAMIC_REPLICA_KEEPER_TIME镜像下载进度的轮询时间,单位为 ms200
REDEPLOY_DELAY部署失败后的下一次重新部署的延迟时间,单位为 ms3001
CREATION_POLL_INTERVAL故障迁移时,判定容器心跳不健康的最大超时时间,单位为 ms10001
CREATE_STATUS_SLEEP_TIME检测容器创建进度的周期,单位为 ms200
VSOA_SER_HEALTH_CHECK_TIMEOUT注册中心判定服务不健康的最大超时时间,单位为 ms8000
CRON_INTERVAL_INSPECT_CREATE_CONTAINER_QUEUE部署队列的检测时间,单位为 ms200
DEPLOY_CONCURRENT_TASK_LIMIT可以同时部署任务的节点数量10
DEPLOY_CONCURRENT_TASK_NODE_LIMIT单节点上可以同时部署的任务数量5
CONTROL_CONTAINER_TIMEOUT控制容器状态时的超时时间,单位为 ms3000
CONTAINER_OVERTIME若超过该时间容器状态与预期状态不一致,则会开始恢复状态60000
REUSED_INSYANCE_DB_DELAY镜像复用时,更新数据库的延迟时间,单位为 ms50
CREATION_POLL_TIMEOUT检测创建容器进度的超时时间,单位为 ms30000
CREATE_IMAGE_WARM_UP_TIMEOUT镜像预热的超时时间,单位为 ms10000
LIST_IMAGE_WARM_UP_TIMEOUT镜像预热列表的超时时间,单位为 ms10000
DELETE_IMAGE_WARM_UP_TIMEOUT删除镜像预热的超时时间,单位为 ms10000
VSOA_FAILURE_RESTART_MAX_TIMES微服务失败尝试重启的最大次数5
VSOA_FAILURE_RESTART_PERIOD微服务失败重启的最小时间周期,用于控制重启执行频率,单位为 ms5000
ECSD_EXPECT_VERSIONECSD 预期版本>=0.5.8
SQL_LOGGER_LEVEL将 SQL 日志打印在什么级别,默认关闭off
CONTAINER_DEPLOYMENT_TIMEOUT部署任务的最大超时时间,单位为 ms10001
REDEPLOY_DELAY部署失败后下一次重新部署的延迟时间,单位为 ms3001
STATUS_CONTROL_TIMEOUT若超过该时间容器状态与预期状态不一致,则会开始恢复状态60000
STATUS_RECOVERY_COUNT_LIMIT容器状态恢复次数3
ECSM_REGISTRY_HOSTECSM 镜像仓库的主机地址127.0.0.1
DELETED_DATA_RETENTION_PERIOD在数据库保留软删除数据的时间,单位为"天",到期后会执行硬删除, 默认为 7 天7
CLEANUP_DB_PATTERN清理数据库软删除数据的任务周期,格式为 "%Y-%m-%dT%H:%M:%S",例如 CLEANUP_DB_PATTERN = "0 0 3 * * *" 表示每 3 天清理一次"0 0 3 * * *"
CONTAINER_ENABLE_GC是否开启垃圾容器 GC,删除或更新服务时会产生垃圾容器。当设置为 0 时表示关闭,非 0 表示开启1
POSITION_END_POINT位置服务的的 IP 地址和端口号127.0.0.1:3004
POSITION_PASSWORD位置服务 Position Server 的密码-
POSITION_PING_INTERVAL位置服务的 PING 循环时间5000
POSITION_PING_TIMEOUT位置服务的 PING 超时时间3000
POSITION_PING_LOST位置服务的 PING 循环次数5
CONTAINER_RESET_TIMEOUT控制容器同步接口的超时时间(单位为 ms)。超过此时间容器数据未上报,则视成为容器失效。此处以默认 3000 毫秒为例,定义超时时间为 9000 毫秒,即容忍最多 3 次未上报9000
CONTAINER_FULL_DATA_SYNC_PATTERN基于 ECSD 的增量数据上报,ECSM 每间隔此时间会使用全量数据对增量数据进行修正,这会影响容器超时失效后的指标数据恢复。格式为 "%Y-%m-%dT%H:%M:%S",例如 "*/10 * * * * *" 表示每 10 个月天修正一次"*/10 * * * * *"
CONTROL_CONTAINER_SYNC_TIMEOUT控制容器同步接口的超时时间10000
CONTROL_CONTAINER_ASYNC_TIMEOUT控制容器异步接口的超时时间3000
VSOA_CALL_SYNC_CONCURRENT_LIMITVSOA 批量调用同步接口并发控制10
ECMP_HTTP_ENDPOINTECMP 与 ECSM 进行 HTTP 通讯的 IP 地址和端口号127.0.0.1:19008
ECMP_ENDPOINT软件工厂 ECMP 的 IP 地址-
ECMP_POS_POINTECMP 位置服务的 IP 地址和端口号127.0.0.1:19015
EQUIPMENTID软件工厂为 ECSM 生成的 ID,对应集群编号-
ECMP_DATA_TIMEOUTECMP 数据确认机制超时时间,单位为 ms10000
TELNET_TIMEOUTTelnet 连接超时时间,单位为 ms5000
UPLOAD_LIMIT上传文件分片大小的最大限制为 64 MB64

环境变量配置方法

ECSM 支持在运行 Windows、Linux、SylixOS 和 EdgerOS 操作系统的计算机上安装部署。不同系统下的环境变量设置方法不同,下面将详细介绍各系统的环境变量配置方法。

SylixOS 环境变量配置

  1. 通过远程连接工具(如 WindTerm)连接安装 ECSM 的计算机,并按提示输入用户名与密码。

  2. 执行如下命令,进入环境变量配置文件.env所在目录。其中 INSTALLATION_DIR 为 部署 ECSM 时指定的安装位置,如“/apps”。

    cd /$INSTALLATION_DIR/ecsm-package/ecsm-1.3.2-sylixos
    
  3. 选择如下两种方式之一配置环境变量。

    • 修改.env.platform文件

      1. 执行如下命令,打开并编辑环境变量配置文件,可参考 环境变量列表 配置需要的变量信息。配置完成后,按 ECS 键,并输入 :wq 以保存并退出。

        vi .env.platform
        
      2. 执行javascript install.js -a使配置生效。

        javascript install.js -a
        
    • 写入环境变量

      1. 执行env查看当前环境变量配置,并按需修改环境变量值,此处以修改日志文件等级变量 FILE_LEVEL=info 为例进行介绍。

        env
        FILE_LEVEL=info
        varsave
        
      2. 完成环境变量配置后,重启计算机以使配置生效。

Linux 环境变量配置

  1. 通过远程连接工具(如 WindTerm)连接安装 ECSM 的计算机,并按提示输入用户名与密码。

  2. 执行如下命令,进入 部署 ECSM 时,存放 ECSM 安装包的文件路径,例如“/tmp/ecsm-1.3.2-linux”。

    cd /tmp/ecsm-1.3.2-linux
    
  3. 按需执行如下命令,打开并编辑对应的环境变量配置文件,可参考 环境变量列表 配置需要的变量信息。

    vi .env.platform   // 编辑 ECSM 核心模块环境变量配置文件
    vi .env.position   // 编辑 ECSM Position 模块环境变量配置文件
    vi .env.ui    // 编辑 ECSM 前端 UI 模块环境变量配置文件
    
  4. 配置完成后,按 ECS 键,并输入 :wq 保存退出。

  5. 执行如下命令,重新部署修改的 ECSM 模块使配置的环境变量生效,需确保 install.sh 具有可执行(x)权限。

    ./install.sh
    

Windows 环境变量配置

  1. 双击电脑桌面的 ECSM 快捷图标,在 ECSM 顶部菜单栏中,单击帮助 > 环境变量,在本地资源管理器中打开 ecsm-app 文件夹。

  2. 在 ecsm-app 文件夹中,打开config.yaml文件,参考 环境变量列表 添加需要的环境变量,建议 ECSM_REGISTRY_HOST 和 POSITION_END_POINT 必须配置。

    ECSM_REGISTRY_HOST: ${当前计算机 IP 地址}
    POSITION_END_POINT: ${当前计算机 IP 地址}:3004
    
  3. 配置完成后,保存文件并重启 ECSM,即可使配置的环境变量生效。

EdgerOS 环境变量配置

  1. 获取 ECSM 安装包,通过解压工具(如 7-Zip)打开安装包。下面以安装 ecsm-v1.3.0-rc.1-edgeros-noarch.eap 为例进行介绍。

  2. 进入 program 文件夹,选中.env文件,单击右键选择编辑,在在.env文件中参考 环境变量列表 配置需要的环境变量信息。

  3. 配置完成后,保存并关闭文件,在如下弹出框中单击确定,然后关闭压缩工具,完成环境变量配置。

  4. 配置完成后,参考 部署至 EdgerOS 环境 重新部署 ECSM 应用,使配置的环境变量生效。

文档内容是否对您有所帮助?
有帮助
没帮助