tarsdocs
  • Readme.md
  • CLA
  • LICENSE
  • 基础介绍
    • 简介
    • 基础概念
    • 基础通信协议 Tars
    • 统一通信协议 Tup
    • 开发模式介绍
    • 模板配置
    • 服务市场
    • 服务扩展
    • 框架版本说明
  • 开源版框架介绍
    • 开源版本部署
      • 部署总体介绍
      • Docker环境安装
      • Mysql安装
      • 框架源码部署(Linux/Mac)
      • 框架源码部署(Windows)
      • 框架Docker部署
      • 框架节点部署
      • 业务服务容器化
      • 框架K8SDocker 部署
      • 框架K8STARS 部署
      • 框架K8SFramework 部署(强烈推荐)
      • 框架更新及扩容
      • 调用链升级注意事项
      • TarsWeb-v3.0.3升级说明
    • 开源版管理平台
      • TarsWeb说明
      • web用户体系
      • web管理平台 API
  • 企业版本介绍
    • 企业版说明
    • 框架集群化机制
    • 框架单节点机制
    • 使用二进制包部署
    • 使用容器部署
    • 业务服务一主多备机制
    • 命令行控制终端
    • IP-LIST级联缓存机制
    • 多数据中心管理
    • 多网络支持
    • 第三方服务管理
    • 数据产生和管理机制
    • 密码重置
    • TarsPython介绍
  • 框架关键特性
    • 业务配置
    • 服务监控
    • 无损发布/重启
    • 调用链
    • IDC分组
    • 鉴权功能
  • TarsCPP
    • 编译
    • 快速开发入门
    • 使用指南
    • 开发规范
    • 服务线程说明文档
    • protobuf 协议支持文档
    • 第三方协议支持
    • HTTP1 支持
    • HTTP2 支持
    • TLS 通信支持
    • Push 功能说明
    • PushCallback 功能说明
    • Cookie 支持
    • 队列模式
    • 手动绑定
    • 性能数据
    • 2.x 版本变化
    • 3.x 版本变化
    • 协程版本说明
    • 基础类库说明
    • [案例]
      • 框架快速入门
      • Http 服务示例
  • TarsJava
    • 快速开始
    • 快速开发入门
    • [使用指南]
      • Tars 服务开发与上线
      • HTTP 服务开发与上线
      • 生成接口调用文件
    • [性能测试]
      • tars java 压测代码
  • TarsGo
    • 基本介绍
    • 快速开始
    • 使用指南
    • cmake 管理代码
    • pb2tarsgo
    • 性能数据
    • 使用示例
  • TarsPHP
    • 搭建 php 环境
    • 快速开发入门
    • [快速起步]
      • 搭建 HttpServer
      • 搭建 TimerServer
      • 搭建 TcpServer
      • 搭建 WebSocketServer
      • 弹幕活动实战
    • [框架简介]
      • 简介
      • tars-server
      • tars-client
      • tars-config
      • tars-deploy
      • tars-extension
      • tars-log
      • tars-monitor
      • tars-registry
      • tars-report
      • tars-utils
      • tars2php
    • [高阶应用]
      • PHP 的 Swoole 框架如何接入 Tars
      • 与 thinkphp 结合使用
      • 与 Swoft 结合使用
      • 与 Laravel 结合使用
      • 与 Yii2 结合使用
      • 持续集成方案
    • [其他]
      • 常见问题
      • 如何 Debug
      • changelog
      • 其他外部文档
  • Tars.js
    • 基本介绍
    • 脚手架
    • 快速开发入门
    • @tars/stream
    • @tars/rpc
    • @tars/logs
    • @tars/config
    • @tars/monitor
    • @tars/notify
    • @tars/utils
    • @tars/dyeing
    • @tars/node-agent
    • @tars/winston-tars
    • tars2node
  • K8SFramework
    • [安装和使用说明]
      • 介绍
      • 特性
      • 安装
      • 升级
      • 云原生运维
      • 管理平台
      • 证书
    • [开发环境构建]
      • Dockerfile 说明
      • 服务发布流程说明
      • 制作基础编译镜像
      • 制作业务服务镜像
      • 制作 Helm 包
      • 发布业务镜像到 K8S 集群
      • 服务发布示例
      • 如何调试业务服务
  • 服务扩展
    • 云告警
    • 接口及压测工具
    • 网关服务
    • dcache缓存服务
    • 发送邮件服务
    • 一致性存储服务
    • 一致性存储web管理平台
    • 唯一计数服务
  • 常见问题
    • 安装常见问题
    • Issues
    • Issues-tarscpp
    • Issues-tarsjava
    • Issues-tarsgo
    • Issues-tarsphp
  • 开源合作
    • TarsFramework 项目 Git 合作规范
  • 直播视频
    • B 站 TARS 培训系列课程
  • 相关文章
    • TARS 技术文章
  • 其它资源分享
    • 下载
    • Tars 介绍.pptx
    • TarsPHP 解密.pdf
    • TarsJava 本地调试.pdf
    • 微服务在腾讯的业务实践.pptx
Powered by GitBook
On this page
  • 安装说明
  • 安装框架
  • 安装framework
  • 安装TarsNode节点
  • 安装web平台
  • 框架启动方式

Was this helpful?

  1. 企业版本介绍

使用二进制包部署

使用tarsctl + framework二进制包来完成tars企业版本框架的安装.

安装说明

  • 正常情况下, 需要选取2n+1节点服务器, 从而完成框架组件的容灾;

  • 如果有需要, 也可以在同一个服务器上安装三次, 每次安装在不同目录, 使用不同的节点名称;

  • 也可以将框架部署成单节模式;

tars企业版本可以在同一台节点上安装多个tarsnode, 只需要每个tarsnode的节点名称不同即可!

安装框架

安装framework

  • 得到安装包: framework.tgz, 源码下可以执行: make publish, 得到安装包: framework.tgz

  • 解压framework.tgz, 目录下得到tarsctl

  • 通常至少在2n+1台节点(建议3台)的运行以下命令安装framework

tarsctl install framework --mode=cluster --install-path=/usr/local/app --file=framework.tgz --locator="tcp -h xxx1 -p yyy1:tcp -h xxx2 -p yyy2:tcp -h xxx3 -p yyy3" --localip=[xxx] --node-name=tarsnode-0 --registry=\"tcp -h xxx1 -p xxx2\"
  • file: 制定了安装包文件, 如果是源码编译出来的, 通过make publish来生成

  • mode: 集群机制, 默认是集群机制, 如果希望只部署一个节点(单节点机制), 则mode设置为single

  • install-path: 指定了安装目录, 当前用户需要有这个目录的权限, 缺省为: /usr/local/app

  • locator: 指定了主控的地址, 指定了三个地址, 必须和三台节点相匹配

  • localip: 本节点的ip

  • node-name: 当前安装的节点名称, 指定了tarsnode的节点名称(必须唯一)

  • registry: 当前安装的主控节点QueryObj绑定的地址, 必须是locator中的一个(如果是单节点机制, registry不需要设置)

  • tarslog只部署在第一台节点xxx1上, 其他服务都是部署了三台节点

注意: 可以在同一台机器上安装三个framework, 注意每次的安装目录(install-path)和节点名称(node-name)要不同, 另外注意locator和registry的地址要争取(比如ip相同, 端口不同)

安装TarsNode节点

安装框架时, 每台节点会自动安装tarsnode, 当需要添加新的节点时, 只需要安装节点即可, 可以通过以下方式在新的节点上安装tarsnode

tarsctl install node --install-path=/usr/local/app --file=framework.tgz --locator="tcp -h xxx1 -p yyy1:tcp -h xxx2 -p yyy2:tcp -h xxx3 -p yyy3" --localip=[xxx] --node-name=tarsnode-x
  • file: 制定了安装包文件, 如果是源码编译出来的, 通过make publish来生成

  • install-path: 指定了安装目录, 当前用户需要有这个目录的权限, 缺省为: /usr/local/app

  • locator: 指定了主控的地址

  • localip: 本节点的ip, 如果节点上多张网卡, 你希望都绑定, 你可以使用0.0.0.0来支持多网卡

安装web平台

  • 得到web安装包web.tgz

  • 在节点上安装web.tgz

tarsctl install web --install-path=/usr/local/app --file=web.tgz --locator="tcp -h xxx1 -p yyy1:tcp -h xxx2 -p yyy2:tcp -h xxx3 -p yyy3"
  • install-path: 指定了安装目录, 当前用户需要有这个目录的权限

  • web: 指定了web安装包

  • locator: 指定了主控的地址

你可以在多台机器上安装台web管理平台, 前面配置负载均衡即可.

启动管理平台:

cd /usr/local/app/web

框架启动方式

启动组件服务有两种方式, 一种是手动拉起, 一种是自动拉起

手动拉起:

  • 适用于开发调试阶段, 一般只在一台节点上启动, 方便调试, 通过tarsctl framework start --install-path=/usr/local/app 来启动

  • 通过: tarsctl framework stop --install-path=/usr/local/app 来关闭服务

  • 通过: tarsctl framework restart --install-path=/usr/local/app 来重启服务

  • 通过: tarsctl framework list --install-path=/usr/local/app 来查看服务的状态

注意: install-path参数和安装时指定的目录相同

这种模式下, 如果tarsnode挂掉, 是不会被自动拉起的, 其他服务挂掉会被tarsnode启动拉起, 这种模式你需要自己监控tarsnode的死活, 并拉起.

自动拉起:

  • 自动拉起只适用于linux系统, 通过系统的systemd来拉起服务

  • 适用于生成环境, tarsnode会被自动拉起, 其他服务挂掉会被tarsnode自动拉起, tarsnode的启动通过linux系统systemd服务来实现

  • 为了方便管理, tarsnode启动建议不采用root用户, 采用普通用户来启动, 这样所有服务都以普通用户启动, 因此如果涉及到特殊的目录权限, 需要自己控制

实现方式如下:

  • 切换到root用户, 执行: loginctl enable-linger $user, 注意: $user 要替换为普通用户名称

  • 切换到$user用户: su $user

  • tarsctl framework systemd --install-path=...., 在systemd系统服务中安装tarsnode.service, 注意安装的service名称为: $nodename.service

  • systemctl enable $nodename.service, 注意: $nodename 要替换为当前节点的名称

  • 启动tarsnode服务: systemctl --user start $nodename.service, 注意: $nodename 要替换为当前节点的名称

这种模式下, 会在 ~/.config/systemd/user/$nodename.service 生成文件, 通过systemctl来启动/重启/停止服务

  • 启动: systemctl --user start $nodename.service

  • 重启: systemctl --user restart $nodename.service

  • 停止: systemctl --user stop $nodename.service

注意: systemd只管理了tarsnode服务, 其他组件服务都被tarsnode所管理

Previous框架单节点机制Next使用容器部署

Last updated 10 months ago

Was this helpful?