4. Tars框架运行环境搭建
4.1. 框架基础服务打包
框架服务的安装分两种:
一种是核心基础服务(必须的),必须手工部署的,
一种是普通基础服务(可选的),可以通过管理平台发布的(和普通服务一样)。
手工部署的核心基础服务:tarsAdminRegistry, tarsregistry, tarsnode, tarsconfig, tarspatch
通过管理平台部署的普通基础服务:tarsstat, tarsproperty,tarsnotify, tarslog,tarsquerystat,tarsqueryproperty
首先准备第一种服务的安装包,在build/目录下输入:
make framework-tar
会在当前目录生成framework.tgz 包
这个包包含了 tarsAdminRegistry, tarsregistry, tarsnode, tarsconfig, tarspatch 部署相关的文件
第二种服务安装包可以单独准备:
make tarsstat-tar
make tarsnotify-tar
make tarsproperty-tar
make tarslog-tar
make tarsquerystat-tar
make tarsqueryproperty-tar
生成的发布包,在管理平台部署发布完成后,进行部署发布,具体参见4.4章节。
注意在管理平台进行部署时,选择正确的服务模板即可(默认是有的,若没有相应的模版,可以在管理平台上创建,具体服务的模版内容可以tars_template.md)!
4.2. 安装框架核心基础服务
4.2.1. 安装核心基础服务
切换至root用户,创建基础服务的部署目录,如下:
cd /usr/local/app
mkdir tars
chown ${普通用户}:${普通用户} ./tars/
将已打好的框架服务包复制到/usr/local/app/tars/,然后解压,如下:
cp build/framework.tgz /usr/local/app/tars/
cd /usr/local/app/tars
tar xzfv framework.tgz
修改各个服务对应conf目录下配置文件,注意将配置文件中的ip地址修改为本机ip地址,如下:
cd /usr/local/app/tars
sed -i "s/192.168.2.131/${your_machine_ip}/g" `grep 192.168.2.131 -rl ./*`
sed -i "s/db.tars.com/${your_machine_ip}/g" `grep db.tars.com -rl ./*`
sed -i "s/registry.tars.com/${your_machine_ip}/g" `grep registry.tars.com -rl ./*`
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框架服务
chmod u+x tars_install.sh
./tars_install.sh
注意如果几个服务不是部署在同一台服务器上,需要自己手工copy以及处理tars_install.sh脚本
部署管理平台并启动web管理平台(管理平台必须和tarspatch部署在同一台服务器上)部署tarspatch,切换至root用户,并执行
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里面配置
* * * * * /usr/local/app/tars/tarsnode/util/monitor.sh
4.2.2. 服务扩容前安装tarsnode
核心基础服务的安装成功后,如果需要在其他机器也能部署基于tars框架的服务,那么在管理平台扩容部署前,需要安装tarsnode服务。
如果只是在一台机器部署服务进行测试,这一步可以先忽略,等到需要扩容时再执行。
具体步骤跟上一节很像,如下:
切换至root用户,创建基础服务的部署目录,如下:
cd /usr/local/app
mkdir tars
chown ${普通用户}:${普通用户} ./tars/
将已打好的框架服务包复制到/usr/local/app/tars/,然后解压,如下:
cp build/framework.tgz /usr/local/app/tars/
cd /usr/local/app/tars
tar xzfv framework.tgz
修改各个服务对应conf目录下配置文件,注意将配置文件中的ip地址修改为本机ip地址,如下:
cd /usr/local/app/tars
sed -i "s/192.168.2.131/${your_machine_ip}/g" `grep 192.168.2.131 -rl ./*`
sed -i "s/db.tars.com/${your_machine_ip}/g" `grep db.tars.com -rl ./*`
sed -i "s/registry.tars.com/${your_machine_ip}/g" `grep registry.tars.com -rl ./*`
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框架服务
chmod u+x tarsnode_install.sh
./tarsnode_install.sh
配置监控,避免不小心挂了以后会启动,需要在crontab里面配置
* * * * * /usr/local/app/tars/tarsnode/util/monitor.sh
4.3. 安装web管理系统
管理系统源代码目录名称为web
修改配置文件,将配置文件中的ip地址修改为本机ip地址,如下:
cd web
sed -i 's/db.tars.com/${your_machine_ip}/g' config/webConf.js
sed -i 's/registry.tars.com/${your_machine_ip}/g' config/tars.conf
安装web管理页面依赖,启动web
cd web
npm install --registry=https://registry.npm.taobao.org
npm run prd
创建日志目录
mkdir -p /data/log/tars
访问站点
浏览器输入${your machine ip}:3000,即可看到,如下:
4.4. 安装框架普通基础服务
平台部署的端口号仅供参考,保证端口无冲突即可
在执行上述的make语句后,/usr/local/app/TarsFramework/build就会生成几个*.tgz文件,例如tarslog.tgz, tarsnotify.tgz等等,这些文件就是下面章节中所需要部署的包文件。
4.4.1 tarsnotify部署发布
默认tarsnotify在安装核心基础服务时,部署信息已初始化了,安装完管理平台后,就可以看到,如下:
上传发布包后,发布如下:
4.4.2 tarsstat部署发布
部署信息如下:
上传发布包后,发布如下:
4.4.3 tarsproperty部署发布
部署信息如下:
上传发布包后,发布如下:
4.4.4 tarslog部署发布
部署信息如下:
上传发布包后,发布如下:
4.4.5 tarsquerystat部署发布
部署信息如下:
注意在服务部署时,选择非Tars协议,因为Web是以json协议来获取服务监控的数据的
上传发布包后,发布如下:
4.4.5 tarsqueryproperty部署发布
部署信息如下:
注意在服务部署时,选择非Tars协议,因为Web是以json协议来获取属性监控的数据的
上传发布包后,发布如下:
最后,在安装环境过程中,如果系统仍有问题,请到以下的目录查找日志文件分析问题所在:
(1) /usr/local/app/TarsWeb/log
(2) /usr/local/app/tars/app_log/tars