一、安装环境要求
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=8787
spring.servlet.multipart.max-file-size=5000MB
spring.servlet.multipart.max-request-size=5000MB
server.adminpassword=123456
server.filepath=D:/datacenter/upload_file
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
配置文件内容:
server:
port: 8686
spring:
servlet:
multipart:
maxFileSize: 104857600 #100MB
maxRequestSize: 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%2B8
username = root
password = wintime
## 可选配置
# 是否在日志中显示执行的SQL
showSql = true
# 是否格式化显示的SQL
formatSql = false
# 是否显示SQL参数
showParams = true
# 打印SQL的日志等级,默认debug,可以是info、warn、error
sqlLevel = debug
3、kettle
端口:8181
包名:kettle-webapp
部署路径:*/datacenter/datacenter/kettle/kettle-webapp.jar
配置文件目录1(jar包压缩工具打开):BOOT-INF > classes > application.yml
配置文件内容:
spring:
profiles:
#默认本地开发环境
active: pro
main:
allow-bean-definition-overriding: true
#date类型日期格式化
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
#default-property-inclusion: non_null
#mybatis-plus 配置
mybatis-plus:
mapper-locations: classpath*:mappings/*Dao.xml
global-config:
db-config:
id-type: 0
refresh-mapper: true
# 开启或关闭MP3.0自带的banner
banner: true
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
call-setters-on-nulls: true
check-config-location: true
配置文件目录2(jar包压缩工具打开):BOOT-INF > classes > application-pro.yml
配置文件内容:
server:
port: 8181
tomcat:
max-threads: 100
spring:
redis:
host: 127.0.0.1
port: 6379
password: wintime
datasource:
dbtype: MYSQL
hostName: 127.0.0.1
port: 3306
dbName: etl
username: root
password: wintime
params: useUnicode=true&characterEncoding=utf-8&useSSL=false
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://${spring.datasource.hostName}:${spring.datasource.port}/${spring.datasource.dbName}?${spring.datasource.params}
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 8
maximum-pool-size: 20
auto-commit: true
idle-timeout: 30000
pool-name: wintimePlusHikariCP
max-lifetime: 1800000
connection-timeout: 30000
quartz:
auto-startup: true
properties:
org:
quartz:
threadPool:
class: org.quartz.simpl.SimpleThreadPool
threadCount: 20
threadPriority: 5
threadsInheritContextClassLoaderOfInitializingThread: true
#上传文件服务器,Excel上传用
upload:
url: http://127.0.0.1:8787
#日志路径
logging:
path: ./kettle_logs
file:
max-history: 7
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
*配置文件内容:
spring:
# 环境 dev|test|pro
profiles:
active: pro
# jackson时间格式化
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
servlet:
multipart:
maxFileSize: 104857600 #100MB
maxRequestSize: 104857600 #100MB
# mybatis-plus配置
mybatis-plus:
# MyBatis Mapper所对应的XML文件位置
mapper-locations: classpath:/mapper/**/*Mapper.xml
configuration:
call-setters-on-nulls: true
global-config:
# 关闭MP3.0自带的banner
banner: true
db-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: clickword
cache-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: 8484
spring:
redis:
host: 127.0.0.1
port: 6379
password: wintime
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/datacenter?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
username: root
password: wintime
resources: # 指定静态资源的路径
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
# 执行同步API
sync—api: /doExeDataX
# 创建非结构化数据源配置文件API
build-json-api: /buildJsonJobFile
# 创建结构化数据源配置文件API
build-sql-api: /buildSqlJobFile
# 数据上报创建配置文件API
dataupload-build-api: /dataUploadBuildJsonFile
upload:
# 本地上传文件地址
upload-path: D:/datacenter/fileserver_file
service-url: http://127.0.0.1:8787
service-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:5256
register-api: /registerAPIAndStart
update-api: /updateAPI
update-restart-api: /updateAndRestartAPI
delete-api: /delAPI
start-api: /startAPI
stop-api: /stopAPI
#数据处理服务地址
data-process:
address: http://127.0.0.1:8484
simpleLogin:
enable: true
defaultToken:
#系统配置信息
sysconfig:
#子系统最大数量
max-sysnum: 8
logging:
file:
max-history: 30
max-size: 100MB
path: ./datacenter_log
soar:
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+8
date-format: yyyy-MM-dd HH:mm:ss
main:
allow-bean-definition-overriding: true
#mybatis-plus 配置
mybatis-plus:
mapper-locations: classpath*:com/wintime/plus/service/**/**/mapper/xml/*.xml
global-config:
id-type: 0
db-column-underline: true
refresh-mapper: true
check-config-location: true
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
call-setters-on-nulls: true
cache-enabled: true
wintime:
#是否开启redis缓存会话 默认关闭 集群模式必须开启
seesion-redis: false
配置文件目录2(jar包压缩工具打开):BOOT-INF > classes > application-pro.yml
配置文件内容:
server:
port: 8383
tomcat:
max-threads: 100
spring:
#redis配置
redis:
host: 127.0.0.1
port: 6379
password: wintime
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/datacenterfactory?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username: root
password: wintime
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 8
maximum-pool-size: 20
auto-commit: true
idle-timeout: 30000
pool-name: wintimePlusHikariCP
max-lifetime: 1800000
connection-timeout: 30000
# 本地上传文件地址
upload:
service-url: http://127.0.0.1:8787
service-api: http://127.0.0.1:8787/file/uploadFile
service-api-delete: http://127.0.0.1:8787/file/removeFile
# 文件上传服务的密码
service-password: 123456
apiUrl-noToken: http://127.0.0.1:8484/portals/queryN
apiUrl: http://127.0.0.1:8484/api/queryX
export:
# 导出的数据文件地址
datafile-path: D:/datacenter/export_file
#excel导出单个文件阈值
excelThreshold: 20000
#日志路径
logging:
path: ./datacenterfactory_logs
file:
max-history: 7
max-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_files
nohup java -jar \datacenter\datacenter\fileserver\DataCenterPaltform_files.jar > datacenter_file.log 2>&1 &
ping 127.0.0.1 -c8
echo start datax_restful_api
nohup java -jar \datacenter\datacenter\datax\datax_restful_api.jar > datax.log 2>&1 &
ping 127.0.0.1 -c8
echo start kettle
nohup java -jar \datacenter\datacenter\kettle\kettle-webapp.jar > kettle.log 2>&1 &
ping 127.0.0.1 -c8
echo start datacenter
cd \datacenter\datacenter\datacenter\datacenter-web\bin
./run.sh
ping 127.0.0.1 -c28
echo start wintime-web
nohup 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/bin
sh 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"
:: 新窗口启动 >>> Datax
start "Datax" cmd /k "java -jar D:/datacenter/datacenter/datax/datax_restful_api.jar"
:: 新窗口启动 >>> Kettle
start "Kettle" cmd /k "java -jar D:/datacenter/datacenter/kettle/kettle-webapp.jar"
:: 新窗口启动 >>> datacenter
start "Datacenter" cmd /k "java -jar D:/datacenter/datacenter/datacenter/datacenter-web/datacenter-web.jar"
:: 新窗口延迟 10 秒启动 >>> wintime-web
start "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 文件