summaryrefslogtreecommitdiff
path: root/TSG/home.md
blob: 737132cdbe341f6c765db614b1a754973e66a42b (plain)
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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
# TSG Galaxy 应用集成

![TSG应用流程图](TSG接口关系图.jpg)





# 1.集成所需清单

## 1.1 开源公共组件

| 组件名称           | 版本     | 约束       | 备注                                                         |
| ------------------ | -------- | ---------- | ------------------------------------------------------------ |
| Kafka              | 1.0.0    | 端口:9092 | 需安装(复用) zookeeper                                       |
| apache-storm-1.0.2 | 1.0.2    | 端口:8080 | 需安装(复用) zookeeper                                       |
| zookeeper-3.4.9    | 3.4.9    | 端口:2181 | 也作为日志ID唯一标识存储                                     |
| ClickHouse         | 19.5.4.1 | 端口:8123 | 需安装(复用) zookeeper                                       |
| Hbase              |          | 端口:8084 | 单独zookeeper、hdfs(集群)<br/> subscribe_id 补全应用         |
| Druid              | 0.14     | 端口:8082 | 依赖Mysql(mariadb)、zookeeper、hdfs(集群)                    |
| Mariadb(mysql)     |          | 3309       | Druid metadata存储,依赖API库,无需单独构建                  |
| Minio              |          | 9090       | minio安装目录:https://git.mesalab.cn/zhangchengwei/MinioRelated |

组件链接地址:[大数据平台-公共组件库](https://git.mesalab.cn/bigdata/bigdata-deploy)
## 1.2 应用清单

| 应用安装      | 进程名称                 | 依赖                                                         | 备注                           |
| ------------- | ------------------------ | ------------------------------------------------------------ | ------------------------------ |
| SQL 查询网关  | galaxy-qgw-service(9999) | 1.clickhouse 日志检索<br> 2.Druid 时序库,预定义统计<br> 3.Hbase 离线报告结果 | 统一SQL查询代理网关平台        |
| 报表统计服务  | galaxy-reprot-service    | 1.mariadb 执行任务列表 <br> 2.Hbase 统计结果<br> 3.clickhouse OLAP 统计 | 离线报告统计应用               |
| Storm统计应用 | jar包                    | 补全加载、实时统计                                           | 拓扑程序,部署到storm集群中    |
| gohangout     | gohangout                | 数据源-kafka;数据输出-ck                                     | 数据预处理,数据加载到CK的应用 |

## 1.3 数据初始化列表

| 数据类型             | 所属组件     |                                |
| -------------------- | ------------ | ------------------------------ |
| kafka topic列表      | kafka        | 初始化topic列表                |
| clickhouse建表初始化 | clickhouse   | 初始化库、授权用户、创建表结构 |
| Druid 构建统计Schema | Apache Druid | json结构                       |
| Storm 提交job        | Storm        | jar包                          |

# 2.数据初始化步骤

### clickhouse初始化

1. 登录clickhouse连接终端 dbeave 建库 

   create database tsg_galaxy on cluster ck_cluster;

   create database ntc_galaxy on cluster ck_cluster;

2. 终端工具下执行如下语句

   Clickhouse-tsg.txt

3. 创建用户

   用户名 tsg_query  密码 ceiec2018     网关/NTC 使用    
   用户名 tsg_report 密码 ceiec2019    报表服务使用
   用户名 tsg_insert  密码 ceiec2019    gohangout使用



# 3. 版本列表

#### Galaxy Realeses Tsg_Galaxy_v3.0.20191211



//todo



#### Galaxy Realeses Tsg_Galaxy_v2.0.20190630

| **初始化脚本** | data/clickhouse-db/<br/>data/druid-job/v2.0/--.json<br/>data/Kafka-topics/tsg-topic_2.0.txt<br/>data/storm-job/v2.0/--.jar |
| -------------- | ------------------------------------------------------------ |
| **公共组件**   | zookeeper:3.4.9<br/>kafka:1.0.0<br/>hbase:1.4.9<br/>clickhouse:19.54.1<br/>druid:0.14.0<br/>storm:1.0.2<br/> |
| **应用镜像**   | galaxy/galaxy-qgw-service:1.1<br/>galaxy/galaxy-report-service:1.1<br/>galaxy/gohangout:1.2.16 |

**包含功能:**

- 对外提供SQL调用接口:通联、事件、radius日志查询、时序统计查询、报表结果查询
- 接收流量处理端产生的代理通联日志、策略日志
- 接收总控端解析的radius日志数据,并构建IP与subscriber_id 知识库



Docker 单机版部署说明:https://git.mesalab.cn/tsg/tsg-deploy/tree/master/tsg-galaxy



//集群 --todo









# 4. 其它(待删除)

### 构建Docker 环境

> 依赖操作系统为centos7.4

1. docker 安装

   拷贝docker.tar.gz 任意目录,执行 docker-deploy.sh

2. 导入centos 镜像
   docker load -i centos7.tar

3. 构建jdk1.8 镜像

   解压jdk1.8-docker.tar.gz 执行构建jdk1.8_docker.sh

4. 验证镜像安装

   docker images 

   

### SQL查询网关docker安装



1. 将安装galaxy-qgw-service-deploy.tar.gz 包拷贝任意目录下

   执行./build-deploy.sh

2. 启停/home/tsg/galaxy/galaxy-qgw-service/bin start.sh|stop.sh

3. 查看日志:tail -f /home/tsg/galaxy/galaxy-qgw-service/logs/galaxy-qgw-service.log

4. 修改配置文件

   ```
   docker exec -u 0 -it galaxy-qgw-service /bin/bash
   #配置文件config 目录下
   ```

5. 重启 stop.sh & start.sh

>  时区是否调整(默认Asia/Almaty)?

  `修改Dockerfile, 例如修改+8区如下:ENV TZ=Asia/Almaty`

>  application-prod.yml参数修改?

```
 lickhouse:
  url: jdbc:clickhouse://10.4.35.22:8123 //修改ck地址
  driverClassName: ru.yandex.clickhouse.ClickHouseDriver
  dbname: tsg_galaxy
  username: tsgreport
  password: XX //密钥
  publicKey: XX
  
druid:
  url: 10.4.35.16:8082/druid/v2/sql //修改druid地址
  dbname: druid
  sqlTimeZone: Asia/Almaty //修改时区

hbase:
  url: 10.4.35.1:4444 //修改hbase地址
  dbname: tsg 
  tableName: report_result
  columnFamily: response
  columnName: result
```



### report服务docker安装

1. 将安装galaxy-report-service-deploy.tar.gz 包拷贝任意目录下

   执行./build-deploy.sh

2. 启停/home/ceiec/galaxy-report-service/bin start.sh|stop.sh

3. 查看日志:tail -f /home/ceiec/galaxy-report-service/logs/galaxy-report-service.log

4. 修改配置文件

   ```
   docker exec -u 0 -it galaxy-report-service /bin/bash
   #配置文件config 目录下
   ```

5. 重启 stop.sh & start.sh

### Gohangout 安装

1. 将安装包与gho_install.sh安装脚本上传至同一目录下

2. 执行gho_install.sh脚本

   ```
   ./gho_install.sh
   ```

3. 安装完成后刷新环境变量

   ```
   #刷新环境变量
   source /etc/profile
   #查看go版本
   go version
   ```

   - 启动停止
   - 启动

   ```
   #在/home/ceiec/go_gohangout/gohangout/bin路径下
   nohup ./start_gohangout_....sh > /dev/null 2>&1 &
   #也可以将启动指令统一放入app_start_batch.sh文件内统一启动
   ```

   - 停止

   ```
   #在/home/ceiec/go_gohangout/gohangout/bin路径下
   #停止全部
   ./stop_all.sh
   #停止单个
   ./stop_one.sh yml文件名
   #重启单个
   ./restart_one.sh yml文件名
   ```

### 实时统计topology
1. 配置文件脚本程序统一在/home/ceiec/topology 目录下的子文件夹内(文件夹名称对应的任务大类)

  | 文件夹名称            | 功能             | 任务名称       |
  | ----------------------| -----------------| ---------------|
  | log-address-redis     | AAA写Redis       | RADIUS-AAA     |
  | log-stream-completion | 原始日志补全     | .-COMPLETED-.  |
  | log-stream-connections| 连接统计         | TRAFFIC-METRICS-LOG      |
  | log-stream-topn       | 首页TOPN计算     | TOP-...        |

  除log-address-redis是输入为kafka输出为redis以外,其他的输入输出都是kafka。
  
2. log-address-redis
   * 修改address_routine.properties
    ```
    #管理kafka地址
    bootstrap.servers=192.168.10.119:9092,192.168.10.122:9092,192.168.10.123:9092
    
    #从kafka哪里开始读:earliest/latest
    auto.offset.reset=latest
    
    #用于过滤对准用户名
    check.ip.scope=10,100,192
    
    #kafka broker下的topic名称
    kafka.topic=RADIUS-LOG
    
    #kafka消费group id
    group.id=RADIUS-AAA
    
    #storm topology workers
    topology.workers=1
    
    #storm spout parallelism
    spout.parallelism=3
    
    #storm bolt parallelism
    format.bolt.parallelism=3
    
    #1=单机逐条写入 2=集群逐条写入 3=集群批量写入
    redis.model=1
    ```
   
   * 修改redis_config.properties
   ```
    #redis服务器ip
    redis.ip=10.0.8.16,10.0.8.17,10.0.8.18,10.0.8.19
    
    #redis服务器端口号
    redis.port=7001,7002,7003,7004
   ```
   
   * 启动停止
   
    ```
     /home/ceiec/topology/log-stream-address 目录下
     使用./start.sh 启动
     使用./stop.sh 停止
    ```

3. log-stream-completion
  
   * 修改service_flow_config.properties
   ```
    #管理kafka地址
    bootstrap.servers=192.168.10.119:9092,192.168.10.122:9092,192.168.10.123:9092
    
    #kafka broker下的topic名称
    kafka.topic=POLICY-EVENT-LOG
    
    #读取topic,存储该spout id的消费offset信息,可通过该拓扑命名;具体存储offset的位置,确定下次读取不重复的数据;
    group.id=POLICY-EVENT-COM
    
    #输出topic
    results.output.topic=POLICY-EVENT-COMPLETED-LOG
    
    #storm topology workers
    topology.workers=1
    
    #spout并行度 建议与kafka分区数相同
    spout.parallelism=3
    
    #处理补全操作的bolt并行度-worker的倍数
    datacenter.bolt.parallelism=3
    
    #写入kafkad的并行度
    kafka.bolt.parallelism=3
    
    #用于过滤对准用户名
    check.ip.scope=10,100,192
   ```
   
   * 修改redis_config.properties
   ```
    #redis服务器ip
    redis.ip=10.0.8.16,10.0.8.17,10.0.8.18,10.0.8.19
    
    #redis服务器端口号
    redis.port=7001,7002,7003,7004

   ```
   
   * 启动停止
   ```
   在 /home/ceiec/topology/completion
   
    ./startall.sh completionconfig/
    
    ./stopall.sh completionconfig/
   ```

4. log-stream-connections
    * 修改kafka_topic.properties
    ```
    #管理kafka地址
    bootstrap.servers=192.168.10.119:9092
    
    #kafka broker下的topic名称
    kafka.topic=SESSION-RECORD-LOG
    
    #kafka消费group id
    group.id=connections-count
    
    #storm topology workers
    topology.workers=1
    
    #一般与kafka 分区数量1:1关系
    topology.spout.parallelism=3
    
    #计算bolt并行度
    topology.bolt.time.calculate=6
    
    #最大容忍区间
    max.number=30
    
    #输出Kafka地址
    results.output.servers=10.4.35.7:9092,10.4.35.8:9092,10.4.35.9:9092
    
    #输出Topic
    results.output.topics=TRAFFIC-METRICS-LOG
    ```
   * 启动停止
   ```
    /home/ceiec/topology/connections 目录下
     使用./start.sh 启动
     使用./stop.sh 停止
   ```
   
5. log-stream-topn
   * 修改 realtime_routine.properties
   ```
    #管理kafka地址
    bootstrap.servers=10.4.35.7:9092,10.4.35.8:9092,10.4.35.9:9092
    
    #从kafka哪里开始读:earliest/latest
    auto.offset.reset=latest
    #auto.offset.reset=earliest
    
    #输出Kafka地址
    results.output.servers=10.4.35.7:9092,10.4.35.8:9092,10.4.35.9:9092

   ```
   
   * 启动停止
   ```
   在 /home/ceiec/topology/top
   
    ./startall.sh topconfig/
    
    ./stopall.sh topconfig/
   ```