# 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 ``` 这样就部署好了。