forked from TarsCloud/Tars
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Install_faq.zh.md
167 lines (103 loc) · 6.04 KB
/
Install_faq.zh.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
[Click me switch to English version](Install_faq.md)
## 1. 部署ip不能为`127.0.0.1`,原因如下:
1. 每个服务一般都有一个或者多个对外服务的obj,obj要对外提供访问,不能用 `127.0.0.1`;
2. 每个服务都有一个管理的obj,它使用的ip是`127.0.0.1`,端口和obj的端口一样;
## 2. Tars主要包括rpc开发框架、框架基础服务、web管理系统。
其中,rpc开发框架支持c++和java两种语言,这两种语言都有自己的基础库、idl代码生成工具、客户端和服务端实现,互不依赖。
其中c++目前支持在linux下编译运行,java可以在linux、windows下开发编译调试。
框架基础服务是由c++开发的,在linux下运行。
## 3. Tars依赖的软件或者工具,在部署Tars时,必须事先安装好,参见:`Install.md`.
## 4. Tars部署安装步骤要按`Install.md`文档先后顺序进行。
## 5. mysql可以源码安装,也或者通过yum等工具来安装,注意的是Tars编译时默认使用的mysql开发库路径:include 的路径为`/usr/local/mysql/include`,lib 的路径为`/usr/local/mysql/lib/`。
若mysql开发库的安装路径不在默认路径,则需要修改build目录下CMakeLists.txt (`framework/tarscpp/CMakeLists.txt`, `framework/CMakeLists.txt`)文件中的mysql相关的路径,再编译。
(注意,有些低版本的mysql安装后,include 的路径为 `/usr/local/mysql/include/mysql`,lib 的路径为 `/usr/local/mysql/lib/mysql/`,也需要改CMakeLists.txt)。
## 6. 执行tars_start.sh脚本后,需要确定一下tars核心基础服务的进程是否是活的
可以使用命令:`ps -ef|grep tars`,看看 tarsregistry、tarsAdminRegistry、tarsnode、tarsconfig、tarspatch进程是否存在
## 7. 没有对mysql使用的`my.cnf`的sql_mode进行设置的话,在tars web前台部署时,会出现"部署申请失败!请联系管理员"的提示信息。
![tars](docs/question_images/mysql_sqlmode.png)
## 8. 编译web管理系统源码前,要编译tars java框架源码,因为web依赖tars java的一些jar包。
![tars](docs/question_images/tars-java-jar.png)
## 9. 框架服务的安装分两种:一种是核心基础服务(必须的),必须手工部署; 另一种是普通基础服务,初始化时也一并安装了, 后续可以通过管理平台发布更新的的(和普通服务一样)。
手工部署的核心基础服务:
|-tarsAdminRegistry
|-tarsregistry
|-tarsnode
|-tarsconfig
|-tarspatch
可以通过管理平台部署的普通基础服务:
|-tarsstat
|-tarsproperty
|-tarsnotify
|-tarslog
|-tarsquerystat
|-tarsqueryproperty
核心基础服务除 `tarsconfig` 和 `tarspatch` 可以在管理平台上看到部署情况外,另外几个是看不到的。
普通基础服务通过web管理平台部署时,要注意部署的Obj名称和协议的选择。
## 10. 服务部署的相关路径,如下
服务打的日志路径在
`/usr/local/app/tars/app_log/${服务的应用名}/${服务的服务名}/`
目录下,例如:
```
/usr/local/app/tars/app_log/Test/HelloServer/
```
服务的可执行文件在
`/usr/local/app/tars/tarsnode/data/${服务的应用名}.${服务的服务名}/bin/`
下,例如:
```
/usr/local/app/tars/tarsnode/data/Test.HelloServer/bin/
```
服务的模版配置文件在
`/usr/local/app/tars/tarsnode/data/${服务的应用名}.${服务的服务名}/conf/`
下,
例如:
```
/usr/local/app/tars/tarsnode/data/Test.HelloServer/conf/
```
服务的缓存信息文件在
`/usr/local/app/tars/tarsnode/data/${服务的应用名}.${服务的服务名}/data/`
下,例如:
```
/usr/local/app/tars/tarsnode/data/Test.HelloServer/data/
```
## 11. 查看日志的方法
例如:
`/usr/local/app/tars/app_log/Test/HelloServer/` 目录下会有 `Test.HelloServer.log` , 发布失败的话,可以看看里面有什么错误日志,其日志级别为ERROR。
## 12. java的服务部署时,模版配置要选择 `tars.tarsjava.default`
![tars](docs/question_images/java_server_deploy.png)
## 13. 上传发布包超过50M的问题,修改`spring-context-mvc.xml`文件,如下:
![tars](docs/question_images/50MB.png)
源代码路径为`web/src/main/resources/conf-spring`,部署的时候实际路径 `WEB-INF/classes`
## 14. 服务监控数据展示问题,注意查询条件
![tars](docs/question_images/stat.png)
## 15. resin 显示乱码问题
![tars](docs/question_images/encoding_error.png)
修改 `/usr/local/app/resin/conf/app-default.xml`
![tars](docs/question_images/resin.png)
修改后清除浏览器缓存
## 16. mvn 编译的时候,无法找到tars依赖项
![tars](docs/question_images/tars_not_resolve.png)
需要先编译框架再mvn 编译war包
## 17. 发布失败显示无法链接registry
![tars](docs/question_images/registry_not_founded.png)
首先,确定核心基础服务tarsregistry、tarsAdminRegistry、tarsnode、tarsconfig、tarspatch的进程是否是活的,比如用 `ps -ef|grep tars` 命令查看,如果进程不存在,看看是否是db配置信息有问题
最后,查看tarsnode的日志,看看有什么错误日志。
![tars](docs/question_images/registry_not_invoker.png)
**看看 `Install.md` 的第4.3节中的安装web管理系统部分,是否正确配置,如下:**
![tars](docs/question_images/registry_web_endpoint.png)
**错误的示例如下:**
![tars](docs/question_images/registry_web_empty.png)
## 18. 发布失败,发现上传tars java的war包大小有问题
检查一下部署web的机器是否安装了unzip
## 19. 发布大的tgz 包没有反应
修改 `src/main/resources/conf-spring/spring-context-mvc.xml`
中的maxUploadSize 大小,然后重启resein就ok了
## 20. 老版本升级到支持IPv6版本(v1.6.0及以上),数据库升级方法
执行以下数据库升级脚本,注意保证数据库密码正确性
```
TarsFramework/sql/upgrade2IPv6.sh
```
## 21. tarsnode无法启动java服务, 报错cannot execute java
务必注意安装jdk以后, 需要重启tarsnode, java的环境变量在tarsnode环境中生效
```
/usr/local/app/tars/tarsnode/util/start.sh
```