Centos 7 安装Java运行环境
- 防火墙命令
- 网卡配置
- 一 安装 JDK 环境
- 二 更新 yum 仓库
- 三 Docker 安装
- 1.卸载旧版docker
- 2.安装Docker
- 四 安装mysql数据库
- 本地安装
- 1. 更新 yum
- 2.添加 MySQL 的 yum 仓库源
- 3 选择指定的 mysql 版本
- 3.1 查看所有的 mysql 版本
- 3.2 启用指定版本的 mysql
- 4 安装 mysql
- 5 MySQL 初始化设置
- 6 设置 MySQL开机启动
- 7 设置远程连接
- 容器化部署
- 五 安装配置中心 Apollo
- 1 部署数据库环境
- apolloconfigdb.sql
- apolloportaldb.sql
- 2 部署服务环境
- Apollo-configService 配置服务部署
- Apollo-adminservice 配置服务部署
- Apollo-portal 配置服务部署
- 六 ElasticSearch 环境部署
- 七 Logstash 环境部署
- 八 RockMQ 环境部署
- 九 YApi 环境部署
- MongoDB 环境安装
- YApi 环境安装
- 十 Redis的安装
防火墙命令
# 关闭防火墙
systemctl stop firewalld.service
# 查看防火墙的状态
systemctl status firewalld.service
#执行开机禁用防火墙自启命令(永久关闭防火墙)
systemctl disable firewalld.service
或
firewall-cmd --zone=public --add-port=9876/tcp --permanent
firewall-cmd --zone=public --add-port=10911/tcp --permanent
#说明:
#–zone #作用域
#–add-port=80/tcp #添加端口,格式为:端口/通讯协议
#–permanent 永久生效,没有此参数重启后失效
#重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --reload
#centos7查看防火墙开放的端口信息
firewall-cmd --list-ports
网卡配置
查看网络配置命令:
ifconfig(有些centos7版本无此命令)
或
ip add
配置网络环境:
#网卡配置的路径:/etc/sysconfig/network-scripts/
修改配置文件
vi ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.94.129
NETMASK=255.255.255.0
GATEWAY=192.168.94.2
DNS1=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=7fd08cd5-1757-45c6-ab84-3df72dd378d8
DEVICE=ens33
ONBOOT=true
ZONE=public
修改后需要重新启动网卡:
systemctl restart network
一 安装 JDK 环境
因为 操作系统默认已经安装了 opendjdk,
# 查看
rpm -qa | grep java
# 删除(把上一个命令看到的所有的jdk文件 用 如下命令删除)
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.232.b09-0.el7_7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.241-2.6.20.0.el7_7.x86_64
rmp -e --nodeps java-1.7.0-openjdk-1.7.0.241-2.6.20.0.el7_7.x86_64
1)解压 jdk
tar -zxvf jdk-8u171-linux-x64.tar.gz
2)配置环境变量
>vim /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_171
export PATH=$PATH:${JAVA_HOME}/bin
3)重新加载配置
>source /etc/profile
>java -version
二 更新 yum 仓库
#列出你所有的yum repo
yum repolist
安装阿里yum源
因为默认的yum源服务器在国外,我们在安装软件的时候会受到速度的影响,所以安装国内yum源在下载的时候速度、稳定性会比国外的好很多。
1) 安装wget
yum install -y wget
2) 备份/etc/yum.repos.d/CentOS-Base.repo文件
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back
3) 下载阿里云的Centos-7.repo文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
注意
上面的url中要卸载Centos-7.repo;而不是Centos-6.repo
cat CentOS-Base.repo
4) 重新加载yum
yum clean all
清理之前(CentOS)的缓存
执行效果如下
yum makecache
就是把服务器的包信息下载到本地电脑缓存起来,makecache建立一个缓存,以后用install时就在缓存中搜索,提高了速度。
5、验证yum源使用
yum search tomcat
Loading mirror speeds from cached hostfile(从缓存的主机文件加载镜像速度)
- base: mirrors.aliyun.com
- extras: mirrors.aliyun.com
- updates: mirrors.aliyun.com
6.修改容器中的时区
docker exec -it container /bin/bash // 进入交互模式,container为容器ID或名称,下同
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
docker restart container // 重启容器
docker exec container date -R // 查看时区
三 Docker 安装
1.卸载旧版docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
2.安装Docker
安装Docker
# 1、yum 包更新到最新
yum update
# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4、 安装docker,出现输入的界面都按 y
yum install -y docker-ce
# 5、 查看docker版本,验证是否验证成功
docker -v
Docker命令
启动Docker
systemctl start docker
设置开机自启动
systemctl enable docker
查看状态
systemctl status docker
重启Docker
systemctl restart docker
停止Docker
systemctl stop docker
四 安装mysql数据库
本地安装
1. 更新 yum
在使用yum安装 MySQL 前,先更新 yum
yum update -y
2.添加 MySQL 的 yum 仓库源
Mysql 仓库源地址: https://dev.mysql.com/downloads/repo/yum/
选择 CentOS 7 版本的 mysql 源
安装 wget 工具:
sudo yum install -y wget
使用 wget 下载 mysql yum 源:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
添加 mysql yum 源(在 wget 的下载目录,紧接着上一命令,则无需调整):
sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm
安装 yum 工具 yum-utils :
sudo yum install -y yum-utils
查看可用的 mysql :
yum repolist enabled | grep "mysql.-community."
此时会看到当前可用的 MySQL 版本为 mysql80, 这是因为最新 mysql 最新版为 8.0 版本
3 选择指定的 mysql 版本
3.1 查看所有的 mysql 版本
yum repolist all | grep mysql
3.2 启用指定版本的 mysql
禁用 mysql8.0:
sudo yum-config-manager --disable mysql80-community
启用 mysql 5.7
sudo yum-config-manager --enable mysql57-community
校验当前启用(enable)的 mysql 版本是否为 5.7:
yum repolist enabled | grep mysql
查询结果:
从结果中可以看出,当前启用的 mysql 版本为 5.7,没有问题
4 安装 mysql
在步骤 3 中已经设置启用的mysql版本为 5.7,接下来则直接进行安装
安装 mysql
sudo yum install -y mysql-community-server
待命令执行结束,安装即完成
启动 mysql 服务:
sudo service mysqld start
查看 mysql 服务状态:
sudo service mysqld status
5 MySQL 初始化设置
从 MySQL 5.7 开始,mysql 安装之后,会默认随机生成一个临时密码,因此登录之后需要修改密码
查看生成的初始密码:
sudo grep 'temporary password' /var/log/mysqld.log
[Note] A temporary password is generated for root@localhost: MGJ4=4jraaxw
使用初始密码进行登录:
mysql -u root -p
由于新版mysql 5.7 设置密码必须包含大写字母、小写字母、数字、标点符号,且密码长度至少为 8。所以我们需要修改系统参数来降级。这样我们就可以设置简单的密码了
设置参数如下:
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.05 sec)
mysql>
mysql>
mysql> set global validate_password_mixed_case_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_number_count=3;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_special_char_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=3;
Query OK, 0 rows affected (0.00 sec)
然后设置新密码为 root:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
密码设置之后安装即完成
6 设置 MySQL开机启动
开机启动命令:
systemctl enable mysqld
查看看机启动项:
systemctl list-unit-files | grep enable
7 设置远程连接
登录成功之后执行以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourNewPassword' WITH GRANT OPTION;
刷新权限
FLUSH PRIVILEGES;
容器化部署
#拉取镜像并创建启动容器
docker pull mysql:5.7
# 简单的方式
docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
#详细方式
docker run --name mysql3306 --restart=always -p 3306:3306 --privileged=true -ti -e MYSQL_ROOT_PASSWORD=root -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -e TZ=Asia/Shanghai -v /home/mysql/docker-data/3306/conf:/etc/mysql/conf.d -v /home/mysql/docker-data/3306/data/:/var/lib/mysql -v /home/mysql/docker-data/3306/logs/:/var/log/mysql -d mysql:5.7
#-e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的远程登陆密码(如果是在容器中使用root登录的话,那么其密码为空)
#进入容器
docker exec -it mysql3306 /bin/bash
#登录容器内mysql
mysql -uroot -p
#退出容器
exit
如果容器创建完容器,但mysql的时区不对,需要通过下面的配置来修改时区:
#进入容器
docker exec -it mysql3306 bash
#查看当前时区
date -R
#修改时区 方式一:
cp /usr/share/zoneinfo/PRC /etc/localtime
# 或者 方式二:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
五 安装配置中心 Apollo
使用 Docker 进行容器化部署。
部署环境需要做一下事项:
1.部署 Apollo 数据库环境
2.部署 Apollo 服务环境
1 部署数据库环境
首先从官网下载 sql 脚本文件 网址为:github地址
如果github网址下载慢或者是访问不了,可以使用下面的脚本内容。
apolloconfigdb.sql
/*
SQLyog Ultimate v12.08 (64 bit)
MySQL - 5.7.33 : Database - ApolloConfigDB
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`ApolloConfigDB` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
USE `ApolloConfigDB`;
/*Table structure for table `AccessKey` */
DROP TABLE IF EXISTS `AccessKey`;
CREATE TABLE `AccessKey` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`AppId` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`Secret` varchar(128) NOT NULL DEFAULT '' COMMENT 'Secret',
`IsEnabled` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: enabled, 0: disabled',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) NOT NULL DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `AppId` (`AppId`(191)),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='访问密钥';
/*Data for the table `AccessKey` */
/*Table structure for table `App` */
DROP TABLE IF EXISTS `App`;
CREATE TABLE `App` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`AppId` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`Name` varchar(500) NOT NULL DEFAULT 'default' COMMENT '应用名',
`OrgId` varchar(32) NOT NULL DEFAULT 'default' COMMENT '部门Id',
`OrgName` varchar(64) NOT NULL DEFAULT 'default' COMMENT '部门名字',
`OwnerName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerName',
`OwnerEmail` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerEmail',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `AppId` (`AppId`(191)),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_Name` (`Name`(191))
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='应用表';
/*Data for the table `App` */
insert into `App`(`Id`,`AppId`,`Name`,`OrgId`,`OrgName`,`OwnerName`,`OwnerEmail`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'SampleApp','Sample App','TEST1','样例部门1','apollo','apollo@acme.com','','default','2021-03-22 11:10:56','apollo','2021-03-22 12:11:10');
/*Table structure for table `AppNamespace` */
DROP TABLE IF EXISTS `AppNamespace`;
CREATE TABLE `AppNamespace` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`Name` varchar(32) NOT NULL DEFAULT '' COMMENT 'namespace名字,注意,需要全局唯一',
`AppId` varchar(64) NOT NULL DEFAULT '' COMMENT 'app id',
`Format` varchar(32) NOT NULL DEFAULT 'properties' COMMENT 'namespace的format类型',
`IsPublic` bit(1) NOT NULL DEFAULT b'0' COMMENT 'namespace是否为公共',
`Comment` varchar(64) NOT NULL DEFAULT '' COMMENT '注释',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT '' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_AppId` (`AppId`),
KEY `Name_AppId` (`Name`,`AppId`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='应用namespace定义';
/*Data for the table `AppNamespace` */
insert into `AppNamespace`(`Id`,`Name`,`AppId`,`Format`,`IsPublic`,`Comment`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'application','SampleApp','properties','\0','default app namespace','','','2021-03-22 11:10:56','apollo','2021-03-22 12:11:10');
/*Table structure for table `Audit` */
DROP TABLE IF EXISTS `Audit`;
CREATE TABLE `Audit` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`EntityName` varchar(50) NOT NULL DEFAULT 'default' COMMENT '表名',
`EntityId` int(10) unsigned DEFAULT NULL COMMENT '记录ID',
`OpName` varchar(50) NOT NULL DEFAULT 'default' COMMENT '操作类型',
`Comment` varchar(500) DEFAULT NULL COMMENT '备注',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='日志审计表';
/*Data for the table `Audit` */
insert into `Audit`(`Id`,`EntityName`,`EntityId`,`OpName`,`Comment`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'Namespace',1,'DELETE',NULL,'\0','apollo','2021-03-22 12:11:10',NULL,'2021-03-22 12:11:10'),(2,'Cluster',1,'DELETE',NULL,'\0','apollo','2021-03-22 12:11:10',NULL,'2021-03-22 12:11:10'),(3,'App',1,'DELETE',NULL,'\0','apollo','2021-03-22 12:11:10',NULL,'2021-03-22 12:11:10');
/*Table structure for table `Cluster` */
DROP TABLE IF EXISTS `Cluster`;
CREATE TABLE `Cluster` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`Name` varchar(32) NOT NULL DEFAULT '' COMMENT '集群名字',
`AppId` varchar(64) NOT NULL DEFAULT '' COMMENT 'App id',
`ParentClusterId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '父cluster',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT '' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_AppId_Name` (`AppId`,`Name`),
KEY `IX_ParentClusterId` (`ParentClusterId`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='集群';
/*Data for the table `Cluster` */
insert into `Cluster`(`Id`,`Name`,`AppId`,`ParentClusterId`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'default','SampleApp',0,'','','2021-03-22 11:10:56','apollo','2021-03-22 12:11:10');
/*Table structure for table `Commit` */
DROP TABLE IF EXISTS `Commit`;
CREATE TABLE `Commit` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`ChangeSets` longtext NOT NULL COMMENT '修改变更集',
`AppId` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`ClusterName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',
`NamespaceName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'namespaceName',
`Comment` varchar(500) DEFAULT NULL COMMENT '备注',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `AppId` (`AppId`(191)),
KEY `ClusterName` (`ClusterName`(191)),
KEY `NamespaceName` (`NamespaceName`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='commit 历史表';
/*Data for the table `Commit` */
/*Table structure for table `GrayReleaseRule` */
DROP TABLE IF EXISTS `GrayReleaseRule`;
CREATE TABLE `GrayReleaseRule` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Cluster Name',
`NamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Namespace Name',
`BranchName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'branch name',
`Rules` varchar(16000) DEFAULT '[]' COMMENT '灰度规则',
`ReleaseId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '灰度对应的release',
`BranchStatus` tinyint(2) DEFAULT '1' COMMENT '灰度分支状态: 0:删除分支,1:正在使用的规则 2:全量发布',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_Namespace` (`AppId`,`ClusterName`,`NamespaceName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='灰度规则表';
/*Data for the table `GrayReleaseRule` */
/*Table structure for table `Instance` */
DROP TABLE IF EXISTS `Instance`;
CREATE TABLE `Instance` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',
`DataCenter` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Data Center Name',
`Ip` varchar(32) NOT NULL DEFAULT '' COMMENT 'instance ip',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `IX_UNIQUE_KEY` (`AppId`,`ClusterName`,`Ip`,`DataCenter`),
KEY `IX_IP` (`Ip`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='使用配置的应用实例';
/*Data for the table `Instance` */
/*Table structure for table `InstanceConfig` */
DROP TABLE IF EXISTS `InstanceConfig`;
CREATE TABLE `InstanceConfig` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`InstanceId` int(11) unsigned DEFAULT NULL COMMENT 'Instance Id',
`ConfigAppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Config App Id',
`ConfigClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Config Cluster Name',
`ConfigNamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Config Namespace Name',
`ReleaseKey` varchar(64) NOT NULL DEFAULT '' COMMENT '发布的Key',
`ReleaseDeliveryTime` timestamp NULL DEFAULT NULL COMMENT '配置获取时间',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `IX_UNIQUE_KEY` (`InstanceId`,`ConfigAppId`,`ConfigNamespaceName`),
KEY `IX_ReleaseKey` (`ReleaseKey`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_Valid_Namespace` (`ConfigAppId`,`ConfigClusterName`,`ConfigNamespaceName`,`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应用实例的配置信息';
/*Data for the table `InstanceConfig` */
/*Table structure for table `Item` */
DROP TABLE IF EXISTS `Item`;
CREATE TABLE `Item` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`NamespaceId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '集群NamespaceId',
`Key` varchar(128) NOT NULL DEFAULT 'default' COMMENT '配置项Key',
`Value` longtext NOT NULL COMMENT '配置项值',
`Comment` varchar(1024) DEFAULT '' COMMENT '注释',
`LineNum` int(10) unsigned DEFAULT '0' COMMENT '行号',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_GroupId` (`NamespaceId`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='配置项目';
/*Data for the table `Item` */
insert into `Item`(`Id`,`NamespaceId`,`Key`,`Value`,`Comment`,`LineNum`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,1,'timeout','100','sample timeout配置',1,'','default','2021-03-22 11:10:56','apollo','2021-03-22 12:11:09');
/*Table structure for table `Namespace` */
DROP TABLE IF EXISTS `Namespace`;
CREATE TABLE `Namespace` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`AppId` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`ClusterName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'Cluster Name',
`NamespaceName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'Namespace Name',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `AppId_ClusterName_NamespaceName` (`AppId`(191),`ClusterName`(191),`NamespaceName`(191)),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_NamespaceName` (`NamespaceName`(191))
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='命名空间';
/*Data for the table `Namespace` */
insert into `Namespace`(`Id`,`AppId`,`ClusterName`,`NamespaceName`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'SampleApp','default','application','','default','2021-03-22 11:10:56','apollo','2021-03-22 12:11:10');
/*Table structure for table `NamespaceLock` */
DROP TABLE IF EXISTS `NamespaceLock`;
CREATE TABLE `NamespaceLock` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
`NamespaceId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '集群NamespaceId',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT 'default' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
`IsDeleted` bit(1) DEFAULT b'0' COMMENT '软删除',
PRIMARY KEY (`Id`),
UNIQUE KEY `IX_NamespaceId` (`NamespaceId`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='namespace的编辑锁';
/*Data for the table `NamespaceLock` */
/*Table structure for table `Release` */
DROP TABLE IF EXISTS `Release`;
CREATE TABLE `Release` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`ReleaseKey` varchar(64) NOT NULL DEFAULT '' COMMENT '发布的Key',
`Name` varchar(64) NOT NULL DEFAULT 'default' COMMENT '发布名字',
`Comment` varchar(256) DEFAULT NULL COMMENT '发布说明',
`AppId` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`ClusterName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',
`NamespaceName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'namespaceName',
`Configurations` longtext NOT NULL COMMENT '发布配置',
`IsAbandoned` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否废弃',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `AppId_ClusterName_GroupName` (`AppId`(191),`ClusterName`(191),`NamespaceName`(191)),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_ReleaseKey` (`ReleaseKey`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='发布';
/*Data for the table `Release` */
insert into `Release`(`Id`,`ReleaseKey`,`Name`,`Comment`,`AppId`,`ClusterName`,`NamespaceName`,`Configurations`,`IsAbandoned`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'20161009155425-d3a0749c6e20bc15','20161009155424-release','Sample发布','SampleApp','default','application','{\"timeout\":\"100\"}','\0','','default','2021-03-22 11:10:56','apollo','2021-03-22 12:11:09');
/*Table structure for table `ReleaseHistory` */
DROP TABLE IF EXISTS `ReleaseHistory`;
CREATE TABLE `ReleaseHistory` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',
`NamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'namespaceName',
`BranchName` varchar(32) NOT NULL DEFAULT 'default' COMMENT '发布分支名',
`ReleaseId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '关联的Release Id',
`PreviousReleaseId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '前一次发布的ReleaseId',
`Operation` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '发布类型,0: 普通发布,1: 回滚,2: 灰度发布,3: 灰度规则更新,4: 灰度合并回主分支发布,5: 主分支发布灰度自动发布,6: 主分支回滚灰度自动发布,7: 放弃灰度',
`OperationContext` longtext NOT NULL COMMENT '发布上下文信息',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_Namespace` (`AppId`,`ClusterName`,`NamespaceName`,`BranchName`),
KEY `IX_ReleaseId` (`ReleaseId`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='发布历史';
/*Data for the table `ReleaseHistory` */
insert into `ReleaseHistory`(`Id`,`AppId`,`ClusterName`,`NamespaceName`,`BranchName`,`ReleaseId`,`PreviousReleaseId`,`Operation`,`OperationContext`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'SampleApp','default','application','default',1,0,0,'{}','','apollo','2021-03-22 11:10:56','apollo','2021-03-22 12:11:09');
/*Table structure for table `ReleaseMessage` */
DROP TABLE IF EXISTS `ReleaseMessage`;
CREATE TABLE `ReleaseMessage` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`Message` varchar(1024) NOT NULL DEFAULT '' COMMENT '发布的消息内容',
`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_Message` (`Message`(191))
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='发布消息';
/*Data for the table `ReleaseMessage` */
insert into `ReleaseMessage`(`Id`,`Message`,`DataChange_LastTime`) values (2,'SampleApp+default+application','2021-03-22 12:11:10');
/*Table structure for table `ServerConfig` */
DROP TABLE IF EXISTS `ServerConfig`;
CREATE TABLE `ServerConfig` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`Key` varchar(64) NOT NULL DEFAULT 'default' COMMENT '配置项Key',
`Cluster` varchar(32) NOT NULL DEFAULT 'default' COMMENT '配置对应的集群,default为不针对特定的集群',
`Value` varchar(2048) NOT NULL DEFAULT 'default' COMMENT '配置项值',
`Comment` varchar(1024) DEFAULT '' COMMENT '注释',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_Key` (`Key`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT='配置服务自身配置';
/*Data for the table `ServerConfig` */
insert into `ServerConfig`(`Id`,`Key`,`Cluster`,`Value`,`Comment`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'eureka.service.url','default','http://192.168.94.129:8080/eureka/','Eureka服务Url,多个service以英文逗号分隔','\0','default','2021-03-22 11:10:56','','2021-03-22 11:49:06'),(2,'namespace.lock.switch','default','false','一次发布只能有一个人修改开关','\0','default','2021-03-22 11:10:56','','2021-03-22 11:10:56'),(3,'item.value.length.limit','default','20000','item value最大长度限制','\0','default','2021-03-22 11:10:56','','2021-03-22 11:10:56'),(4,'config-service.cache.enabled','default','false','ConfigService是否开启缓存,开启后能提高性能,但是会增大内存消耗!','\0','default','2021-03-22 11:10:56','','2021-03-22 11:10:56'),(5,'item.key.length.limit','default','128','item key 最大长度限制','\0','default','2021-03-22 11:10:56','','2021-03-22 11:10:56');
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
apolloportaldb.sql
/*
SQLyog Ultimate v12.08 (64 bit)
MySQL - 5.7.33 : Database - ApolloPortalDB
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`ApolloPortalDB` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
USE `ApolloPortalDB`;
/*Table structure for table `App` */
DROP TABLE IF EXISTS `App`;
CREATE TABLE `App` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`AppId` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`Name` varchar(500) NOT NULL DEFAULT 'default' COMMENT '应用名',
`OrgId` varchar(32) NOT NULL DEFAULT 'default' COMMENT '部门Id',
`OrgName` varchar(64) NOT NULL DEFAULT 'default' COMMENT '部门名字',
`OwnerName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerName',
`OwnerEmail` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerEmail',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `AppId` (`AppId`(191)),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_Name` (`Name`(191))
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='应用表';
/*Data for the table `App` */
insert into `App`(`Id`,`AppId`,`Name`,`OrgId`,`OrgName`,`OwnerName`,`OwnerEmail`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'SampleApp','Sample App','TEST1','样例部门1','apollo','apollo@acme.com','','default','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09');
/*Table structure for table `AppNamespace` */
DROP TABLE IF EXISTS `AppNamespace`;
CREATE TABLE `AppNamespace` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`Name` varchar(32) NOT NULL DEFAULT '' COMMENT 'namespace名字,注意,需要全局唯一',
`AppId` varchar(64) NOT NULL DEFAULT '' COMMENT 'app id',
`Format` varchar(32) NOT NULL DEFAULT 'properties' COMMENT 'namespace的format类型',
`IsPublic` bit(1) NOT NULL DEFAULT b'0' COMMENT 'namespace是否为公共',
`Comment` varchar(64) NOT NULL DEFAULT '' COMMENT '注释',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT '' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_AppId` (`AppId`),
KEY `Name_AppId` (`Name`,`AppId`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='应用namespace定义';
/*Data for the table `AppNamespace` */
insert into `AppNamespace`(`Id`,`Name`,`AppId`,`Format`,`IsPublic`,`Comment`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'application','SampleApp','properties','\0','default app namespace','','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09');
/*Table structure for table `Authorities` */
DROP TABLE IF EXISTS `Authorities`;
CREATE TABLE `Authorities` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`Username` varchar(64) NOT NULL,
`Authority` varchar(50) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;
/*Data for the table `Authorities` */
insert into `Authorities`(`Id`,`Username`,`Authority`) values (1,'apollo','ROLE_user');
/*Table structure for table `Consumer` */
DROP TABLE IF EXISTS `Consumer`;
CREATE TABLE `Consumer` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`AppId` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`Name` varchar(500) NOT NULL DEFAULT 'default' COMMENT '应用名',
`OrgId` varchar(32) NOT NULL DEFAULT 'default' COMMENT '部门Id',
`OrgName` varchar(64) NOT NULL DEFAULT 'default' COMMENT '部门名字',
`OwnerName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerName',
`OwnerEmail` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerEmail',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `AppId` (`AppId`(191)),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='开放API消费者';
/*Data for the table `Consumer` */
/*Table structure for table `ConsumerAudit` */
DROP TABLE IF EXISTS `ConsumerAudit`;
CREATE TABLE `ConsumerAudit` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`ConsumerId` int(11) unsigned DEFAULT NULL COMMENT 'Consumer Id',
`Uri` varchar(1024) NOT NULL DEFAULT '' COMMENT '访问的Uri',
`Method` varchar(16) NOT NULL DEFAULT '' COMMENT '访问的Method',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_ConsumerId` (`ConsumerId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='consumer审计表';
/*Data for the table `ConsumerAudit` */
/*Table structure for table `ConsumerRole` */
DROP TABLE IF EXISTS `ConsumerRole`;
CREATE TABLE `ConsumerRole` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`ConsumerId` int(11) unsigned DEFAULT NULL COMMENT 'Consumer Id',
`RoleId` int(10) unsigned DEFAULT NULL COMMENT 'Role Id',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) DEFAULT '' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_RoleId` (`RoleId`),
KEY `IX_ConsumerId_RoleId` (`ConsumerId`,`RoleId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='consumer和role的绑定表';
/*Data for the table `ConsumerRole` */
/*Table structure for table `ConsumerToken` */
DROP TABLE IF EXISTS `ConsumerToken`;
CREATE TABLE `ConsumerToken` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`ConsumerId` int(11) unsigned DEFAULT NULL COMMENT 'ConsumerId',
`Token` varchar(128) NOT NULL DEFAULT '' COMMENT 'token',
`Expires` datetime NOT NULL DEFAULT '2099-01-01 00:00:00' COMMENT 'token失效时间',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `IX_Token` (`Token`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='consumer token表';
/*Data for the table `ConsumerToken` */
/*Table structure for table `Favorite` */
DROP TABLE IF EXISTS `Favorite`;
CREATE TABLE `Favorite` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`UserId` varchar(32) NOT NULL DEFAULT 'default' COMMENT '收藏的用户',
`AppId` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`Position` int(32) NOT NULL DEFAULT '10000' COMMENT '收藏顺序',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `AppId` (`AppId`(191)),
KEY `IX_UserId` (`UserId`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COMMENT='应用收藏表';
/*Data for the table `Favorite` */
/*Table structure for table `Permission` */
DROP TABLE IF EXISTS `Permission`;
CREATE TABLE `Permission` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`PermissionType` varchar(32) NOT NULL DEFAULT '' COMMENT '权限类型',
`TargetId` varchar(256) NOT NULL DEFAULT '' COMMENT '权限对象类型',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT '' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_TargetId_PermissionType` (`TargetId`(191),`PermissionType`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COMMENT='permission表';
/*Data for the table `Permission` */
insert into `Permission`(`Id`,`PermissionType`,`TargetId`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'CreateCluster','SampleApp','','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(2,'CreateNamespace','SampleApp','','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(3,'AssignRole','SampleApp','','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(4,'ModifyNamespace','SampleApp+application','','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(5,'ReleaseNamespace','SampleApp+application','','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(6,'CreateApplication','SystemRole','\0','apollo','2021-03-22 11:57:51','apollo','2021-03-22 11:57:51');
/*Table structure for table `Role` */
DROP TABLE IF EXISTS `Role`;
CREATE TABLE `Role` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`RoleName` varchar(256) NOT NULL DEFAULT '' COMMENT 'Role name',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_RoleName` (`RoleName`(191)),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COMMENT='角色表';
/*Data for the table `Role` */
insert into `Role`(`Id`,`RoleName`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'Master+SampleApp','','default','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(2,'ModifyNamespace+SampleApp+application','','default','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(3,'ReleaseNamespace+SampleApp+application','','default','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(4,'CreateApplication+SystemRole','\0','apollo','2021-03-22 11:57:51','apollo','2021-03-22 11:57:51');
/*Table structure for table `RolePermission` */
DROP TABLE IF EXISTS `RolePermission`;
CREATE TABLE `RolePermission` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`RoleId` int(10) unsigned DEFAULT NULL COMMENT 'Role Id',
`PermissionId` int(10) unsigned DEFAULT NULL COMMENT 'Permission Id',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) DEFAULT '' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_RoleId` (`RoleId`),
KEY `IX_PermissionId` (`PermissionId`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COMMENT='角色和权限的绑定表';
/*Data for the table `RolePermission` */
insert into `RolePermission`(`Id`,`RoleId`,`PermissionId`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,1,1,'','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(2,1,2,'','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(3,1,3,'','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(4,2,4,'','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(5,3,5,'','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(6,4,6,'\0','apollo','2021-03-22 11:57:51','apollo','2021-03-22 11:57:51');
/*Table structure for table `ServerConfig` */
DROP TABLE IF EXISTS `ServerConfig`;
CREATE TABLE `ServerConfig` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`Key` varchar(64) NOT NULL DEFAULT 'default' COMMENT '配置项Key',
`Value` varchar(2048) NOT NULL DEFAULT 'default' COMMENT '配置项值',
`Comment` varchar(1024) DEFAULT '' COMMENT '注释',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_Key` (`Key`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COMMENT='配置服务自身配置';
/*Data for the table `ServerConfig` */
insert into `ServerConfig`(`Id`,`Key`,`Value`,`Comment`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'apollo.portal.envs','dev','可支持的环境列表','\0','default','2021-03-22 11:11:27','','2021-03-22 11:11:27'),(2,'organizations','[{\"orgId\":\"TEST1\",\"orgName\":\"样例部门1\"},{\"orgId\":\"TEST2\",\"orgName\":\"样例部门2\"}]','部门列表','\0','default','2021-03-22 11:11:27','','2021-03-22 11:11:27'),(3,'superAdmin','apollo','Portal超级管理员','\0','default','2021-03-22 11:11:27','','2021-03-22 11:11:27'),(4,'api.readTimeout','10000','http接口read timeout','\0','default','2021-03-22 11:11:27','','2021-03-22 11:11:27'),(5,'consumer.token.salt','someSalt','consumer token salt','\0','default','2021-03-22 11:11:27','','2021-03-22 11:11:27'),(6,'admin.createPrivateNamespace.switch','true','是否允许项目管理员创建私有namespace','\0','default','2021-03-22 11:11:27','','2021-03-22 11:11:27'),(7,'configView.memberOnly.envs','dev','只对项目成员显示配置信息的环境列表,多个env以英文逗号分隔','\0','default','2021-03-22 11:11:27','','2021-03-22 11:11:27');
/*Table structure for table `UserRole` */
DROP TABLE IF EXISTS `UserRole`;
CREATE TABLE `UserRole` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`UserId` varchar(128) DEFAULT '' COMMENT '用户身份标识',
`RoleId` int(10) unsigned DEFAULT NULL COMMENT 'Role Id',
`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
`DataChange_CreatedBy` varchar(32) DEFAULT '' COMMENT '创建人邮箱前缀',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`Id`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_RoleId` (`RoleId`),
KEY `IX_UserId_RoleId` (`UserId`,`RoleId`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='用户和role的绑定表';
/*Data for the table `UserRole` */
insert into `UserRole`(`Id`,`UserId`,`RoleId`,`IsDeleted`,`DataChange_CreatedBy`,`DataChange_CreatedTime`,`DataChange_LastModifiedBy`,`DataChange_LastTime`) values (1,'apollo',1,'','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(2,'apollo',2,'','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09'),(3,'apollo',3,'','','2021-03-22 11:11:27','apollo','2021-03-22 12:11:09');
/*Table structure for table `Users` */
DROP TABLE IF EXISTS `Users`;
CREATE TABLE `Users` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
`Username` varchar(64) NOT NULL DEFAULT 'default' COMMENT '用户名',
`Password` varchar(64) NOT NULL DEFAULT 'default' COMMENT '密码',
`Email` varchar(64) NOT NULL DEFAULT 'default' COMMENT '邮箱地址',
`Enabled` tinyint(4) DEFAULT NULL COMMENT '是否有效',
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
/*Data for the table `Users` */
insert into `Users`(`Id`,`Username`,`Password`,`Email`,`Enabled`) values (1,'apollo','$2a$10$7r20uS.BQ9uBpf3Baj3uQOZvMVvB1RN3PYoKE94gtz2.WAOuiiwXS','apollo@acme.com',1);
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
2 部署服务环境
Apollo的服务部署需要三个:
1.Apollo-configService 配置服务
2.Apollo-adminService 管理服务
3.Apollo-portalService 门户服务
服务的部署参照官方文档:官方文档Docker部署
Apollo-configService 配置服务部署
获得镜像
docker pull apolloconfig/apollo-configservice:1.7.1
创建容器和运行容器
docker run -p 8080:8080 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://106.15.106.247:3306/ApolloConfigDB?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=root \
-d -v /tmp/logs:/opt/logs --name apollo-configservice apolloconfig/apollo-configservice:1.7.1
参数说明:
- SPRING_DATASOURCE_URL: 对应环境ApolloConfigDB的地址
- SPRING_DATASOURCE_USERNAME: 对应环境ApolloConfigDB的用户名
- SPRING_DATASOURCE_PASSWORD: 对应环境ApolloConfigDB的密码
进入到 configservice 容器中,在 apollo-configservice/script/startup.sh 文件中添加下面的配置:
export JAVA_OPTS="$JAVA_OPTS -Deureka.instance.ip-address=自己虚拟机的id地址 -Deureka.instance.prefer-ip-address=true"
Apollo-adminservice 配置服务部署
获得镜像
docker pull apolloconfig/apollo-adminservice:1.7.1
创建容器和运行容器
docker run -p 8090:8090 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://106.15.106.247:3306/ApolloConfigDB?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=root \
-d -v /tmp/logs:/opt/logs --name apollo-adminservice apolloconfig/apollo-adminservice:1.7.1
参数说明:
- SPRING_DATASOURCE_URL: 对应环境ApolloConfigDB的地址
- SPRING_DATASOURCE_USERNAME: 对应环境ApolloConfigDB的用户名
- SPRING_DATASOURCE_PASSWORD: 对应环境ApolloConfigDB的密码
进入到 adminservice 容器中,在 apollo-adminservice/script/startup.sh 文件中添加下面的配置:
export JAVA_OPTS="$JAVA_OPTS -Deureka.instance.ip-address=自己虚拟机的id地址 -Deureka.instance.prefer-ip-address=true"
Apollo-portal 配置服务部署
获得镜像
docker pull apolloconfig/apollo-portal:1.7.1
创建容器和运行容器
docker run -p 8070:8070 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://106.15.106.247:3306/ApolloPortalDB?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=root \
-e APOLLO_PORTAL_ENVS=dev \
-e DEV_META=http://106.15.106.247:8080 \
-d -v /tmp/logs:/opt/logs --name apollo-portal apolloconfig/apollo-portal:1.7.1
参数说明:
- SPRING_DATASOURCE_URL: 对应环境ApolloPortalDB的地址
- SPRING_DATASOURCE_USERNAME: 对应环境ApolloPortalDB的用户名
- SPRING_DATASOURCE_PASSWORD: 对应环境ApolloPortalDB的密码
- APOLLO_PORTAL_ENVS(可选): 对应ApolloPortalDB中的apollo.portal.envs配置项,如果没有在数据库中配置的话,可以通过此环境参数配置
- DEV_META/PRO_META(可选): 配置对应环境的Meta Service地址,以${ENV}_META命名,需要注意的是如果配置了ApolloPortalDB中的[apollo.portal.meta.servers]配置,则以apollo.portal.meta.servers中的配置为准
进入到 potalservice 容器中,在 apollo-potalservice/script/startup.sh 文件中添加下面的配置:
export JAVA_OPTS="$JAVA_OPTS -Deureka.instance.ip-address=自己虚拟机的id地址 -Deureka.instance.prefer-ip-address=true"
六 ElasticSearch 环境部署
1)下载ElasticSearch7.10.1镜像
docker pull elasticsearch:7.10.1
2)创建ElasticSearch配置文件夹
mkdir -p /etc/elasticsearch/config
mkdir -p /etc/elasticsearch/data
mkdir -p /etc/elasticsearch/plugins
3)配置中配置ip信息
echo "http.host: 0.0.0.0" > /etc/elasticsearch/config/elasticsearch.yml
4)配置文件夹权限
chmod -R 775 /etc/elasticsearch/
5)启动容器并配置端口映射与目录映射
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /etc/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /etc/elasticsearch/data:/usr/share/elasticsearch/data \
-v /etc/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.10.1
1)下载Kibana7.10.1镜像
docker pull kibana:7.10.1
2)创建配置文件夹
mkdir -p /etc/kibana/config
3)创建并修改配置文件 kibana.yml
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target
# 根据自己实际IP修改elasticsearch地址
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://192.168.94.129:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
4)启动容器
docker run -d \
--name=kibana \
-p 5601:5601 \
-v /etc/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
kibana:7.10.1
七 Logstash 环境部署
1)下载logstash镜像
#注意要与ES版本一致
docker pull logstash:7.10.1
2)创建logstash容器
#创建logstash本地挂载目录
mkdir -p /etc/logstash
#docker 创建容器
docker run -d --name logstash --privileged=true -v /etc/logstash/:/etc/logstash/pipeline/ logstash:7.10.1
3)设置文件写入权限
chown 1000:1000 /etc/logstash/
4)上传mysql连接包到/etc/logstash/
下
5)在/etc/logstash/
下创建文件logstash.conf
,内容如下
input {
jdbc {
#设置mysql连接包,地址是容器内的地址
jdbc_driver_library => "/etc/logstash/pipeline/mysql-connector-java-8.0.11.jar"
#设置mysql驱动
jdbc_driver_class => "com.mysql.jdbc.Driver"
#设置mysql连接地址,注意必须是ip,不能是localhost
jdbc_connection_string => "jdbc:mysql://192.168.94.129:3306/xc_content"
#数据库帐号
jdbc_user => "root"
#数据库密码
jdbc_password => "root"
#是否分页查询
jdbc_paging_enabled => "true"
#分页大小
jdbc_page_size => "50000"
#是否记录最后值
record_last_run => true
#是否使用列值
use_column_value => "true"
#追踪的列名
tracking_column => "id"
#追踪列的数据类型
tracking_column_type => "numeric"
#最后值记录在哪里
last_run_metadata_path => "/etc/logstash/pipeline/logstash_metadata"
#执行查询的sql语句
statement => "select * from course_base where id > :sql_last_value"
#定时配置
schedule => "*/5 * * * * *"
}
}
output {
elasticsearch {
#ES的ip地址和端口
hosts => "192.168.94.129:9200"
#ES的索引名称
index => "xc_course"
#文档id
document_id => "%{id}"
}
stdout {
#日志输出
codec => json_lines
}
}
6)进入容器
docker exec -it logstash /bin/bash
7)修改容器内配置文件
#进入config文件
cd config
#更改logstash.yml文件
vi logstash.yml
logstash.yml 内容修改为下面的内容
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.94.129:9200" ]
8)修改容器内配置文件
#进入config文件夹
cd config
#更改pipelines.yml文件
vi pipelines.yml
path.config: "/etc/logstash/pipeline/mysql-es-xc.conf"
9)退出并重启容器
#退出容器
exit
#重启容器
docker restart logstash
PS: Logstash 时区不匹配的设置
# 查看当前时间的时区
# 容器外查询
docker exec logstash date
# 容器内查询(以root权限进入容器中)
doker exec -it -u root logstash /bin/bash
date -R
#修改时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#退出容器,并重启
exit
docker restart logstash
八 RockMQ 环境部署
1)下载黑马程序员的RocketMQ镜像
docker pull registry.cn-hangzhou.aliyuncs.com/itheima_wzh/heimarocketmq:1.0
2)宿主机下创建目录
mkdir -p /usr/soft/rocketmq/namesrv/logs
mkdir -p /usr/soft/rocketmq/namesrv/store
mkdir -p /usr/soft/rocketmq/brokersrv/logs
mkdir -p /usr/soft/rocketmq/brokersrv/store
mkdir -p /usr/soft/rocketmq/brokersrv/conf
3)创建并编辑broker配置文件
cd /usr/soft/rocketmq/brokersrv/conf
vi broker.conf
#配置文件内容
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 192.168.94.129
4)启动nameserver
docker run -d -p 9876:9876 -v /usr/soft/rocketmq/namesrv/logs:/root/logs -v /usr/soft/rocketmq/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" registry.cn-hangzhou.aliyuncs.com/itheima_wzh/heimarocketmq:1.0 sh mqnamesrv
5)启动broker
docker run -d -p 10911:10911 -p 10909:10909 -v /usr/soft/rocketmq/brokersrv/logs:/root/logs -v /usr/soft/rocketmq/brokersrv/store:/root/store -v /usr/soft/rocketmq/brokersrv/conf/broker.conf:/opt/rocketmq-4.8.0/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" registry.cn-hangzhou.aliyuncs.com/itheima_wzh/heimarocketmq:1.0 sh mqbroker -c /opt/rocketmq-4.8.0/conf/broker.conf
RocketMQ 可视化控制台Docker 部署
1)下载Rocketmq-console镜像
docker pull apacherocketmq/rocketmq-console:2.0.0
2)宿主机下创建目录
mkdir -p /usr/soft/rocketmq/rocketmq-console/logs
3)启动Rockermq-console
docker run -d --name rocketmq-console -v /usr/soft/rocketmq/rocketmq-console/logs:/root/logs -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.94.129:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8181:8080 -t apacherocketmq/rocketmq-console:2.0.0
九 YApi 环境部署
YApi 的安装需要安装两个环境:
1.MongoDB(YApi使用的数据库)
2.YApi 服务
Yapi 官方github地址:https://github.com/YMFE/yapi
MongoDB 环境安装
拉取镜像
docker pull mongo:4.4
安装容器
docker run -d \
--name mongo-yapi \
-v mongo-data:/usr/soft/mongo/data \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=anoyi \
mongo:4.4
YApi 环境安装
拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/anoyi/yapi
创建 YApi 的工作目录
#创建目录
mkdir -p /usr/soft/yapi/config
#进入到目录中
cd /usr/soft/yapi/config
在此目录中创建 yapi的配置文件 config.json ,内容如下:
{
"port": "3000",
"adminAccount": "admin@anoyi.com",
"timeout":120000,
"db": {
"servername": "mongo",
"DATABASE": "yapi",
"port": 27017,
"user": "admin",
"pass": "anoyi",
"authSource": "admin"
}
}
在 /usr/soft/yapi/config 中执行下面命令来初始化 yapi 的数据库索引及管理员账号
docker run -it --rm \
--link mongo-yapi:mongo \
--entrypoint npm \
--workdir /yapi/vendors \
-v $PWD/config.json:/yapi/config.json \
registry.cn-hangzhou.aliyuncs.com/anoyi/yapi \
run install-server
初始化后便可以得到 yapi 的默认账号:账号名:“admin@anoyi.com”,密码:“ymfe.org”
在 /usr/soft/yapi/config 中执行下面命令来创建容器
docker run -d \
--name yapi \
--link mongo-yapi:mongo \
--workdir /yapi/vendors \
-p 3000:3000 \
-v $PWD/config.json:/yapi/config.json \
registry.cn-hangzhou.aliyuncs.com/anoyi/yapi \
server/app.js
创建好后,便可以通过浏览器地址进行访问:http://ip地址:3000
十 Redis的安装
拉取镜像:
docker pull redis:6.0
创建redis的目录
mkdir -p /usr/soft/redis/config
mkdir -p /usr/soft/redis/data
创建容器:
docker run \
-p 6379:6379 \
-v /usr/soft/redis/data:/data \
-v /usr/soft/redis/config/redis.conf:/etc/redis/redis.conf \
--privileged=true \
--name redis6379 \
-d redis:6.0 redis-server /etc/redis/redis.conf
命令解释:
-p 6379:6379 \ # 端口映射 宿主机:容器
-v $PWD/data:/data: \ # 映射数据目录 rw 为读写
-v $PWD/conf/redis.conf:/etc/redis/redis.conf \ # 挂载配置文件 ro 为readonly
–privileged=true \ # 给与一些权限
–name redis:6379 \ # 给容器起个名字
-d redis redis-server /etc/redis/redis.conf # deamon 运行容器 并使用配置文件启动容器内的 redis-server