(第二十六天)

news2024/11/27 19:35:42

上午

1、web01与web02服务器搭建

ip:10.0.0.11
systemctl stop filewalld
systemctl disable firewalld
setenforce 0
vim /etc/selinux/config
SELINUX = disabled
yum -y install nginx
echo "web----------01" > /usr/share/nginx/html/index.html
nginx
ip:10.0.0.12
systemctl stop filewalld
systemctl disable firewalld
setenforce 0
vim /etc/selinux/config
SELINUX = disabled
yum -y install nginx
echo "web----------02" > /usr/share/nginx/html/index.html
nginx
2 nat 服务器搭建
两个网卡 ip:10.0.0.10( 内网 ip) 10.0.0.23( 外网 ip)
systemctl stop filewalld
systemctl disable firewalld
setenforce 0
vim /etc/selinux/config
SELINUX = disabled
3 dns 服务器搭建
ip:10.0.0.3
yum -y install bind
vim /etc/named.conf
listen-on port 53 { 127 .0.0.1;any; };
......
allow-query { localhost;any; };
vim /etc/named.rfc1912.zones
zone "abc.com" IN {
type master;
file "abc.com.zone" ;
allow-update { none; };
};
cp -p /var/named/named.localhost /var/named/abc.com.zone
vim /var/named/abc.com.zone
web01 A 10 .0.0.11
web02 A 10 .0.0.12
nat A 10 .0.0.10
ds A 10 .0.0.23
systemctl start named
下午
1 、时间服务器搭建
ntp 服务器搭建在 nat 服务器上 (ip 地址为 10.0.0.10)
[root@ntp ~] # yum -y install ntpdate
[root@ntp ~] # ntpdate cn.ntp.org.cn
[root@ntp ~] # yum -y install ntp
[root@ntp ~] # vim /etc/ntp.conf
15 行加入 restrict 10 .0.0.0 mask 255 .255.255.0 // 允许 10.0.0.0 网段的主机访问
[root@ntp ~] # which ntpdate
[root@ntp ~] # crontab -e
* 2 * * * /usr/sbin/ntpdate cn.ntp.org.cn
[root@ntp ~] # systemctl start ntpd
[root@ntp ~] # systemctl enable ntpd
其余内网主机
yum -y install ntpdate
crontab -e // 定时与 ntp 服务器同步时间
30 * * * * /usr/sbin/ntpdate 10 .0.0.10
date
date -s "2014-1-1 14:00:00"
date
ntpdate 10 .0.0.10
2 、规划表
3 ipvsadm
ipvsadm.x86_64 通常是指用于 x86_64 架构的 IP 虚拟服务器管理工具( IP Virtual Server
Administration )。
IPVS IP Virtual Server )是 Linux 内核中的一种负载均衡技术。 ipvsadm 工具用于配置和管理
IPVS 规则。
例如,您可以使用 ipvsadm 来设置负载均衡的算法(如轮询、加权轮询等)、定义真实服务器
Real Server )、添加服务( Service )等。
[root@nat ~] # yum -y install ipvsadm.x86_64
[root@nat ~] # ipvsadm -h # 显示 ipvsadm 工具的帮助信息
[root@nat ~] # ipvsadm -C # 清空当前的 IPVS 规则设置。
[root@nat ~] # ipvsadm -L # 用于列出当前系统中已配置的 IPVS 规则和相关信息
IP Virtual Server version 1 .2.1 (size = 4096 )
Prot LocalAddress:Port Scheduler Flags
- > RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@nat ~] # ipvsadm -L -n # 用于以数字形式列出当前系统中已配置的 IPVS 规则和相关
信息
IP Virtual Server version 1 .2.1 (size = 4096 )
Prot LocalAddress:Port Scheduler Flags
- > RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@nat ~] # ipvsadm -A -t 10.0.0.23:80 -s rr
(失败)
4 mysql 补充 ( slave 服务器不⼩⼼写⼊数据的解决⽅案 )
1 、正常情况下, master 既可以读,也可以写,但是 slave 从服务器 只能读取操作,⼀旦我们在 slave
从服务器中写⼊数据,主从结 构会失败。
2 show slave status\G
3 、如果数据⽐较少,可以通过跳过当前语句的⽅式解决,但是如果 从服务器写⼊的数据⽐较多,架
构必须重新搭建
4 、可通过变量 sql_slave_skip_counter 临时跳过事务进⾏处理
mysql > set GLOBAL sql_slave_skip_counter = N # n 代表跳过的 n 个事务
mysql > stop slave ;
mysql > start slave ;
5 、跳过事务应该在 slave 上运⾏
6 、传统的 ab 复制⽅式可以使⽤,基于 GTIDs 的⽅式不⽀持
5 mysql 补充(基于 gtids 的主从复制搭建)
主从同步太过频繁,浪费资源。添加 gtid ,只添加提交的事务。
1 、什么是 GTIDs
1 Global transaction identifiers 全局事务标识符,是 mysql5.6 新加 的技术
2 、使 GTIDs 时,每 个事务都可以被识别和跟踪
3 、添加的新的 slave 或者发 故障时,需要将 master 身份或者 ⻆⾊ 迁移到 slave 上时,都需要考虑哪
进制 志以及哪个 position 值,极 简化了相关操作。
4 GTIDs 是完全基于事务的,因此不 MYISAM 存储引擎
5 GTIDs source_id transaction 组成:
source_id 来源于 server.uuid 可以在 auto.cnf 中看到
tansaction_id 个序列数字,
2 、限制条件
1 、不 事务引擎( MyISAM )因为可能会导致多个 gtid 分布给同 个事务
2 create table select 语句不 持(主库语法报错)
3 create drop temprary table 语法不
4 、必须使 enforce-gtid-consistency 参数
5 sql-slave-skip-counter
6 gtid 复制环境中必须统 开启 gtid 或者关闭 gtid
7 、在 5.7 之前使 mysql upgrade 命令也会出现问题
3 replication 是基于传统的⽅式部署,并且已经在运⾏,利⽤已经 存在的环境升
级⾄基于 GTIDs replication
1 . 修改配置 件, GTIDs (主从)
2 . 重启数据库(主从)
3 . 为了保证数据 直, master slave 都设置为只读
4 . 从服务器上重新配置同步
4 、实践步骤
1 . 修改配置 GTIDs
# master
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
port = 3306
log-error = /usr/local/mysql/data/db01-
master.err
log-bin = /usr/local/mysql/data/binlog
server-id = 10
character_set_server = utf8mb4
gtid-mode = on
# GTID Global Transaction Identifier ,全局事务标识符)模式开启。 GTID MySQL 用于
在主从复制环境中唯一标识每个事务的标识符。开启此模式可以更方便地进行主从切换、故障恢复以及数据迁移等操作。例如,当需要将从库提升为主库时,通过 GTID 可以更准确和高效地确定需要应用的事务。
log-slave-updates = 1
# 这个参数表示从服务器将接收到的更新操作记录到其自身的二进制日志中。这对于构建多层级的复制拓扑结构非常有用。比如,如果有一个主库,多个从库,其中一个从库又作为另一个从库的主库时,就需要开启这个参数,以便将更新传递下去。
enforce-gtid-consistency
# 强制 GTID 的一致性。这有助于确保在复制环境中,所有的事务都符合 GTID 的规则和要求,避免出现不一致或错误的情况。比如说,如果有事务违反了 GTID 的某些约束,如重复的 GTID 或不连续的GTID 序列,系统会进行相应的处理或报错。
# slave
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
port = 3310
log-error = /usr/local/mysql/data/db01-
slave.err
relay-log = /usr/local/mysql/data/relaylog
server-id = 11
character_set_server = utf8mb4
log-bin = /usr/local/mysql/data/binlog
# 指定了二进制日志的存储路径为 /usr/local/mysql/data/binlog 。二进制日志用于记录数据库
的更改操作,对于数据备份、恢复、主从复制等操作至关重要。例如,在进行数据恢复时,可以通过读取二进制日志中的操作来还原到特定的时间点。
gtid-mode = on
# 开启 GTID 模式,使得事务在整个复制拓扑中有唯一且全局的标识符。这为复制的管理和故障转移提供了更便利和可靠的方式。比如,在主从切换时,可以基于 GTID 快速确定需要同步的事务,而无需依赖传统的基于二进制日志文件和位置的方式。
log-slave-updates = 1
# 允许从服务器将从主服务器接收到的更新操作记录到自身的二进制日志中。这对于构建多层级的复制架构非常有用。假设您有一个主库 A ,从库 B ,而从库 B 又作为从库 C 的主库,那么 B 就需要开启此参数,将从 A 接收到的更新传递给 C
enforce-gtid-consistency
# 强制保证 GTID 的一致性,确保所有的事务都遵循 GTID 的规则和要求,防止出现不一致或错误的情况。例如,如果有事务试图违反 GTID 的唯一性或连续性等规则,系统会进行阻止或报错,以维护数据库的一致性和可靠性。
skip-slave-start
# 这个参数会使得在服务器启动时不会自动启动从库复制进程。这通常在需要手动配置或检查从库的初始状态,或者在特定情况下需要暂时停止从库复制时使用。比如说,在对从库进行一些重大的配置更改或数据修复之前,可能会先使用此参数来防止从库自动启动复制,以免造成不可预期的结果。
2 、重启启动 mysql 服务
[root@mysql-zhu ~] # service mysql8 restart
Shutting down MySQL.......... SUCCESS!
Starting MySQL.. SUCCESS!
[root@mysql-slave ~] # service mysql8 restart
Shutting down MySQL.. SUCCESS!
Starting MySQL... SUCCESS!
3 、主从配置只读模式
mysql> set @@global .read_only = ON;
mysql> set @@global .read_only = ON;
4 slave 重新配置 change master to
mysql> stop slave;
mysql> change master to
- > master_host = '10.0.0.51' ,
- > master_user = 'slave' ,
- > master_password = '123' ,
- > master_port = 3306 ,
- > master_auto_position = 1 ;
Query OK, 0 rows affected, 8 warnings (0.01
sec)
mysql> start slave;
mysql> show slave status\G;
5 、关闭主从服务器的只读模式
mysql> set @@global .read_only = OFF;
mysql> set @@global .read_only = OFF;
6 、获得公钥
[root@slave ~] # mysql -uslave -p123 -h 10.0.0.51 -P3306 --get-server-public
key
mysql> quit
Bye

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2035009.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣热题100_二叉树_230_二叉搜索树中第K小的元素

文章目录 题目链接解题思路解题代码 题目链接 230. 二叉搜索树中第K小的元素 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 小的元素(从 1 开始计数)。 示例 1: 输入&#xff1a…

图论:欧拉路

欧拉路是什么 什么?你对这个名字感到很陌生?再看看是图论的内容,感觉是不是很难?其实一点也不难,这就是生活中的一笔画问题,也就是不重复的经过每一条边并可以访问所有的点,先看看这个图&#…

Python字符串格式化方法输出到控制台

python打印是这样的,我希望resource_id能够对齐输出: 3种格式化方法 %格式化 >>> pi3.141592653589793 >>> e2.718281828459045 >>> print("pi%.2f e%.3f" % (pi, e) ) pi3.14 e2.718“”.format()格式化 >…

操作系统(线程管理-通过条件变量实现消费者与生产者模型)

生产者与消费者模型 生产者:生产数据的线程,这类的线程负责从用户端、客户端接收数据,然后把数据Push到存储中介。 消费者:负责消耗数据的线程,对生产者线程生产的数据进行(判断、筛选、使用、响应、存储&…

x264 编码器 SSIM 算法源码分析

SSIM SSIM(Structural Similarity Index)是一种用于衡量两幅图像之间视觉相似度的指标。它不仅考虑了图像的亮度、对比度和饱和度,还考虑了图像的结构信息。SSIM的值介于-1到1之间,值越接近1表示两幅图像越相似。 SSIM是基于以下三个方面来计算的: 亮度(Luminance):比…

【Hot100】LeetCode—560. 和为 K 的子数组

目录 1- 思路前缀和 2- 实现⭐560. 和为 K 的子数组——题解思路 3- ACM 实现 原题链接:560. 和为 K 的子数组 1- 思路 前缀和 ① 借助 HashMap 存储前缀和:Key 为对应的前缀和,Value 为对应的出现次数 hm 初始化放入 (0,1) 代表和为 0 的情…

linux--chrony时间同步以及局域网同步

文章目录 注意Chrony介绍Chrony 支持的系统与联系方式Chrony Git 仓库环境准备服务端确认是否安装chrony如果没有安装,那就执行以下命令进行安装配置文件/etc/chrony.conf命令参数讲解基本用法选项命令系统时钟命令时间源命令NTP 访问命令执行命令参考 客户端确认是…

Java中等题-乘积最大子数组(力扣)

给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续 子数组 (该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 示例 1: 输入: nums [2,3,-2,4] 输出: 6 解释: 子数组 […

Telemark电源TT-6E-BEAM SOURCE操作手侧含电路图接线

Telemark电源TT-6E-BEAM SOURCE操作手侧含电路图接线

详解LVS-dr模式

什么是LVS-dr模式 图解 在LVS-DR模式下,负载均衡器(也称为调度器)接收来自客户端的请求,并根据预设的调度算法将请求转发给后端的真实服务器(也称为RS)。真实服务器处理完请求后,直接将响应返回…

Jetpack Compose实战教程(六)

Jetpack Compose实战教程(六) 第六章 没有了margin,如何区分外边距?内边距? 文章目录 Jetpack Compose实战教程(六)一、前言二、本章目标三、开始编码3.1 特殊情况下的margin3.2 使用padding设…

基于Springboot+netty 的IM聊天室弹幕

代码地址 仓库地址 聊天室 创建springboot项目 因为我的NettyServer 是8080 所以我把服务端口改为了8081 引入netty 依赖 <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.92.Final</versi…

Prometheus+Grafana保姆笔记(1)——Prometheus+Grafana的安装

Prometheus Grafana 的组合在微服务项目中可以完成许多DevOps任务&#xff0c;它们共同提供了强大的监控和可视化功能。 我们陆续介绍Prometheus Grafana 的相关用法。 首先介绍PrometheusGrafana的安装。 安装 Prometheus Prometheus 是GO写的&#xff0c;并不依赖于 Ja…

【深度学习】注意力机制(Transformer)

注意力机制 1.基础概念 1.1 查询、键和值 在人类的注意力方式中&#xff0c;有自主性的与非自主性的注意力提示两种解释方式。所谓自主性注意力提示&#xff0c;就是人本身主动想要关注到的某样东西&#xff1b;非自主性提示则是基于环境中物体的突出性和易见性&#xff0c;…

8.13面试题目

美团商业分析实习生 一、8个球有一个重一点&#xff0c;最少称几次找出 2次 8个球中有一个重一点&#xff0c;最少称2次能找出来。 具体称重步骤如下&#xff1a; 第一次称重&#xff1a;将8个球分成三组&#xff0c;分别为3个球、3个球和2个球。将两组各3个球放在天平的两端…

【搜索二维矩阵】python刷题记录

R4-二分查找专题 直接二维变一维&#xff0c;然后二分查找就可以了 class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:nums[i for row in matrix for i in row]def binfind(the,target):low,high0,len(the)-1while low<high:mid(l…

猫罐头挑选指南!猫咪肥胖有什么危害?健康主食罐挑选攻略!

今天有位铲屎官带着一只17斤的布偶来我们医院。猫猫三岁了&#xff0c;绝育两年&#xff0c;现在因为太胖了&#xff0c;舔毛都不太方便。铲屎官说它平时不太爱动。我给体检后发现甘油三酯高&#xff0c;其他都正常&#xff0c;但必须开始减肥了&#xff0c;猫咪太胖可不好。 一…

江协科技STM32学习笔记

第01章 STM32简介及开发环境搭建 1.1 STM32简介 1.1.1 STM32F103C8T6 系列&#xff1a;主流系列STM32F1 内核&#xff1a;ARM Cortex-M3 主频&#xff1a;72MHz RAM&#xff1a;20K&#xff08;SRAM&#xff09; ROM&#xff1a;64K&#xff08;Flash&#xff09; 供电…

开学季好物分享!全能抗打运动耳机!

大家好&#xff01;开学季来临&#xff0c;在学校的时候&#xff0c;一些运动和体育项目是在所难免的&#xff0c;但是在运动过程中肯定是枯燥无味的&#xff0c;所以这时候就需要一款合适的运动耳机陪伴我们。作为一名对运动耳机有较高要求的学生&#xff0c;我最近发现了一款…

配置jconsole远程监控

# 启动命令 -Djava.rmi.server.hostname192.168.0.67 #java程序所在机器ip -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port8011 #jconsole端口 -Dcom.sun.management.jmxremote.authenticatetrue # 配置为false 就不需要后面的password和access配置 -D…