修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交

搜索
v4.0
    v4.0

    Deployer

    本文介绍了通过 Ultipa Deployer (ultipa-deployer) 部署 Ultipa 高可用集群 (ultipa-server) 的基本步骤。

    硬件配置

    • 最小三台服务节点

    • 节点之间网络互通,建议最小集群节点规划在同一网段内

    • 所有服务节点可被客户端 (应用端的后端,或图形化界面 Ultipa Manager) 访问

    • CPU、内存依据项目需求决定

    软件环境

    • 当前服务器和目标服务器之间有 ssh 权限

    • 目标服务器 ssh 远程连接用户时,必须对配置文件中 WORK_PATH 目录具有写权限

    • 目标服务器已安装 docker,并且版本为 Docker 19+ 或相同等级企业版

    • 当前服务器中存在 ultipaServer 镜像包

    • 当前服务器中存在 ultipaServer 的证书

    部署流程

    1. 生成配置文件模板

    ./ultipa-deploy -g 
    
    1. 按照文件内的参数说明修改配置文件

    mv example_config.yaml config.yaml 
    
    vim config.yaml 
    
    1. 上传 LOCAL_IMAGE_TAR 描述的离线 docker 镜像到所有目标服务器,并执行 docker load

    ./ultipa-deploy -c config.yaml -o loadtar 
    
    1. 预先检查环境,是否满足部署条件

    ./ultipa-deploy -c config.yaml -o check 
    
    1. 启动部署

    ./ultipa-deploy -c config.yaml -o deploy 
    
    1. 查看部署情况

    ./ultipa-deploy -c config.yaml -o list 
    
    1. (如需) 停止此配置文件描述的集群

    ./ultipa-deploy -c config.yaml -o stop 
    
    1. (如需) 启动此配置文件描述的集群

    ./ultipa-deploy -c config.yaml -o start 
    

    证书更新

    1. 将 LOCAL_LICENSE 所描述的 server license 上传到目标服务器的 LICENSE_ON_REMOTE_SERVER 路径,旧的 license 会被重命名备份

    ./ultipa-deploy -c config.yaml -o uplic 
    

    .2 将 LICENSE_ON_REMOTE_SERVER 中的 server license 重新启动

    ./ultipa-deploy -c config.yaml -o relic 
    
    1. 通过 Ultipa Manager 登录证书被替换的集群,点击菜单栏图集,滑动鼠标至最下方,查看数据库信息,列表中显示证书的到期日期

    启动参数说明

    Option Explanation
    -h 显示帮助
    -c 指定配置文件
    -g 生成配置文件模板
    -l 目标服务器无法 ssh 远程连接时,使用此选项在本地生成 shell 部署脚本,然后将部署脚本上传到服务器,执行 bash deploy.sh 手动部署
    注意!!! 此方式会跳过所有的检查项目,如果已经存在 ultipa-server 请勿使用此方式部署
    -f 跳过检查项目,强制执行部署
    此选项有可能对已经存在的集群造成不可预知的后果,建议仅在开发环境或测试环境使用此选项
    -o loadtar 上传 LOCAL_IMAGE_TAR 描述的离线 docker 镜像到所有目标服务器,并执行 docker load
    -o deploy 全新部署 ultipa-server 集群
    -o check 预先检查目标服务器环境,是否满足配置文件描述的需求,如端口冲突,docker 容器重名等
    -o list 列表显示此文件描述集群,其他的容器会被过滤掉不显示
    -o stop 停止此配置文件描述的集群
    -o start 启动此配置文件描述的集群
    -o update 修改配置文件 IMAGE_TAG 后,执行 update,会使用新的镜像重启集群,如果目标服务器上没有描述的镜像且无法从镜像服务器下载,需要提前使用 loadtar 将离线镜像上传
    -o uplic 上传 license 到目标服务器,旧的 license 会被重命名备份,参考配置文件中的 LOCAL_LICENSE,LICENSE_ON_REMOTE_SERVER 这两个变量
    -o relic 将 LICENSE_ON_REMOTE_SERVER 中的 server license 重新启动
    注意:此操作不是重新上传 license

    配置文件示例及参数说明

    # 本地存放 license 的路径,uplic 功能会使用到此路径指定的文件 
    
    LOCAL_LICENSE: 
    
    # 目标服务器上 license 的存放路径,uplic 功能会将 license 从本地上传到此处,deploy 功能会复制此 license 到 docker 
    
    LICENSE_ON_REMOTE_SERVER: "/home/ultipa/license/ultipa.lic" 
    
    # 是否将此 yaml 配置文件上传到服务器上的 WORK_PATH下 ,旧版本的 yaml 配置文件(如有)将被重新命名 
    
    SAVE_THIS_CONFIG_TO_REMOTE_SERVER: true 
    
    # 需要部署的 docker 镜像的完整描述 
    
    IMAGE_TAG: 52.83.179.154:5000/ultipa/ultipa-server-htap:beta.4.0.118-b4.0.0 
    
    # 本地存放的 docker 镜像离线包,目标服务器无法连接 docker 镜像仓库时,可以用 loadtar 功能,将此镜像上传到服务器,并且执行 docker load 
    
    LOCAL_IMAGE_TAR: beta.4.0.118-b4.0.0.tar.gz 
    
    #LOCAL_IMAGE_TAR: /data1/abc/a.tar.gz 
    
    # 目前只支持 4.x 的 ultipa-server 
    
    ULTIPA_SERVER_VERSION: 4 
    
     
    
    # G_ 开头的变量表示是全局变量,如果具体服务器的变量为空,会使用对应的 G_ 全局变量填充 
    
    # ultipa server public 端口 
    
    G_PUBLIC_PORT: 61510 
    
    # ultipa server htap 端口 
    
    G_PRIVATE_PORT: 61511 
    
    # docker 的容器名
    
    G_SERVER_NAME: ultipa-61510 
    
    # ultipa server 映射目录 
    
    G_WORK_PATH: "/data1/docker_mounts/ultipa-61510" 
    
    # 目标服务器的 ssh 远程连接用户,此用户必须对 WORK_PATH 具有写权限 
    
    G_SSH_USER: root 
    
    # ssh 远程连接端口 
    
    G_SSH_PORT: 22 
    
    # ssh 远程连接,密码认证方式 
    
    G_SSH_PASSWORD: 
    
    # ssh 远程连接密钥认证方式 
    
    G_SSH_PRIVATE_KEY_PATH: id_rsa 
    
    # 此项不用填写 
    
    G_CONFLINE: 
    
     
    
    # FULL_HOST_LIST 是一个数组,示例只给出了一个目标服务器的描述,可以将此描述复制、修改,配置多个目标服务器 
    
    FULL_HOST_LIST: 
    
      - PRIVATE_IP: 192.168.56.101	# 目标服务器的PRIVATE_IP 
    
        SERVER_ID:					# SERVER_ID 为空时,会被按列表顺序补全 
    
        SERVER_ROLE: 1				# 此选项为必填,角色定义见附表 
    
        SSH_USER:					# 为空时使用 G_SSH_USER 
    
        SSH_PORT:					# 为空时使用 G_SSH_PORT 
    
        SSH_IP:						# 为空时使用 PUBLIC_IP 
    
        SSH_PASSWORD:				# 为空时使用 G_SSH_PASSWORD 
    
        SSH_PRIVATE_KEY_PATH: 		# 为空时使用G_SSH_PRIVATE_KEY_PATH 
    
        HOST_LISTEN_IP: 			# ultipa server 对外提供服务的IP, 为空时使用默认值 0.0.0.0 
    
        PUBLIC_IP:					# 为空时使用 PRIVATE_IP 
    
        PUBLIC_PORT:				# 为空时使用 G_PUBLIC_PORT 
    
        PRIVATE_PORT:				# 为空时使用 G_PRIVATE_PORT 
    
        SERVER_NAME:				# 为空时使用 G_SERVER_NAME 
    
        WORK_PATH:					# 为空时使用 G_WORK_PATH 
    
        CONFLINE:					# 此项不用填写 
    
    
    角色代码 定义
    0 节点作为 follower 时不能提供读,用于一致性读的场景
    1 点作为 follower 时可提供读,用于负载均衡读的场景
    2 算法节点,可以做算法运算,不可参与负载均衡读,算法节点不能被选举为 leader,一个集群中算法节点的数量不能超过 50%
    3 算法节点,可以参与负载均衡读
    4 备份节点,只同步数据,不参与选举
    请完成以下信息后可下载此书
    *
    公司名称不能为空
    *
    公司邮箱必须填写
    *
    你的名字必须填写
    *
    你的电话必须填写
    *
    你的电话必须填写