一、安装环境要求
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 –h 或 df -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
注意:路径中的“*”代表
中枢安装的目录:
:::
1、文件服务器
端口:8787
包名:DataCenterPaltform_files
部署路径:*/datacenter/datacenter/fileserver/DataCenterPaltform_files.jar
配置文件目录(jar包压缩工具打开):BOOT-INF > classes > application.properties
配置文件内容:
server.port=8787spring.servlet.multipart.max-file-size=5000MBspring.servlet.multipart.max-request-size=5000MBserver.adminpassword=123456server.filepath=D:/datacenter/upload_filespring.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
配置文件内容:
server:port: 8686spring:servlet:multipart:maxFileSize: 104857600 #100MBmaxRequestSize: 104857600 #100MB
配置文件目录2(jar包压缩工具打开):BOOT-INF > classes > config > db.setting
配置文件内容:
## db.setting文件url = jdbc:mysql://127.0.0.1:3306/datacenter?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8username = rootpassword = wintime## 可选配置# 是否在日志中显示执行的SQLshowSql = true# 是否格式化显示的SQLformatSql = false# 是否显示SQL参数showParams = true# 打印SQL的日志等级,默认debug,可以是info、warn、errorsqlLevel = debug
3、kettle
端口:8181
包名:kettle-webapp
部署路径:*/datacenter/datacenter/kettle/kettle-webapp.jar
配置文件目录1(jar包压缩工具打开):BOOT-INF > classes > application.yml
配置文件内容:
spring:profiles:#默认本地开发环境active: promain:allow-bean-definition-overriding: true#date类型日期格式化jackson:time-zone: GMT+8date-format: yyyy-MM-dd HH:mm:ss#default-property-inclusion: non_null#mybatis-plus 配置mybatis-plus:mapper-locations: classpath*:mappings/*Dao.xmlglobal-config:db-config:id-type: 0refresh-mapper: true# 开启或关闭MP3.0自带的bannerbanner: trueconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplcall-setters-on-nulls: truecheck-config-location: true
配置文件目录2(jar包压缩工具打开):BOOT-INF > classes > application-pro.yml
配置文件内容:
server:port: 8181tomcat:max-threads: 100spring:redis:host: 127.0.0.1port: 6379password: wintimedatasource:dbtype: MYSQLhostName: 127.0.0.1port: 3306dbName: etlusername: rootpassword: wintimeparams: useUnicode=true&characterEncoding=utf-8&useSSL=falsedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://${spring.datasource.hostName}:${spring.datasource.port}/${spring.datasource.dbName}?${spring.datasource.params}type: com.zaxxer.hikari.HikariDataSourcehikari:minimum-idle: 8maximum-pool-size: 20auto-commit: trueidle-timeout: 30000pool-name: wintimePlusHikariCPmax-lifetime: 1800000connection-timeout: 30000quartz:auto-startup: trueproperties:org:quartz:threadPool:class: org.quartz.simpl.SimpleThreadPoolthreadCount: 20threadPriority: 5threadsInheritContextClassLoaderOfInitializingThread: true#上传文件服务器,Excel上传用upload:url: http://127.0.0.1:8787#日志路径logging:path: ./kettle_logsfile:max-history: 7max-size: 50MB
4、中枢主程序
端口:8484
包名:datacenter-web.jar
部署路径:*/datacenter/datacenter/datacenter/datacenter-web/datacenter-web.jar
配置文件目录1:
/datacenter/datacenter/datacenter/datacenter-web/config/application.yml
*配置文件内容:
spring:# 环境 dev|test|proprofiles:active: pro# jackson时间格式化jackson:time-zone: GMT+8date-format: yyyy-MM-dd HH:mm:ssservlet:multipart:maxFileSize: 104857600 #100MBmaxRequestSize: 104857600 #100MB# mybatis-plus配置mybatis-plus:# MyBatis Mapper所对应的XML文件位置mapper-locations: classpath:/mapper/**/*Mapper.xmlconfiguration:call-setters-on-nulls: trueglobal-config:# 关闭MP3.0自带的bannerbanner: truedb-config:# 主键类型 AUTO:“数据库ID自增”, INPUT:“用户输入ID”, ID_WORKER:“全局唯一ID (数字类型唯一ID)”, UUID:“全局唯一ID UUID”;id-type: AUTO#字段更新策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断",NOT_EMPTY:"非空判断"field-strategy: NOT_NULL# 默认数据库表下划线命名table-underline: true#首页图形验证码配置aj:captcha:type: clickwordcache-type: local#右下角水印文字water-mark:#点选文字验证码的文字字体font-type: 黑体#点选背景图片路径pic-click: classpath:images/pic-click#滑块图片(没有用到,为了避免报错)jigsaw: classpath:images/jigsaw
配置文件目录2:
/datacenter/datacenter/datacenter/datacenter-web/config/application-pro.yml
*配置文件内容:
server:port: 8484spring:redis:host: 127.0.0.1port: 6379password: wintimedatasource:type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/datacenter?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8username: rootpassword: wintimeresources: # 指定静态资源的路径static-locations: file:D:/datacenter/datacenter/datacenter/page/dist,file:${upload.upload-path}# dataX配置datax:# datax服务器上的datax根目录路径home-path: D:/datacenter/datacenter/datax/datax# datax服务器上的datax配置文件路径json-path: D:/datacenter/datax_file/json# datax服务器地址address: http://127.0.0.1:8686# 执行同步APIsync—api: /doExeDataX# 创建非结构化数据源配置文件APIbuild-json-api: /buildJsonJobFile# 创建结构化数据源配置文件APIbuild-sql-api: /buildSqlJobFile# 数据上报创建配置文件APIdataupload-build-api: /dataUploadBuildJsonFileupload:# 本地上传文件地址upload-path: D:/datacenter/fileserver_fileservice-url: http://127.0.0.1:8787service-api: http://127.0.0.1:8787/file/uploadFile# 文件上传服务的密码service-password: 123456# 本地导出文件地址export:# 导出的数据文件地址datafile-path: D:/datacenter/export_file#网关API地址gateway:address: http://127.0.0.1:5256register-api: /registerAPIAndStartupdate-api: /updateAPIupdate-restart-api: /updateAndRestartAPIdelete-api: /delAPIstart-api: /startAPIstop-api: /stopAPI#数据处理服务地址data-process:address: http://127.0.0.1:8484simpleLogin:enable: truedefaultToken:#系统配置信息sysconfig:#子系统最大数量max-sysnum: 8logging:file:max-history: 30max-size: 100MBpath: ./datacenter_logsoar: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
配置文件内容:
spring:profiles:#默认本地开发环境active: pro# jackson时间格式化jackson:time-zone: GMT+8date-format: yyyy-MM-dd HH:mm:ssmain:allow-bean-definition-overriding: true#mybatis-plus 配置mybatis-plus:mapper-locations: classpath*:com/wintime/plus/service/**/**/mapper/xml/*.xmlglobal-config:id-type: 0db-column-underline: truerefresh-mapper: truecheck-config-location: trueconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplcall-setters-on-nulls: truecache-enabled: truewintime:#是否开启redis缓存会话 默认关闭 集群模式必须开启seesion-redis: false
配置文件目录2(jar包压缩工具打开):BOOT-INF > classes > application-pro.yml
配置文件内容:
server:port: 8383tomcat:max-threads: 100spring:#redis配置redis:host: 127.0.0.1port: 6379password: wintimedatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/datacenterfactory?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8username: rootpassword: wintimetype: com.zaxxer.hikari.HikariDataSourcehikari:minimum-idle: 8maximum-pool-size: 20auto-commit: trueidle-timeout: 30000pool-name: wintimePlusHikariCPmax-lifetime: 1800000connection-timeout: 30000# 本地上传文件地址upload:service-url: http://127.0.0.1:8787service-api: http://127.0.0.1:8787/file/uploadFileservice-api-delete: http://127.0.0.1:8787/file/removeFile# 文件上传服务的密码service-password: 123456apiUrl-noToken: http://127.0.0.1:8484/portals/queryNapiUrl: http://127.0.0.1:8484/api/queryXexport:# 导出的数据文件地址datafile-path: D:/datacenter/export_file#excel导出单个文件阈值excelThreshold: 20000#日志路径logging:path: ./datacenterfactory_logsfile:max-history: 7max-size: 50MB
6、前端目录
部署路径:*/datacenter/datacenter/datacenter/page/dist
配置文件目录:*/datacenter/datacenter/datacenter/page/dist/config.js
配置文件内容:
// 默认接口ip地址,解决ip修改重新打包问题。window.baseApiUrl = '127.0.0.1'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语句,顺序执行即可:
update sys_module_sql set modulesqlurl=REPLACE(modulesqlurl,'localhost','192.168.8.49') where modulesqlurl like '%localhost%';update sys_module_sql set modulesqlurl=REPLACE(modulesqlurl,'192.168.8.51','192.168.8.49') where modulesqlurl like '%192.168.8.51%';update sys_module_sql set modulesqlurl=REPLACE(modulesqlurl,'192.168.8.49:8383','127.0.0.1:8383') where modulesqlurl like '%192.168.8.49:8383%';update sys_module_sql set modulesqlurl=REPLACE(modulesqlurl,'192.168.8.49:8484','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,并编辑为如下内容:
echo start DataCenterPaltform_filesnohup java -jar \datacenter\datacenter\fileserver\DataCenterPaltform_files.jar > datacenter_file.log 2>&1 &ping 127.0.0.1 -c8echo start datax_restful_apinohup java -jar \datacenter\datacenter\datax\datax_restful_api.jar > datax.log 2>&1 &ping 127.0.0.1 -c8echo start kettlenohup java -jar \datacenter\datacenter\kettle\kettle-webapp.jar > kettle.log 2>&1 &ping 127.0.0.1 -c8echo start datacentercd \datacenter\datacenter\datacenter\datacenter-web\bin./run.shping 127.0.0.1 -c28echo start wintime-webnohup java -jar \datacenter\datacenter\datacenterfactory\wintime-web.jar > wintime-web.log 2>&1 &ping 127.0.0.1 -c8
2、逐个启动
保险起见可以一个个的启动,操作如下:
1.下面的程序在哪边启动,将会在哪边打LOG。
为了统一,先CD到**/data/datacenter/datacenter/datacenter/datacenter-web/bin**目录中启动。
2.单独启动文件服务器命令:
nohup java -jar /data/datacenter/datacenter/fileserver/DataCenterPaltform_files.jar > datacenter_file.log 2>&1 &
3.单独启动datax命令:
nohup java -jar /data/datacenter/datacenter/datax/datax_restful_api.jar > datax.log 2>&1 &
4.单独启动kettle命令:
nohup java -jar /data/datacenter/datacenter/kettle/kettle-webapp.jar > kettle.log 2>&1 &
5.单独启动中枢命令:
cd /data/datacenter/datacenter/datacenter/datacenter-web/binsh run.sh
6.单独启动数据集命令:
nohup java -jar /data/datacenter/datacenter/datacenterfactory/wintime-web.jar > wintime-web.log 2>&1 &
:::info
注意:需要启动中枢项目(5),再启动数据集项目(6)
:::
windows系统
1、bat批量启动
批量启动需要新建一个TXT文件并将后缀改为.bat,并编辑为如下内容:
:: 新窗口启动 >>> 文件服务器start "文件服务器" cmd /k "java -jar D:/datacenter/datacenter/fileserver/DataCenterPaltform_files.jar":: 新窗口启动 >>> Dataxstart "Datax" cmd /k "java -jar D:/datacenter/datacenter/datax/datax_restful_api.jar":: 新窗口启动 >>> Kettlestart "Kettle" cmd /k "java -jar D:/datacenter/datacenter/kettle/kettle-webapp.jar":: 新窗口启动 >>> datacenterstart "Datacenter" cmd /k "java -jar D:/datacenter/datacenter/datacenter/datacenter-web/datacenter-web.jar":: 新窗口延迟 10 秒启动 >>> wintime-webstart "Wintime" cmd /k "timeout -nobreak 10 && java -jar D:/datacenter/datacenter/datacenterfactory/wintime-web.jar"exit
2、逐个启动
windows系统不支持nohup命令,因此若要逐个启动,需要直接通过java命令按需启动程序,操作如下:
1.单独启动文件服务器命令:
java -jar D:/datacenter/datacenter/fileserver/DataCenterPaltform_files.jar
3.单独启动datax命令:
java -jar D:/datacenter/datacenter/datax/datax_restful_api.jar
4.单独启动kettle命令:
java -jar D:/datacenter/datacenter/kettle/kettle-webapp.jar
5.单独启动中枢命令:
java -jar D:/datacenter/datacenter/datacenter/datacenter-web/datacenter-web.jar
6.单独启动数据集命令:
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
查看日志
文件操作:
编辑/查看文件:
进入该文件编辑页面:vim 文件
进入编辑状态:键盘i
退出编辑:键盘esc
保存并退出::wq
压缩备份:
压缩:tar -cvf 压缩名.tar 所压缩文件名
解压:tar -xvf 压缩名.tar
复制:cp -a 文件 目录 把文件复制到目录下
移动:mv 文件 目录 把文件移动到目录下
mv 文件1 文件2 把文件1重命名为文件2
查看文件内容:cat 文件
