1.Tars快速入门(Java)
https://tars.tencent.com/base/help/TARS_quick_start_Java.html
2.按照文档中的安装指南安装(需要结合官方文档)
https://github.com/Tencent/Tars/blob/master/Install.md
(1)安装依赖的环境
(1)主要安装
yum install glibc-devel
yum install gcc
yum install gcc-c++
(2)安装cmake
tar zxvf cmake-2.8.8.tar.gz
cd cmake-2.8.8
./bootstrap
gmake
make install
(3)mysql安装
可以参考https://blog.csdn.net/MCC_MCC_MCC/article/details/80718109
需要注意的是后续的tars会使用mysql默认的安装路径(/usr/local/mysql)
b. /etc/my.cnf 文件需要添加 bind-address={$your machine ip}
c. 添加环境变量
vim /etc/profile
PATH=$PATH:/usr/local/mysql/bin
export PATH
source /etc/profile
(4)tars开发环境安装介绍
a.web管理系统开发环境安装
安装nvm
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
source ~/.bashrc
node和带有负载功能的node应用的进程管理器pm2安装
nvm install v8.11.3
npm install -g pm2 --registry=https://registry.npm.taobao.org
b.C++开发环境安装
下载TarsFramework源码
yum install git
git clone https://github.com/TarsCloud/TarsFramework.git
进入build源码目录(时间长,稍等候)
cd {$source_folder}/build
chmod u+x build.sh
./build.sh prepare
./build.sh all
如果出现这个异常
安装 yum install zlib-devel
这里还会有其他的命令找不到,用yum把对应的软件安装上即可
创建tars安装目录并且安装
cd /usr/local
mkdir tars
chown ${普通用户}:${普通用户} ./tars/
cd {$source_folder}/build
./build.sh install
(5)数据库初始化
mysql -u root -p
grant all on *.* to 'tars'@'%' identified by 'tars2015' with grant option;
grant all on *.* to 'tars'@'localhost' identified by 'tars2015' with grant option;
grant all on *.* to 'tars'@'${主机名}' identified by 'tars2015' with grant option;
flush privileges;
创建数据库(进入framework/sql,替换tars开发团队测试用的ip)
sed -i "s/192.168.2.131/192.168.126.139/g" `grep 192.168.2.131 -rl ./*`
sed -i "s/db.tars.com/192.168.126.139/g" `grep db.tars.com -rl ./*`
sed -i "s/10.120.129.226/192.168.126.139/g" `grep 10.120.129.226 -rl ./*`
修改${source_folder}/sql/exec-sql.sh 里面的root用户密码为自己mysql用户密码
chmod u+x exec-sql.sh
./exec-sql.sh
(6)Tars运行环境搭建
Tars框架服务包含两种,一种是核心基础服务(必须的),并且需要手工部署;
手工部署的核心基础服务:tarsAdminRegistry, tarsregistry, tarsnode, tarsconfig, tarspatch
第二种是普通基础服务(可选的),可以通过管理平台发布的(和普通服务一样);
通过管理平台部署的普通基础服务:tarsstat, tarsproperty,tarsnotify, tarslog,tarsquerystat,tarsqueryproperty
(6.1)准备第一种服务的安装包,在build/目录下输入
make framework-tar
会在当前目录生成framework.tgz 包 这个包包含了 tarsAdminRegistry, tarsregistry, tarsnode, tarsconfig, tarspatch 部署相关的文件
(6.2)第二种服务的安装包可以单独准备
make tarsstat-tar
make tarsnotify-tar
make tarsproperty-tar
make tarslog-tar
make tarsquerystat-tar
make tarsqueryproperty-tar
(7)安装核心服务
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 ./*`
然后在/usr/local/app/tars/目录下,执行脚本,启动tars框架服务
chmod u+x tars_install.sh
./tars_install.sh
(7.1)部署管理平台并启动web管理平台(管理平台必须和tarspatch部署在同一台服务器上)部署tarspatch,切换至root用户,并执行
tarspatch/util/init.sh
**注意,上面脚本执行后,看看rsync进程是否起来了,若没有看看rsync使用的配置中的ip是否正确(即把web.tars.com替换成本机ip)
(8)安装Web管理系统
管理系统源代码目录名称为web,下载web源码
git clone https://github.com/TarsCloud/TarsWeb.git
修改配置文件,将配置文件中的ip地址修改为本机ip地址
cd TarsWeb
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
(8.1)安装web管理页面依赖,启动web
cd TarsWeb
cd web
npm install --registry=https://registry.npm.taobao.org
npm run prd
创建日志目录
mkdir -p /data/log/tars
到这里就大功告成了,输入${your machine ip}:3000,就可以看到页面了
点击服务,还是会有错误
进入到 /usr/local/app/tars/app_log/tars/tarspatch 目录查看日志
原来是一些服务还没有发布上去,发布上去就可以了
9.服务发布和部署(以 tarsstat 为例)
(1)先进到 {$source_folder}/build 目录打包
make tarsstat-tar
(2) 服务部署
(3)服务发布
服务发布
点击发布
至此一个服务就发布成功了
10.重启启动服务
cd /usr/local/app/tars/
./tars_install.sh
tarspatch/util/init.sh
cd /root/TarsWeb
npm install --registry=https://registry.npm.taobao.org
npm run prd
如果mysql服务没有启动,记得重新启动。