栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Docker 安装 Mysql , Redis,ElasticSearch,Kibana,RabbitMQ,Zipkin,Nacos,Minio Docker服务器环境搭建

Docker 安装 Mysql , Redis,ElasticSearch,Kibana,RabbitMQ,Zipkin,Nacos,Minio Docker服务器环境搭建

java全知识点学习笔记 思维导图 面试跳槽必备 码云仓库地址 https://gitee.com/vx202158/vx202158.git 
                                                           # Docker 安装 Mysql , Redis,ElasticSearch,Kibana,RabbitMQ,Zipkin,Nacos,Minio   Docker服务器环境搭建
01-服务器环境搭建

如何安装VMWare并且安装linux系统,并且能连上它

1、怎么找到各种linux下载地方

​ centos 镜像:http://mirror.centos.org/

2、找到最小镜像

3、磁盘40G、CPU2核、内存4G

4、默认装好纯净系统需要设置

5、设置网络

一、统一虚拟机设置 1、修改VMnet8网卡

2、确认网卡信息

3、修改linux静态ip
#网卡所在目录
cd /etc/sysconfig/network-scripts/

ls 

# 如上图,则修改ens33即可,下面为模板,
# 需要注意的字段。
#  onBOOT=yes               IPADDR=192.168.200.130      GATEWAY=192.168.200.2 
#  NETMASK=255.255.255.0    DNS1=114.114.114.114        BOOTPROTO=static
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_onLY=no
BOOTPROTO=static
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=b8fd5718-51f5-48f8-979b-b9f1f7a5ebf2
DEVICE=ens33
onBOOT=yes
IPADDR=192.168.200.188
GATEWAY=192.168.200.2
NETMASK=255.255.255.0
DNS1=114.114.114.114


### 你的网卡至少可以为
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
UUID=b8fd5718-51f5-48f8-979b-b9f1f7a5ebf2
DEVICE=ens33
onBOOT=yes
IPADDR=192.168.200.130
GATEWAY=192.168.200.2
NETMASK=255.255.255.0
DNS1=114.114.114.114

4、用xshell等工具连接

设置完以上静态ip后,使用xshell等连接使用即可

hostnamectl set-hostname lfy

CentOS7.9 默认已经关闭了防火墙

5、时间同步

本地虚拟机环境会由于服务器时间问题,导致各种软件故障,需要开启时间同步

yum -y install ntp ntpdate
ntpdate 0.asia.pool.ntp.org
date
hwclock --systohc

## 以上不运行都行

mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

自己建立虚拟机的集群。linux时间同步要做好。容器的时间,经常和系统时间不一样?

容器:基础镜像;alpine。 默认UTC

我们都是调整了的 CST

docker run -v /etc/localtime:/etc/localtime:ro 镜像名

二、安装Docker

官方文档:https://docs.docker.com/engine/install/centos/

sudo yum remove docker*
sudo yum install -y yum-utils

sudo yum-config-manager 
    --add-repo 
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo yum install -y docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io-1.4.3
sudo systemctl enable docker --now
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  }
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
#1、安装Docker-Compose, 批量启停服务
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose
三、部署中间件-Docker版 1、MySQL
##1、部署
docker run -p 3306:3306 --name mysql-01 
-v /mydata/mysql-01/log:/var/log/mysql 
-v /mydata/mysql-01/data:/var/lib/mysql 
-v /mydata/mysql-01/conf:/etc/mysql/conf.d 
-e MYSQL_ROOT_PASSWORD=root 
--restart=always 
-d mysql:5.7
##2、配置初始化 
mkdir -p /mydata/mysql-01/conf && vim /mydata/mysql-01/conf/default.cnf

[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
init_connect='SET collation_connection = utf8mb4_unicode_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
##3、设置root远程连接
#1、进入master容器
docker exec -it mysql /bin/bash
#2、进入mysql内部 
mysql –uroot -p
	#1)、授权root可以远程访问( 主从无关,为了方便我们远程连接mysql)
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;



##或者,-h
docker run -it --rm mysql:5.7 mysql -uroot -h172.17.0.2 -p
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
2、Redis
## 1、准备redis配置文件内容
mkdir -p /mydata/redis-01/conf && vim /mydata/redis-01/conf/redis.conf


#开启持久化
appendonly yes
port 6379
requirepass Lfy123!@!
bind 0.0.0.0
docker run -d -p 6379:6379 --restart=always 
-v /mydata/redis-01/conf/redis.conf:/etc/redis/redis.conf 
-v  /mydata/redis-01/data:/data 
 --name redis-01 redis:6.2.5 
 redis-server /etc/redis/redis.conf
 
 # docker run xxxx imageName  redis-server xx
3、ELK
# 1、设置Linux进程限制内存
vim /etc/sysctl.conf

vm.max_map_count=655360


# 2、设置生效
sysctl -p
# 或者 sysctl --system 
1、ElasticSearch
# 提前授权
mkdir -p /mydata/es-01 && chmod 777 -R /mydata/es-01
docker run --restart=always -d -p 9200:9200 -p 9300:9300 
-e "discovery.type=single-node" 
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" 
-e "bootstrap.memory_lock=true" 
-v es-config:/usr/share/elasticsearch/config 
-v /mydata/es-01/data:/usr/share/elasticsearch/data 
--ulimit nofile=65535:65535    
--ulimit memlock=-1:-1 
--name es-01 
elasticsearch:7.13.4

#放大容器的进程树
#1、下载ik分词插件
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.13.4/elasticsearch-analysis-ik-7.13.4.zip

#2、解压
unzip -d ik elasticsearch-analysis-ik-7.13.4.zip

#3、复制到容器内部plugins目录
docker cp ik 容器id:/usr/share/elasticsearch/plugins
#了解下反向操作
docker cp 容器id:/usr/share/elasticsearch/xxx   abc

#4、重启es
docker restart 容器id
2、Kibana
docker run --name kib01 -d --restart=always  
--link 02b39a5a3874:es01 -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://es01:9200" 
kibana:7.13.4

#小知识: --link :alias

ELK:ElasticSearch+Logstash+Kibana

EFK:ElasticSearch+Filebeats+Kibana

3、Filebeats
# 1、启动日志收集器
docker run -d 
  --name=filebeat 
  --restart=always 
  -v filebeat-conf:/usr/share/filebeat 
  -v /var/log/messages:/var/log/messages 
  --link 02b39a5a3874:es01 
  elastic/filebeat:7.13.4
  
  # 注意: 
  # /var/log/messages 就是记录了当前主机的日志。yum mysql,redis,主机上服务的日志都在这儿
  # 1、 --link 7863831f1b58:es01  要用自己es容器的id
  # 2、-v filebeat-conf:/usr/share/filebeat; /usr/share/filebeat下有很多东西,包含配置文件。要整个挂载出来
#1、修改配置文件:
cd /var/lib/docker/volumes/filebeat-conf/_data

vim filebeat.yml
#内容如下
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/messages

filebeat.config:
  modules:
    path: ${path.config}/modules.d




CREATE TABLE `config_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) DEFAULT NULL,
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `c_desc` varchar(256) DEFAULT NULL,
  `c_use` varchar(64) DEFAULT NULL,
  `effect` varchar(64) DEFAULT NULL,
  `type` varchar(64) DEFAULT NULL,
  `c_schema` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';





CREATE TABLE `config_info_aggr` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) NOT NULL COMMENT 'group_id',
  `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
  `content` longtext NOT NULL COMMENT '内容',
  `gmt_modified` datetime NOT NULL COMMENT '修改时间',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';






CREATE TABLE `config_info_beta` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';





CREATE TABLE `config_info_tag` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';





CREATE TABLE `config_tags_relation` (
  `id` bigint(20) NOT NULL COMMENT 'id',
  `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
  `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `nid` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`nid`),
  UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';





CREATE TABLE `group_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';





CREATE TABLE `his_config_info` (
  `id` bigint(64) unsigned NOT NULL,
  `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `data_id` varchar(255) NOT NULL,
  `group_id` varchar(128) NOT NULL,
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL,
  `md5` varchar(32) DEFAULT NULL,
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `src_user` text,
  `src_ip` varchar(50) DEFAULT NULL,
  `op_type` char(10) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`nid`),
  KEY `idx_gmt_create` (`gmt_create`),
  KEY `idx_gmt_modified` (`gmt_modified`),
  KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';






CREATE TABLE `tenant_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';


CREATE TABLE `tenant_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `kp` varchar(128) NOT NULL COMMENT 'kp',
  `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
  `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
  `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
  `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
  `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
  `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';

CREATE TABLE `users` (
	`username` varchar(50) NOT NULL PRIMARY KEY,
	`password` varchar(500) NOT NULL,
	`enabled` boolean NOT NULL
);

CREATE TABLE `roles` (
	`username` varchar(50) NOT NULL,
	`role` varchar(50) NOT NULL,
	UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);

CREATE TABLE `permissions` (
    `role` varchar(50) NOT NULL,
    `resource` varchar(255) NOT NULL,
    `action` varchar(8) NOT NULL,
    UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);

INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
#1、准备nacos配置文件信息 conf/application.properties
mkdir -p /mydata/nacos/conf/ && vim /mydata/nacos/conf/application.properties

##内容如下,注意改成自己数据库域名和账号密码

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://mysql-01:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
#docker pull nacos/nacos-server:2.0.2

docker run -d -p 8848:8848 --name=nacos 
--link b9c669ab9c17:mysql-01 
-v /mydata/nacos/conf/:/home/nacos/init.d/ 
-e MODE=standalone 
--restart=always 
nacos/nacos-server:2.0.2

#访问8848,默认账号密码为 nacos:nacos 进去以后一定修改为自己的;如: lfy123456

docker run -d -p 8848:8848 --name=nacos 
-e MODE=standalone 
--restart=always 
nacos/nacos-server:2.0.2
8、Minio

OSS(Object Storage Service):对象存储服务

http://docs.minio.org.cn/docs/

docker run -p 9000:9000 -p 9001:9001 -d --restart=always 
-v /ossdata:/data 
-v /mydata/minio/config:/root/.minio 
-v /etc/localtime:/etc/localtime:ro 
-e "MINIO_ACCESS_KEY=admin" 
-e "MINIO_SECRET_KEY=admin123456" 
--name minio minio/minio 
server --console-address ":9001" /data
四、访问文档
192.168.200.188:8848/nacos
五、前端部署
## 1、准备全局加速
npm config set registry https://registry.npm.taobao.org
npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass

## 2、安装前端依赖
npm install 


## 3、重新install 
npm run dev 
docker run -d -p 80:80 --name gmall-admin-vue 
--restart=always 
-v /mydata/admin-vue:/usr/share/nginx/html 
nginx


#额外
--add-host=myhostname:10.180.8.1

#compose用
extra_hosts:
   - "somehost:162.242.195.82"
   - "otherhost:50.31.209.229"

恭喜~~~

前置基础环境搭建完成

附录:云服务器使用 1、注册云平台

注册云平台:

阿里云 aliyun.com腾讯云 cloud.tencent.com华为云 cloud.huawei.com

青云 qingcloud.com

百度云 cloud.baidu.com

2、云平台核心 1、ECS

云服务器

2、VPC

隔离的私有网络

3、安全组

防火墙控制

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/753992.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号