一、安装环境要求

1.1、安装环境列表

软件或中间件 版本号 备注
JDK 1.8_221 JDK要求版本为1.8
具体小版本可/以有所不同
MySQL 5.7.21 mysql的版本最好不低于5.7
数据库的各项配置项最好往大了设置
Redis 4.0.2 redis的版本最好不低于4.0

1.2、安装环境特殊说明

关于JDK kj
如果系统自带OpenJDK,必须先将它删除,再重新安装JDK8,并设置好环境变量。
可以通过这
个命令行查看:java -version
JDK需要配置好环境变量
关于mysql
端口设置为:3306
软件安装目录:usr/local/mysql
配置文件地址:etc/my.cnf
数据存放地址:/home/mysql/data/
数据库账号密码:root/wintime
mysql需要设置不区分大小写,最好设置开机启动,要注意3306端口是否被防火墙允许
关于redis
端口设置为:6379
配置文件中需要将bind 127.0.0.1注释掉,允许除本机外的机器访问Redis服务
配置文件中需要给redis设置一个密码(修改requirepass),密码为:wintime
redis启动时需要指定配置文件,要注意6379端口是否被防火墙允许

二、中枢程序布署和运行

2.1、项目列表及路径

中枢项目必须放在空间足够大的目录下,目录可以自定义设置,只要放置于存储空间大的目录下即可,目录层级不宜过多
查看目录空间大小的linux命令:df –hdf -hl
下表是工程对应的端口号和目录说明:
注:下表格中“*”代表安装目录,该目录应具有足够大的空间

项目 默认端口 路径 项目说明
Datacenter 8484 后端:
*\datacenter\datacenter\datacenter\datacenter-web\bin\run.sh
前端:
*\datacenter\datacenter\datacenter\page\dist
中枢项目主程序
Datax 8686 *\datacenter\datacenter\datax\datax_restful_api.jar
插件*\datacenter\datacenter\datax\datax\
数据同步
kettle-webapp 8181 \datacenter\datacenter\kettle\kettle-webapp.jar 数据加工处理
Datacenterfactory 8383 *\datacenter\datacenter\datacenterfactory\wintime-web.jar 自助建模和分析
DataCenterPaltform_files 8787 *\datacenter\datacenter\fileserver\DataCenterPaltform_files.jar
文件存放路径:*\datacenter\fileserver_file\
文件服务器
DataCenterPlatform_web
目录:*\datacenter\web 前端项目,按需求可能没有该系统
soar
*\datacenter\datacenter\datacenter\soar\

2.2、目录说明

2.2.1、外层datacenter目录

所有和中枢相关的文件都放在“datacenter”目录下,点开目录,内部的结构如下图所示:
目录说明:

目录名称 目录说明
datacenter 中枢目标程序的目录(目录下含有各个子系统的目录)
datax_file 存储DataX数据同步的配置文件的目录
export_file 本地服务器存储导出文件的目录
fileserver_file “文件服务器”存储文件的目录
upload_file 本地服务器存储上传文件的目录

2.2.2、内层datacenter目录

datacenter目录说明:
datacenter目录下含有各个子系统的目录,每个子系统目录存放系统运行的jar文件和日志文件。

目录名称 目录说明
datacenter 中枢主系统
datacenterfactory 自助建模分析(清册)
datax DataX系统目录
fileserver 文件服务器
kettle 数据治理

三、部署前需要修改的配置

需要修改的内容及目录如下 :::info 注意:路径中的“*”代表阿里云-上云就上阿里云.png中枢安装的目录: :::

1、文件服务器

端口:8787
包名:DataCenterPaltform_files
部署路径:*/datacenter/datacenter/fileserver/DataCenterPaltform_files.jar
配置文件目录(jar包压缩工具打开):BOOT-INF > classes > application.properties
配置文件内容:

  1. server.port=8787
  2. spring.servlet.multipart.max-file-size=5000MB
  3. spring.servlet.multipart.max-request-size=5000MB
  4. server.adminpassword=123456
  5. server.filepath=D:/datacenter/upload_file
  6. spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${server.filepath}

2、datax

端口:8686
包名:datax_restful_api.jar
部署路径:*/datacenter/datacenter/datax/datax_restful_api.jar
配置文件目录1(jar包压缩工具打开):BOOT-INF > classes > application.yml
配置文件内容:

  1. server:
  2. port: 8686
  3. spring:
  4. servlet:
  5. multipart:
  6. maxFileSize: 104857600 #100MB
  7. maxRequestSize: 104857600 #100MB

配置文件目录2(jar包压缩工具打开):BOOT-INF > classes > config > db.setting
配置文件内容:

  1. ## db.setting文件
  2. url = jdbc:mysql://127.0.0.1:3306/datacenter?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
  3. username = root
  4. password = wintime
  5. ## 可选配置
  6. # 是否在日志中显示执行的SQL
  7. showSql = true
  8. # 是否格式化显示的SQL
  9. formatSql = false
  10. # 是否显示SQL参数
  11. showParams = true
  12. # 打印SQL的日志等级,默认debug,可以是info、warn、error
  13. sqlLevel = debug

3、kettle

端口:8181
包名:kettle-webapp
部署路径:*/datacenter/datacenter/kettle/kettle-webapp.jar
配置文件目录1(jar包压缩工具打开):BOOT-INF > classes > application.yml
配置文件内容:

  1. spring:
  2. profiles:
  3. #默认本地开发环境
  4. active: pro
  5. main:
  6. allow-bean-definition-overriding: true
  7. #date类型日期格式化
  8. jackson:
  9. time-zone: GMT+8
  10. date-format: yyyy-MM-dd HH:mm:ss
  11. #default-property-inclusion: non_null
  12. #mybatis-plus 配置
  13. mybatis-plus:
  14. mapper-locations: classpath*:mappings/*Dao.xml
  15. global-config:
  16. db-config:
  17. id-type: 0
  18. refresh-mapper: true
  19. # 开启或关闭MP3.0自带的banner
  20. banner: true
  21. configuration:
  22. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  23. call-setters-on-nulls: true
  24. check-config-location: true

配置文件目录2(jar包压缩工具打开):BOOT-INF > classes > application-pro.yml
配置文件内容:

  1. server:
  2. port: 8181
  3. tomcat:
  4. max-threads: 100
  5. spring:
  6. redis:
  7. host: 127.0.0.1
  8. port: 6379
  9. password: wintime
  10. datasource:
  11. dbtype: MYSQL
  12. hostName: 127.0.0.1
  13. port: 3306
  14. dbName: etl
  15. username: root
  16. password: wintime
  17. params: useUnicode=true&characterEncoding=utf-8&useSSL=false
  18. driver-class-name: com.mysql.jdbc.Driver
  19. url: jdbc:mysql://${spring.datasource.hostName}:${spring.datasource.port}/${spring.datasource.dbName}?${spring.datasource.params}
  20. type: com.zaxxer.hikari.HikariDataSource
  21. hikari:
  22. minimum-idle: 8
  23. maximum-pool-size: 20
  24. auto-commit: true
  25. idle-timeout: 30000
  26. pool-name: wintimePlusHikariCP
  27. max-lifetime: 1800000
  28. connection-timeout: 30000
  29. quartz:
  30. auto-startup: true
  31. properties:
  32. org:
  33. quartz:
  34. threadPool:
  35. class: org.quartz.simpl.SimpleThreadPool
  36. threadCount: 20
  37. threadPriority: 5
  38. threadsInheritContextClassLoaderOfInitializingThread: true
  39. #上传文件服务器,Excel上传用
  40. upload:
  41. url: http://127.0.0.1:8787
  42. #日志路径
  43. logging:
  44. path: ./kettle_logs
  45. file:
  46. max-history: 7
  47. max-size: 50MB

4、中枢主程序

端口:8484
包名:datacenter-web.jar
部署路径:*/datacenter/datacenter/datacenter/datacenter-web/datacenter-web.jar
配置文件目录1:
/datacenter/datacenter/datacenter/datacenter-web/config/application.yml
*配置文件内容:

  1. spring:
  2. # 环境 dev|test|pro
  3. profiles:
  4. active: pro
  5. # jackson时间格式化
  6. jackson:
  7. time-zone: GMT+8
  8. date-format: yyyy-MM-dd HH:mm:ss
  9. servlet:
  10. multipart:
  11. maxFileSize: 104857600 #100MB
  12. maxRequestSize: 104857600 #100MB
  13. # mybatis-plus配置
  14. mybatis-plus:
  15. # MyBatis Mapper所对应的XML文件位置
  16. mapper-locations: classpath:/mapper/**/*Mapper.xml
  17. configuration:
  18. call-setters-on-nulls: true
  19. global-config:
  20. # 关闭MP3.0自带的banner
  21. banner: true
  22. db-config:
  23. # 主键类型 AUTO:“数据库ID自增”, INPUT:“用户输入ID”, ID_WORKER:“全局唯一ID (数字类型唯一ID)”, UUID:“全局唯一ID UUID”;
  24. id-type: AUTO
  25. #字段更新策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断",NOT_EMPTY:"非空判断"
  26. field-strategy: NOT_NULL
  27. # 默认数据库表下划线命名
  28. table-underline: true
  29. #首页图形验证码配置
  30. aj:
  31. captcha:
  32. type: clickword
  33. cache-type: local
  34. #右下角水印文字
  35. water-mark:
  36. #点选文字验证码的文字字体
  37. font-type: 黑体
  38. #点选背景图片路径
  39. pic-click: classpath:images/pic-click
  40. #滑块图片(没有用到,为了避免报错)
  41. jigsaw: classpath:images/jigsaw

配置文件目录2:
/datacenter/datacenter/datacenter/datacenter-web/config/application-pro.yml
*配置文件内容:

  1. server:
  2. port: 8484
  3. spring:
  4. redis:
  5. host: 127.0.0.1
  6. port: 6379
  7. password: wintime
  8. datasource:
  9. type: com.zaxxer.hikari.HikariDataSource
  10. driver-class-name: com.mysql.jdbc.Driver
  11. url: jdbc:mysql://127.0.0.1:3306/datacenter?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
  12. username: root
  13. password: wintime
  14. resources: # 指定静态资源的路径
  15. static-locations: file:D:/datacenter/datacenter/datacenter/page/dist,file:${upload.upload-path}
  16. # dataX配置
  17. datax:
  18. # datax服务器上的datax根目录路径
  19. home-path: D:/datacenter/datacenter/datax/datax
  20. # datax服务器上的datax配置文件路径
  21. json-path: D:/datacenter/datax_file/json
  22. # datax服务器地址
  23. address: http://127.0.0.1:8686
  24. # 执行同步API
  25. syncapi: /doExeDataX
  26. # 创建非结构化数据源配置文件API
  27. build-json-api: /buildJsonJobFile
  28. # 创建结构化数据源配置文件API
  29. build-sql-api: /buildSqlJobFile
  30. # 数据上报创建配置文件API
  31. dataupload-build-api: /dataUploadBuildJsonFile
  32. upload:
  33. # 本地上传文件地址
  34. upload-path: D:/datacenter/fileserver_file
  35. service-url: http://127.0.0.1:8787
  36. service-api: http://127.0.0.1:8787/file/uploadFile
  37. # 文件上传服务的密码
  38. service-password: 123456
  39. # 本地导出文件地址
  40. export:
  41. # 导出的数据文件地址
  42. datafile-path: D:/datacenter/export_file
  43. #网关API地址
  44. gateway:
  45. address: http://127.0.0.1:5256
  46. register-api: /registerAPIAndStart
  47. update-api: /updateAPI
  48. update-restart-api: /updateAndRestartAPI
  49. delete-api: /delAPI
  50. start-api: /startAPI
  51. stop-api: /stopAPI
  52. #数据处理服务地址
  53. data-process:
  54. address: http://127.0.0.1:8484
  55. simpleLogin:
  56. enable: true
  57. defaultToken:
  58. #系统配置信息
  59. sysconfig:
  60. #子系统最大数量
  61. max-sysnum: 8
  62. logging:
  63. file:
  64. max-history: 30
  65. max-size: 100MB
  66. path: ./datacenter_log
  67. soar:
  68. path: D:/datacenter/datacenter/datacenter/soar/soar.exe

5、自助建模和分析程序

端口:8383
包名:wintime-web.jar
部署路径:*/datacenter/datacenter/datacenterfactory/wintime-web.jar
配置文件目录1(jar包压缩工具打开):BOOT-INF > classes > application.yml
配置文件内容:

  1. spring:
  2. profiles:
  3. #默认本地开发环境
  4. active: pro
  5. # jackson时间格式化
  6. jackson:
  7. time-zone: GMT+8
  8. date-format: yyyy-MM-dd HH:mm:ss
  9. main:
  10. allow-bean-definition-overriding: true
  11. #mybatis-plus 配置
  12. mybatis-plus:
  13. mapper-locations: classpath*:com/wintime/plus/service/**/**/mapper/xml/*.xml
  14. global-config:
  15. id-type: 0
  16. db-column-underline: true
  17. refresh-mapper: true
  18. check-config-location: true
  19. configuration:
  20. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  21. call-setters-on-nulls: true
  22. cache-enabled: true
  23. wintime:
  24. #是否开启redis缓存会话 默认关闭 集群模式必须开启
  25. seesion-redis: false

配置文件目录2(jar包压缩工具打开):BOOT-INF > classes > application-pro.yml
配置文件内容:

  1. server:
  2. port: 8383
  3. tomcat:
  4. max-threads: 100
  5. spring:
  6. #redis配置
  7. redis:
  8. host: 127.0.0.1
  9. port: 6379
  10. password: wintime
  11. datasource:
  12. driver-class-name: com.mysql.jdbc.Driver
  13. url: jdbc:mysql://127.0.0.1:3306/datacenterfactory?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
  14. username: root
  15. password: wintime
  16. type: com.zaxxer.hikari.HikariDataSource
  17. hikari:
  18. minimum-idle: 8
  19. maximum-pool-size: 20
  20. auto-commit: true
  21. idle-timeout: 30000
  22. pool-name: wintimePlusHikariCP
  23. max-lifetime: 1800000
  24. connection-timeout: 30000
  25. # 本地上传文件地址
  26. upload:
  27. service-url: http://127.0.0.1:8787
  28. service-api: http://127.0.0.1:8787/file/uploadFile
  29. service-api-delete: http://127.0.0.1:8787/file/removeFile
  30. # 文件上传服务的密码
  31. service-password: 123456
  32. apiUrl-noToken: http://127.0.0.1:8484/portals/queryN
  33. apiUrl: http://127.0.0.1:8484/api/queryX
  34. export:
  35. # 导出的数据文件地址
  36. datafile-path: D:/datacenter/export_file
  37. #excel导出单个文件阈值
  38. excelThreshold: 20000
  39. #日志路径
  40. logging:
  41. path: ./datacenterfactory_logs
  42. file:
  43. max-history: 7
  44. max-size: 50MB

6、前端目录

部署路径:*/datacenter/datacenter/datacenter/page/dist
配置文件目录:*/datacenter/datacenter/datacenter/page/dist/config.js
配置文件内容:

  1. // 默认接口ip地址,解决ip修改重新打包问题。
  2. window.baseApiUrl = '127.0.0.1'
  3. window.baseGisUrl = '127.0.0.1' //税源GIS离线地图地址

7、数据库相关

1、需要提前创建好三个数据库,库名称分别为datacenter、datacenterfactory、etl
2、分别将datacenter_template.sql、datacenterfactory_template.sql、etl_template.sql导入各自库中。
3、需要将datacenter库中配置连接替换成当前环境的连接(假设当前环境IP是127.0.0.1
先执行下面几个更新的SQL语句,顺序执行即可:

  1. update sys_module_sql set modulesqlurl=REPLACE(modulesqlurl,'localhost',
  2. '192.168.8.49') where modulesqlurl like '%localhost%';
  3. update sys_module_sql set modulesqlurl=REPLACE(modulesqlurl,'192.168.8.51',
  4. '192.168.8.49') where modulesqlurl like '%192.168.8.51%';
  5. update sys_module_sql set modulesqlurl=REPLACE(modulesqlurl,'192.168.8.49:8383',
  6. '127.0.0.1:8383') where modulesqlurl like '%192.168.8.49:8383%';
  7. update sys_module_sql set modulesqlurl=REPLACE(modulesqlurl,'192.168.8.49:8484',
  8. '127.0.0.1:8484') where modulesqlurl like '%192.168.8.49:8484%';

:::info 注意1:上面的“127.0.0.1”需要替换成真实的服务器IP(请保证能访问的了)
注意2:如果是系统运营了一段时间且产生了业务数据,则更新数据库时需要小心,避免历史数据丢失 :::

四、启动程序步骤

程序启动有两种方式,一种是边上脚本文件批量启动(以linux系统为例),另一种方式是一个个的启动:

linux系统

1、sh批量启动

批量启动需要新建一个TXT文件并将后缀改为.sh,并编辑为如下内容:

  1. echo start DataCenterPaltform_files
  2. nohup java -jar \datacenter\datacenter\fileserver\DataCenterPaltform_files.jar > datacenter_file.log 2>&1 &
  3. ping 127.0.0.1 -c8
  4. echo start datax_restful_api
  5. nohup java -jar \datacenter\datacenter\datax\datax_restful_api.jar > datax.log 2>&1 &
  6. ping 127.0.0.1 -c8
  7. echo start kettle
  8. nohup java -jar \datacenter\datacenter\kettle\kettle-webapp.jar > kettle.log 2>&1 &
  9. ping 127.0.0.1 -c8
  10. echo start datacenter
  11. cd \datacenter\datacenter\datacenter\datacenter-web\bin
  12. ./run.sh
  13. ping 127.0.0.1 -c28
  14. echo start wintime-web
  15. nohup java -jar \datacenter\datacenter\datacenterfactory\wintime-web.jar > wintime-web.log 2>&1 &
  16. ping 127.0.0.1 -c8

2、逐个启动

保险起见可以一个个的启动,操作如下:
1.下面的程序在哪边启动,将会在哪边打LOG。
为了统一,先CD到**/data/datacenter/datacenter/datacenter/datacenter-web/bin**目录中启动。
2.单独启动文件服务器命令:

  1. nohup java -jar /data/datacenter/datacenter/fileserver/DataCenterPaltform_files.jar > datacenter_file.log 2>&1 &

3.单独启动datax命令:

  1. nohup java -jar /data/datacenter/datacenter/datax/datax_restful_api.jar > datax.log 2>&1 &

4.单独启动kettle命令:

  1. nohup java -jar /data/datacenter/datacenter/kettle/kettle-webapp.jar > kettle.log 2>&1 &

5.单独启动中枢命令:

  1. cd /data/datacenter/datacenter/datacenter/datacenter-web/bin
  2. sh run.sh

6.单独启动数据集命令:

  1. nohup java -jar /data/datacenter/datacenter/datacenterfactory/wintime-web.jar > wintime-web.log 2>&1 &

:::info 注意:需要启动中枢项目(5),再启动数据集项目(6) :::

windows系统

1、bat批量启动

批量启动需要新建一个TXT文件并将后缀改为.bat,并编辑为如下内容:

  1. :: 新窗口启动 >>> 文件服务器
  2. start "文件服务器" cmd /k "java -jar D:/datacenter/datacenter/fileserver/DataCenterPaltform_files.jar"
  3. :: 新窗口启动 >>> Datax
  4. start "Datax" cmd /k "java -jar D:/datacenter/datacenter/datax/datax_restful_api.jar"
  5. :: 新窗口启动 >>> Kettle
  6. start "Kettle" cmd /k "java -jar D:/datacenter/datacenter/kettle/kettle-webapp.jar"
  7. :: 新窗口启动 >>> datacenter
  8. start "Datacenter" cmd /k "java -jar D:/datacenter/datacenter/datacenter/datacenter-web/datacenter-web.jar"
  9. :: 新窗口延迟 10 秒启动 >>> wintime-web
  10. start "Wintime" cmd /k "timeout -nobreak 10 && java -jar D:/datacenter/datacenter/datacenterfactory/wintime-web.jar"
  11. exit

2、逐个启动

windows系统不支持nohup命令,因此若要逐个启动,需要直接通过java命令按需启动程序,操作如下:
1.单独启动文件服务器命令:

  1. java -jar D:/datacenter/datacenter/fileserver/DataCenterPaltform_files.jar

3.单独启动datax命令:

  1. java -jar D:/datacenter/datacenter/datax/datax_restful_api.jar

4.单独启动kettle命令:

  1. java -jar D:/datacenter/datacenter/kettle/kettle-webapp.jar

5.单独启动中枢命令:

  1. java -jar D:/datacenter/datacenter/datacenter/datacenter-web/datacenter-web.jar

6.单独启动数据集命令:

  1. java -jar D:/datacenter/datacenter/datacenterfactory/wintime-web.jar

:::info 注意:需要启动中枢项目(5),再启动数据集项目(6) :::

五、常用命令

一般常用命令:

  • 查看指定端口上运行的程序,以80端口为例netstat -pan|grep 80
  • 停止指点端口上运行的程序,以80端口为例lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'|sh
  • 退回上一级:cd ..
  • 进入文件目录下:cd /文件夹名
  • 展示当前文件目录ls
  • 展示当前文件详情ll
  • 查看tomcat进程ps -ef|grep tomcat
  • 查看java进程:ps -ef|grep java
  • 结束该端口下进程kill -9 端口号

Tomcat常用操作:

bin目录下:./startup.sh 启动tomcat
bin目录下:./shutdown.sh 关闭tomcat
log目录下: tail -100f catalina.out阿里云-上云就上阿里云.png 查看日志

文件操作:

编辑/查看文件:
进入该文件编辑页面:vim 文件
进入编辑状态:键盘i
退出编辑:键盘esc
保存并退出::wq

压缩备份:

压缩:tar -cvf 压缩名.tar 所压缩文件名
解压:tar -xvf 压缩名.tar
复制:cp -a 文件 目录 把文件复制到目录下
移动:mv 文件 目录 把文件移动到目录下
mv 文件1 文件2 把文件1重命名为文件2
查看文件内容:cat 文件