物流系统部署文档
系统要求
- centos7.0以上
环境要求
- jdk
- redis
- rabbitmq
- TDengine(时序数据库)
- mysql
安装压缩包目录结构
# 3 目录 1 .sh文件
|-- jar/
| |-- README.md
| |-- admin-1.2-amap.jar
| |-- admin-1.2-baidu.jar
| |-- admin-1.2-superMap.jar
| |-- alarm-1.2-SNAPSHOT.jar
| |-- config/
| |-- application.yml
| |-- gps-1.2-SNAPSHOT.jar
| |-- lock-monitor-1.2-SNAPSHOT.jar
| |-- sql/
| |-- customs.sql
| |-- tcpgw-1.0.1.jar
|-- rpm/
|-- MySQL-client-5.6.46-1.el7.x86_64.rpm
|-- MySQL-devel-5.6.46-1.el7.x86_64.rpm
|-- MySQL-server-5.6.46-1.el7.x86_64.rpm
|-- TDengine-1.6.4.3.rpm
|-- erlang-22.2-1.el7.x86_64.rpm
|-- jdk-8u221-linux-x64.rpm
|-- rabbitmq-server-3.7.23-1.el7.noarch.rpm
|--logs/
└──runjar.sh
端口占用
组件 | 占用端口 |
---|---|
Mysql | 3306 |
TDengine | 6030-6039 |
rabbitMQ | 5672 / 15672 / 25672 |
redis | 6379 |
admin-*(地图后台) | 13000 |
tcpgw-*(网关) | 8602 / 8601 |
gps-*(GPS服务) | 14000 |
环境安装
1.安装依赖
#安装EPEL源
yum -y install epel-release
#安装依赖
yum -y install perl perl-Data-Dumper libaio numactl net-tools socat logrotate
2.安装jdk
安装前使用java -version查看当前机器的java版本信息
如果已安装有,可以不必安装,出现异常问题再把旧的卸载,重新安装rpm。
rpm -ivh rpm/jdk-8u221-linux-x64.rpm
安装后验证,成功如下
[root@60b2afff7a01 wljk]# java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
3.安装Mysql
安装前检查当前机器是否安装有mysql、Mariadb
Mariadb需要卸载干净,包括数据库目录,否则无法安装上mysql
如果已安装有mysql,可以不必安装。出现异常问题再把旧的卸载,重新安装本rpm。
注意mysql端口3306的占用、防火墙开放、开机自启动等情况
rpm -ivh rpm/MySQL-*.rpm
安装后启动并验证,成功如下
[root@60b2afff7a01 wljk]# systemctl start mysql
[root@60b2afff7a01 wljk]# systemctl status mysql
● mysql.service - LSB: start and stop MySQL
Loaded: loaded (/etc/rc.d/init.d/mysql; bad; vendor preset: disabled)
Active: active (running) since Wed 2019-12-18 07:54:35 UTC; 18h ago
Docs: man:systemd-sysv-generator(8)
CGroup: /system.slice/docker-60b2afff7a0165ba0468a8824632ab73fd92fa215f62af2d5b7bed931c9bc828.scope/system.slice/mysql.service
├─2007 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/60b2afff7a01.pid
└─2103 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=60b2af...
Dec 18 07:54:34 60b2afff7a01 systemd[1]: Starting LSB: start and stop MySQL...
Dec 18 07:54:34 60b2afff7a01 mysql[2002]: Starting MySQL.Logging to '/var/lib/mysql/60b2afff7a01.err'.
Dec 18 07:54:35 60b2afff7a01 mysql[2002]: SUCCESS!
Dec 18 07:54:35 60b2afff7a01 systemd[1]: Started LSB: start and stop MySQL.
[root@60b2afff7a01 wljk]#
修改密码(安装成功后必需修改密码方可使用),并导入sql数据
【查看/root/.mysql_secret获取安装成功后的随机密码】
[root@60b2afff7a01 wljk]# cat /root/.mysql_secret
# The random password set for the root user at Wed Dec 18 07:53:29 2019 (local time): Bbw3n01myete2UhQ
【使用上边随机密码Bbw3n01myete2UhQ进入mysql】
[root@60b2afff7a01 wljk]# mysql -uroot -pBbw3n01myete2UhQ
Warning: Using a password on the command line interface can be insecure.
......
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
【修改密码使之生效并退出】
mysql> set password for 'root'@'localhost'=password('sunniwell');
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit;
Bye
[root@60b2afff7a01 wljk]#
【使用新密码登录验证成功】
[root@60b2afff7a01 wljk]# mysql -uroot -psunniwell
Warning: Using a password on the command line interface can be insecure.
......
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
【使用source导入数据成功】
mysql> source deploy/sql/customs.sql
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
.......
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
mysql>quit;
4.安装rabbitmq
低版本Erlang语言版本可能无法支持新版本的rabbitMQ
docker里无法正常使用systemctl启动,可使用./rabbitmq-server -detached后台启动
注意rabbitMQ端口5672/15672/25672的占用、防火墙开放、开机自启动等情况
rabbitmq依赖Erlang,先安装Erlang
rpm -ivh rpm/erlang-22.2-1.el7.x86_64.rpm
接着安装rabbitmq
rpm -ivh rpm/rabbitmq-server-3.7.23-1.el7.noarch.rpm
安装后启动并配置
【启动rabbitmq】
[root@node244 haiguan]# systemctl start rabbitmq-server
【创建用户及授权】
[root@node244 haiguan]# rabbitmqctl add_user amqpadmin amqppasswd
Adding user "amqpadmin" ...
[root@node244 haiguan]# rabbitmqctl set_user_tags amqpadmin administrator
Setting tags for user "amqpadmin" to [administrator] ...
[root@node244 haiguan]# rabbitmqctl set_permissions -p / amqpadmin ".*" ".*" ".*"
Setting permissions for user "amqpadmin" in vhost "/" ...
【开启management-WEB管理插件】
[root@node244 haiguan]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@node244:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@node244...
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
started 3 plugins.
【重启rabbitmq并验证】
[root@node244 haiguan]# systemctl restart rabbitmq-server
[root@node244 haiguan]# systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
Active: active (running) since 四 2019-12-19 16:32:39 CST; 10s ago
......
12月 19 16:32:39 node244 systemd[1]: Started RabbitMQ broker.
12月 19 16:32:39 node244 rabbitmq-server[72014]: completed with 3 plugins.
[root@node244 haiguan]#
5.安装TDengine
docker里无法正常使用systemctl启动,可根据提示使用命令启动
docker可能要根据错误提示修改/etc/taos/taos.cfg配置文件
rpm -ivh rpm/TDengine-1.6.4.3.rpm
安装后验证,成功如下
[root@node244 haiguan]# systemctl start taosd
[root@node244 haiguan]# systemctl status taosd
● taosd.service - TDengine server service
Loaded: loaded (/etc/systemd/system/taosd.service; enabled; vendor preset: disabled)
Active: active (running) since 四 2019-12-19 17:01:36 CST; 7s ago
Main PID: 42446 (taosd)
Tasks: 75
Memory: 37.5M
CGroup: /system.slice/taosd.service
└─42446 /usr/bin/taosd
12月 19 17:01:36 node244 systemd[1]: Started TDengine server service.
12月 19 17:01:36 node244 TDengine:[42446]: Starting TDengine service...
12月 19 17:01:36 node244 TDengine:[42446]: Started TDengine service successfully.
6.安装redis
yum -y install redis
配置redis密码为sunniwell
[root@3d0ca2ea2d70 /]# echo "requirepass sunniwell" >> /etc/redis.conf
安装后验证,成功如下
[root@3d0ca2ea2d70 /]# systemctl start redis
[root@3d0ca2ea2d70 /]# systemctl status redis
● redis.service - Redis persistent key-value database
Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/redis.service.d
└─limit.conf
Active: active (running) since Thu 2019-12-19 09:06:59 UTC; 6s ago
Main PID: 83981 (redis-server)
CGroup: /system.slice/docker-3d0ca2ea2d70775e1a3eca3bda25862f996f96534401cf141c5ff81571ed6461.scope/system.slice/redis.service
└─83981 /usr/bin/redis-server 127.0.0.1:6379
‣ 83981 /usr/bin/redis-server 127.0.0.1:6379
Dec 19 09:06:59 3d0ca2ea2d70 systemd[1]: Starting Redis persistent key-value database...
Dec 19 09:06:59 3d0ca2ea2d70 systemd[1]: Started Redis persistent key-value database.
[root@3d0ca2ea2d70 /]#
服务配置修改
修改jar/config/application.yml文件
包括mysql、rabbitmq、redis、TDengine的host、用户、密码以及gps组件URL、后台地图类型等信息
spring:
datasource:
druid:
url: jdbc:mysql://127.0.0.1:3306/customs?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: sunniwell
rabbitmq:
host: 127.0.0.1
username: amqpadmin
password: amqppasswd
redis:
database: 3
password: sunniwell
host: 127.0.0.1
# TDengine
taos:
url: jdbc:TSDB://127.0.0.1:0/gps?user=root&password=taosdata
# gps服务地址
sunniwell:
gps:
url: http://127.0.0.1:14000/gps/
map:
# 0-百度 1-高德 2-超图
type: 1
# 授权ak
key: abaf988af0d771cadca940d676ec4a51
启动业务服务
使用脚本runjar.sh启动组件
其中(amap、baidu、superMap)只能启动其中一个,根据上边的application.yml文件。
启动成功后使用http://IP:13000,账号admin密码admin登录后台。
[root@ac8453b3bfaa wljk]# ./runjar.sh start all
baidu 百度地图后台 启动成功 PID=95741
alarm 告警 启动成功 PID=95816
gps GPS数据存储 启动成功 PID=95902
lock 锁状态处理 启动成功 PID=96012
tcpgw 网关 启动成功 PID=96235
[root@ac8453b3bfaa wljk]# ./runjar.sh stop baidu
baidu 百度地图后台 结束成功!
............本次共停止:1个服务............
[root@ac8453b3bfaa wljk]# ./runjar.sh start baidu
baidu 百度地图后台 启动成功 PID=97335
............本次共启动:1个服务...........
[root@ac8453b3bfaa wljk]# ./runjar.sh status
amap 高德地图后台 未运行
baidu 百度地图后台 运行中... PID=97335
superMap 超图地图后台 未运行
alarm 告警 运行中... PID=95816
gps GPS数据存储 运行中... PID=95902
lock 锁状态处理 运行中... PID=96012
tcpgw 网关 运行中... PID=96235
后台展示