map/docs/deploy/das.md
2024-12-12 14:25:50 +08:00

523 lines
8.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# DAS系统部署
## TDEngine3 安装部署
> 当前版本: 3.3.2.0
### 安装包确认
请确认安装包是否已经在`/das/install`目录下
`TDengine-server-3.3.2.0-Linux-x64.tar.gz` - TDEngine 3.3.2.0 官方安装包 [下载地址](https://oss.jsspisoft.com/public/software/tdengine3/TDengine-server-3.3.2.0-Linux-x64.tar.gz)
可以通过下面的命令获取安装包
```shell
wget https://oss.jsspisoft.com/public/software/tdengine3/TDengine-server-3.3.2.0-Linux-x64.tar.gz
```
`td3.3.2.13_openeuler_patch.tar.gz` - TDEngine 3.3.2.13 OpenEuler补丁包 [下载地址](https://oss.jsspisoft.com/public/software/tdengine3/td3.3.2.13_openeuler_patch.tar.gz)
可以通过下面的命令获取安装包
```shell
wget https://oss.jsspisoft.com/public/software/tdengine3/td3.3.2.13_openeuler_patch.tar.gz
```
### TDEngine3安装
1. 先解压TDEngine3官方安装包
```shell
cd /das/install/
tar zxvf TDengine-server-3.3.2.0-Linux-x64.tar.gz
```
2. 运行安装脚本
```shell
cd TDengine-server-3.3.2.0
./install.sh
```
![alt text](asserts/image-tdinst01.png)
这里输入服务器的IP地址。
![alt text](asserts/image-tdinst02.png)
这里直接回车即可。
![alt text](asserts/image-tdinst03.png)
继续回车。
![alt text](asserts/image-tdinst04.png)
看到上图的内容TDEngine官方安装包就安装完毕了下面运行补丁。
```shell
cd /das/install
tar zxvf td3.3.2.13_openeuler_patch.tar.gz
```
执行补丁脚本
```shell
cd patch
./apply_patch.sh
```
> PS. 此脚本会更改TDEngine的默认数据目录为/das/data/tddata
>
>
### TDEngine3启动顺序
```sh
#启动TD基础服务
systemctl start taosd
#启动TD适配器
systemctl start taosadapter
```
### 数据库创建
执行taos进入命令行执行sql创建数据库
```sql
create DATABASE `das` BUFFER 64 CACHESIZE 8 CACHEMODEL 'both' COMP 2 KEEP 1098
PAGES 512 PAGESIZE 8 VGROUPS 16
```
### TDEngine3停止顺序
```shell
systemctl stop taosadapter
systemctl stop taosd
```
这样就完成了TDEngine3.3.2.13的安装。
### 防火墙配置(可选)
```shell
firewall-cmd --zone=public --add-port=6030/tcp --add-port=6041/tcp --permanent
firewall-cmd --reload
```
## PostgreSQL 安装配置
### 安装PostgreSQL 15.10
```shell
yum install postgresql-server -y
````
### 修改数据文件位置
编辑`/usr/lib/systemd/system/postgresql.service`文件
将PGDATA改为下面的内容
```systemdS
Environment=PGDATA=/das/data/pgdata
```
### 初始化数据库
```shell
mkdir -p /das/data/pgdata
chown postgres:postgres /das/data/pgdata
postgresql-setup initdb
```
### 配置文件修改
修改访问权限配置, 编辑文件`/das/data/pgdata/pg_hba.conf`,修改为
![alt text](asserts/image-pg01.png)
修改数据监听端口,编辑文件`/das/data/pgdata/postgresql.conf`,修改为
![alt text](asserts/image-pg02.png)
### 开启服务自启
```shell
systemctl enable postgresql
```
### 启动PostgreSQL
```shell
systemctl start postgresql
```
### 数据库/账号创建
确保PostgreSQL已经正常启动切换到postgres账户并进入psql命令行界面
```shell
su - postgres
psql
```
**创建账号**
```plsql
create user das with password 'zaq12WSX';
```
**创建数据库**
```sql
create database das owner das;
```
**分配权限**
```sql
grant all privileges on database das to das;
```
### 数据初始化
以postgres用户执行
```shell
psql -h 127.0.0.1 -U das -d das -f /das/install/pginit.sql
```
### 防火墙配置(可选)
```shell
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload
```
## Redis安装配置
```shell
yum install redis6 -y
```
### 配置文件修改
```shell
mkdir -p /das/data/redis
chown redis:redis /das/data/redis
```
编辑文件`/etc/redis/redis.conf`
![alt text](asserts/image-redis01.png)
修改dir参数为`/das/data/redis`
![alt text](asserts/image-redis02.png)
此处配置redis的访问密码
![alt text](asserts/image-redis03.png)
bind配置成`0.0.0.0`表示允许所以地址访问reids。protected-mode改为`no`
### 服务启动与自启
```shell
systemctl start redis
systemctl enable redis
```
### 防火墙配置(可选)
```shell
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
```
## minio安装配置
### 程序部署
```shell
mkdir -p /das/data/minio
mkdir -p /das/app
cd /das/app
wget https://oss.jsspisoft.com/public/software/minio/minio.tar.gz
tar zxvf minio.tar.gz
rm -f minio.tar.gz
```
### 配置服务
创建`/etc/systemd/system/minio.service`, 内容如下:
```toml
[Unit]
Description=Minio service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
EnvironmentFile=-/das/app/minio/minio.env
ExecStart=/das/app/minio/minio server $MINIO_OPTS $MINIO_VOLUMES
TimeoutStopSec=infinity
LimitNOFILE=65535
LimitNPROC=infinity
LimitCORE=infinity
StandardOutput=null
Restart=always
SendSIGKILL=no
TasksMax=infinity
[Install]
WantedBy=multi-user.target
```
### 启动服务
```shell
systemctl daemon-reload
systemctl start minio
systemctl enable minio
```
### 防火墙配置(可选)
```shell
firewall-cmd --zone=public --add-port=9000-9001/tcp --permanent
firewall-cmd --reload
```
## Nginx部署
### 安装nginx
```shell
yum install nginx -y
```
### 配置文件
创建或编辑配置文件 `/etc/nginx/conf.d/nginx.conf`,内容如下:
```nginx
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
gzip on;
gzip_types text/plain application/json application/javascript application/css application/xml text/javascript text/css;
access_log /var/log/nginx/das.jsspisoft.access.log main;
server_name 0.0.0.0;
location /api {
proxy_pass http://127.0.0.1:8080;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
client_max_body_size 0;
proxy_read_timeout 1200s;
}
location / {
index index.html;
root /das/app/ui;
autoindex on;
}
}
```
### 启动服务
```shell
systemctl start nginx
systemctl enable nginx
```
### 防火墙配置
```shell
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
```
## DAS程序部署
### 程序部署
```shell
mkdir -p /das/app
cd /das/app
wget https://oss.jsspisoft.com/public/software/das/das.tar.gz
tar zxvf das.tar.gz
cd das
ln -s das-1.0.0-release.jar das.jar -f
```
### 修改配置文件
编辑`/das/app/das/application.yml`
```yaml
# 日志配置
logging:
level:
root: ERROR
com:
das:
modules:
calc: DEBUG
file:
name: /das/logs/das.log
# 服务端口
server:
port: 8080
spring:
#pg配置
datasource:
url: jdbc:postgresql://127.0.0.1:5432/das
username: das
password: zaq12WSX
data:
#redis连接配置
redis:
host: 127.0.0.1
database: 0
port: 6379
password: zaq12WSX
client-type: lettuce
# AES密钥
das:
aes:
key: b6967ee87b86d85a
#TD连接配置
tdengine:
password: taosdata
url: jdbc:TAOS-RS://127.0.0.1:6041/das
username: root
#minio配置
minio:
url: http://127.0.0.1:9000
bucket: das
accessKey: das
secretKey: zaq12WSX
```
### 配置服务
创建服务文件`/etc/systemd/system/das.service`,内容如下:
```systemd
[Unit]
Description=DAS Service
After=network.target
[Service]
Type=simple
Environment=JAVA_HOME=/etc/alternatives/java_sdk
ExecStart=/usr/bin/java -Dfile.encoding=UTF-8 -jar das.jar
WorkingDirectory=/das/app/das
[Install]
WantedBy=multi-user.target
```
### 启动服务
```shell
systemctl daemon-reload
systemctl start das
systemctl enable das
```
## DAS-DN部署
### 程序部署
```shell
mkdir -p /das/app
cd /das/app
wget https://oss.jsspisoft.com/public/software/das/das-dn.tar.gz
tar zxvf das-dn.tar.gz
rm -f das-dn.tar.gz
```
### 程序配置
编辑文件`/das/app/das-dn/envfile`
```toml
#das服务地址
ISS_WS_HOST=127.0.0.1
#das服务端口
ISS_WS_PORT=8080
#节点ID
ISS_WS_NODEID=1
```
### 配置服务
创建服务文件`/etc/systemd/system/das-dn.service`,内容如下:
```toml
[Unit]
Description=DAS DN Service
After=network.target
[Service]
Type=simple
EnvironmentFile=/das/app/das-dn/envfile
ExecStart=/das/app/das-dn/bin/application -d ./rtufiles -h $ISS_WS_HOST -p $ISS_WS_PORT -n $ISS_WS_NODEID
Restart=always
RestartSec=10
StartLimitInterval=0
WorkingDirectory=/das/app/das-dn
[Install]
WantedBy=multi-user.target
```
### 服务启动
```bash
systemctl start das-dn
systemctl enable das-dn
```
## 前端UI部署
前端只需要部署静态文件就行了
```shell
mkdir -p /das/app
wget https://oss.jsspisoft.com/public/software/das/ui.tar.gz
tar zxvf ui.tar.gz
rm -f ui.tar.gz
```
这样就部署好了。