基础设施
基础设施请采用docker部署,
请注意关闭防火墙防火墙或开放相关端口
关闭防火墙:
systemctl stop firewalld &&\
systemctl disable firewalld
docker安装
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y docker-ce-3:20.10.9-3.el8
systemctl enable docker
systemctl start docker
部署elasticsearch
建立数据存储目录:
mkdir -p /opt/data/esdata
chmod -R 777 /opt/data/esdata
配置扩展词典api:
mkdir -p /opt/ik
cd /opt/ik
vi IKAnalyzer.cfg.xml
elasticsearch使用管理端维护的分词,需要修改IKAnalyzer.cfg.xml中的remote_ext_dict配置路径
IKAnalyzer.cfg.xml需要手动创建文件,文件具体内容参考下面代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置远程扩展字典 -->
<entry key="remote_ext_dict">http://api.base.test.com/load-customwords?secret_key=secret_value</entry>
</properties>
其中域名要根据实际规划的域名进行配置,在此处设置secret_key的值需要记录下,所有部署完成后,需要在管理端进行保存
配置文件修改完成后可使用以下命令进行文件挂载
docker run --rm -d --name elasticsearch -v /opt/data/esdata:/usr/share/elasticsearch/data -v /opt/ik/IKAnalyzer.cfg.xml:/usr/share/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" registry.cn-beijing.aliyuncs.com/shoptnt/elasticsearch:7.9.3
注意IKAnalyzer.cfg.xml文件路径,要在物理机上真实存在
默认cluster-name是docker-cluster
验证:
http://<ip>:9200/_cluster/health
部署rabbimq
建立数据存储目录:
mkdir -p /opt/data/mqdata
chmod -R 777 /opt/data/mqdata
运行mq:
docker run --rm -d --hostname rabbit \
-p 15672:15672 -p 5672:5672 -p 25672:25672 -p 4369:4369 -p 35672:35672 \
-v /opt/data/mqdata:/var/lib/rabbitmq \
-e RABBITMQ_ERLANG_COOKIE='MY-SECRET-KEY' \
--name rabbitmq registry.cn-beijing.aliyuncs.com/shoptnt/rabbitmq:3.8.9
安全起见,请修改上述 RABBITMQ_ERLANG_COOKIE 的值(任意字串)
默认用户名密码是guest/guest
建议修改guest的密码,切创建自己的vhost和用户
部署redis:
建立数据目录
mkdir -p /opt/data/redisdata
chmod -R 777 /opt/data/redisdata
运行redis
docker run --rm -d -p 6379:6379 \
-v /opt/data/redisdata:/data \
--name redis registry.cn-beijing.aliyuncs.com/shoptnt/redis:6.0.10 \
redis-server --appendonly yes --requirepass "123456"
注意修改redis的密码,如果不想要密码,可以删除--requirepass "123456"后执行命令
部署mysql
如果使用阿里云数据库请跳过此步
mkdir -p /home/mysql/{conf,logs,data/mysql}
vi /home/mysql/conf/my.cnf
粘贴如下内容:
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
lower_case_table_names=1
# Custom config should go here
!includedir /etc/mysql/conf.d/
运行mysql容器:
docker run --rm -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/mysql/logs:/logs -v /home/mysql/data/mysql:/var/lib/mysql registry.cn-beijing.aliyuncs.com/shoptnt/mysql:5.6.35
请修改 MYSQL_ROOT_PASSWORD 的值来修改root的密码
您需要创建如下数据库:
-- 创建数据库
CREATE DATABASE IF NOT EXISTS default_database DEFAULT CHARSET utf8 COLLATE utf8_bin;
-- xxl-job库
CREATE DATABASE IF NOT EXISTS xxl_job DEFAULT CHARSET utf8 COLLATE utf8_bin;
如果您要使用其它数据库的名字,请修改数据库名
说明:如果使用mysql5.7版本,则在数据库配置中sql_model的值不能包含NO_BACKSLASH_ESCAPES,当sql_mode中包涵no_backslash_escapes时,反斜杠"\"为普通字符而不是转义字符。
部署xxl-job
docker run --rm -e PARAMS="--spring.datasource.url=jdbc:mysql://ip:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=root --spring.datasource.password=123456" -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin -d registry.cn-beijing.aliyuncs.com/shoptnt/xxl-job-admin:2.2.0
请修改相应密码为在"安装数据"步骤中设定的xxl-job数据库的密码
请注意数据ip使用实际ip,不要使用127.0.0.1等字
注意:这里的密码不支持特殊字符
如果要设置xxl-job的账号和密码
可以在docker启动参数的PARAMS中添加
--xxl.job.login.username=用户名
--xxl.job.login.password=密码
验证:
http://<ip>::8080/xxl-job-admin
默认账号密码:admin/admin