4. Tars框架运行环境搭建

4.1. 框架基础服务打包

框架服务的安装分两种:

一种是核心基础服务(必须的),必须手工部署的,

一种是普通基础服务(可选的),可以通过管理平台发布的(和普通服务一样)。

  1. 手工部署的核心基础服务:tarsAdminRegistry, tarsregistry, tarsnode, tarsconfig, tarspatch
  2. 通过管理平台部署的普通基础服务:tarsstat, tarsproperty,tarsnotify, tarslogtarsquerystattarsqueryproperty

首先准备第一种服务的安装包,在build/目录下输入:

  1. make framework-tar

会在当前目录生成framework.tgz 包
这个包包含了 tarsAdminRegistry, tarsregistry, tarsnode, tarsconfig, tarspatch 部署相关的文件

第二种服务安装包可以单独准备:

  1. make tarsstat-tar
  2. make tarsnotify-tar
  3. make tarsproperty-tar
  4. make tarslog-tar
  5. make tarsquerystat-tar
  6. make tarsqueryproperty-tar

生成的发布包,在管理平台部署发布完成后,进行部署发布,具体参见4.4章节。

注意在管理平台进行部署时,选择正确的服务模板即可(默认是有的,若没有相应的模版,可以在管理平台上创建,具体服务的模版内容可以tars_template.md)!

4.2. 安装框架核心基础服务

4.2.1. 安装核心基础服务

切换至root用户,创建基础服务的部署目录,如下:

  1. cd /usr/local/app
  2. mkdir tars
  3. chown ${普通用户}:${普通用户} ./tars/

将已打好的框架服务包复制到/usr/local/app/tars/,然后解压,如下:

  1. cp build/framework.tgz /usr/local/app/tars/
  2. cd /usr/local/app/tars
  3. tar xzfv framework.tgz

修改各个服务对应conf目录下配置文件,注意将配置文件中的ip地址修改为本机ip地址,如下:

  1. cd /usr/local/app/tars
  2. sed -i "s/192.168.2.131/${your_machine_ip}/g" `grep 192.168.2.131 -rl ./*`
  3. sed -i "s/db.tars.com/${your_machine_ip}/g" `grep db.tars.com -rl ./*`
  4. sed -i "s/registry.tars.com/${your_machine_ip}/g" `grep registry.tars.com -rl ./*`
  5. sed -i "s/web.tars.com/${your_machine_ip}/g" `grep web.tars.com -rl ./*`

注意,192.168.2.131这个ip是tars开发团队当时部署服务测试的ip信息,替换成本机的部署地址即可,不要是127.0.0.1

注意,db.tars.com是tars框架数据库部署的地址信息,替换成自己数据库的部署地址即可

注意,registry.tars.com是tars框架主控tarsregistry服务部署的地址信息,替换成自己主控tarsregistry符的部署地址即可

注意,web.tars.com是rsync使用的地址信息,替换成自己的部署机器地址即可

然后在/usr/local/app/tars/目录下,执行脚本,启动tars框架服务

  1. chmod u+x tars_install.sh
  2. ./tars_install.sh

注意如果几个服务不是部署在同一台服务器上,需要自己手工copy以及处理tars_install.sh脚本

部署管理平台并启动web管理平台(管理平台必须和tarspatch部署在同一台服务器上)部署tarspatch,切换至root用户,并执行

  1. tarspatch/util/init.sh

**注意,上面脚本执行后,看看rsync进程是否起来了,若没有看看rsync使用的配置中的ip是否正确(即把web.tars.com替换成本机ip)

在管理平台上面配置tarspatch,注意需要配置服务的可执行目录(/usr/local/app/tars/tarspatch/bin/tarspatch)

在管理平台上面配置tarsconfig,注意需要配置服务的可执行目录(/usr/local/app/tars/tarsconfig/bin/tarsconfig)

tarsnode需要配置监控,避免不小心挂了以后会启动,需要在crontab里面配置

  1. * * * * * /usr/local/app/tars/tarsnode/util/monitor.sh

4.2.2. 服务扩容前安装tarsnode

核心基础服务的安装成功后,如果需要在其他机器也能部署基于tars框架的服务,那么在管理平台扩容部署前,需要安装tarsnode服务。

如果只是在一台机器部署服务进行测试,这一步可以先忽略,等到需要扩容时再执行。

具体步骤跟上一节很像,如下:

切换至root用户,创建基础服务的部署目录,如下:

  1. cd /usr/local/app
  2. mkdir tars
  3. chown ${普通用户}:${普通用户} ./tars/

将已打好的框架服务包复制到/usr/local/app/tars/,然后解压,如下:

  1. cp build/framework.tgz /usr/local/app/tars/
  2. cd /usr/local/app/tars
  3. tar xzfv framework.tgz

修改各个服务对应conf目录下配置文件,注意将配置文件中的ip地址修改为本机ip地址,如下:

  1. cd /usr/local/app/tars
  2. sed -i "s/192.168.2.131/${your_machine_ip}/g" `grep 192.168.2.131 -rl ./*`
  3. sed -i "s/db.tars.com/${your_machine_ip}/g" `grep db.tars.com -rl ./*`
  4. sed -i "s/registry.tars.com/${your_machine_ip}/g" `grep registry.tars.com -rl ./*`
  5. sed -i "s/web.tars.com/${your_machine_ip}/g" `grep web.tars.com -rl ./*`

注意,192.168.2.131这个ip是tars开发团队当时测试的ip信息,替换成自己扩容机器的ip地址即可,不要是127.0.0.1

注意,db.tars.com是tars框架数据库部署的地址信息,替换成数据库的部署ip地址即可

注意,registry.tars.com是tars框架主控tarsregistry服务部署的地址信息,替换成自己主控tarsregistry的部署地址即可

注意,web.tars.com是rsync使用的地址信息,替换成web的部署机器地址即可

然后在/usr/local/app/tars/目录下,执行脚本,启动tars框架服务

  1. chmod u+x tarsnode_install.sh
  2. ./tarsnode_install.sh

配置监控,避免不小心挂了以后会启动,需要在crontab里面配置

  1. * * * * * /usr/local/app/tars/tarsnode/util/monitor.sh

4.3. 安装web管理系统

管理系统源代码目录名称为web

修改配置文件,将配置文件中的ip地址修改为本机ip地址,如下:

  1. cd web
  2. sed -i 's/db.tars.com/${your_machine_ip}/g' config/webConf.js
  3. sed -i 's/registry.tars.com/${your_machine_ip}/g' config/tars.conf

安装web管理页面依赖,启动web

  1. cd web
  2. npm install --registry=https://registry.npm.taobao.org
  3. npm run prd

创建日志目录

  1. mkdir -p /data/log/tars

访问站点
浏览器输入${your machine ip}:3000,即可看到,如下:

tars

4.4. 安装框架普通基础服务

平台部署的端口号仅供参考,保证端口无冲突即可

在执行上述的make语句后,/usr/local/app/TarsFramework/build就会生成几个*.tgz文件,例如tarslog.tgz, tarsnotify.tgz等等,这些文件就是下面章节中所需要部署的包文件。

4.4.1 tarsnotify部署发布

默认tarsnotify在安装核心基础服务时,部署信息已初始化了,安装完管理平台后,就可以看到,如下:

tars

上传发布包后,发布如下:

tars

4.4.2 tarsstat部署发布

部署信息如下:

tars

上传发布包后,发布如下:

tars

4.4.3 tarsproperty部署发布

部署信息如下:

tars

上传发布包后,发布如下:

tars

4.4.4 tarslog部署发布

部署信息如下:

tars

上传发布包后,发布如下:

tars

4.4.5 tarsquerystat部署发布

部署信息如下:

tars

注意在服务部署时,选择非Tars协议,因为Web是以json协议来获取服务监控的数据的

上传发布包后,发布如下:

tars

4.4.5 tarsqueryproperty部署发布

部署信息如下:

tars

注意在服务部署时,选择非Tars协议,因为Web是以json协议来获取属性监控的数据的

上传发布包后,发布如下:

tars

最后,在安装环境过程中,如果系统仍有问题,请到以下的目录查找日志文件分析问题所在:
(1) /usr/local/app/TarsWeb/log
(2) /usr/local/app/tars/app_log/tars