当前位置: 首页 > news >正文

o2o网站开发框架做图网站有哪些

o2o网站开发框架,做图网站有哪些,济南网站建设哪个好,企业展厅图片文章目录 MySQL MHA高可用数据库搭建MySQL MHA模拟故障故障修复#xff1a; MySQL MHA高可用数据库 MHA#xff08;MySQL High Availability#xff09;是一个开源的高可用解决方案#xff0c;用于实现MySQL主从复制集群的故障自动切换。MHA的主要目的是确保MySQL数据库集… 文章目录 MySQL MHA高可用数据库搭建MySQL MHA模拟故障故障修复 MySQL MHA高可用数据库 MHAMySQL High Availability是一个开源的高可用解决方案用于实现MySQL主从复制集群的故障自动切换。MHA的主要目的是确保MySQL数据库集群在任何时间点都至少有一个可用的主服务器从而保证数据的一致性和服务的连续性。 MHA的主要组件包括 ManagerMHA的核心组件负责监控主服务器和从服务器的状态并在检测到主服务器故障时自动进行故障切换。Master Monitor监控主服务器的状态如果发现主服务器不可用它会通知Manager。Slave Monitor监控从服务器的状态并确保所有从服务器都连接到主服务器。Node Controller当MHA检测到主服务器故障时它会启动一个新节点作为新的主服务器。MHA Manager管理MHA组件包括监控和故障切换操作。 MHA的主要工作流程如下监控MHA Manager和Master Monitor会持续监控主服务器和从服务器的状态。故障检测如果主服务器不可用Master Monitor会通知MHA Manager。故障切换MHA Manager会启动Node Controller选择一个从服务器作为新的主服务器并将其他从服务器切换到新的主服务器。验证确认新的主服务器已经可以接收写入操作并确保所有从服务器都已成功切换到新的主服务器。通知通知应用程序新的主服务器地址以确保所有应用程序都可以连接到新的主服务器。 MHA使用SSH协议进行通信因此需要确保所有服务器都安装了SSH服务并且MHA Manager可以访问所有服务器。此外为了保证数据的一致性MHA要求所有的从服务器都连接到主服务器。 MHA是一个功能强大的高可用解决方案适用于需要保证数据一致性和服务连续性的MySQL集群。 搭建MySQL MHA 准备四台主机 MHA manager 节点服务器CentOS7.4(64 位) manager/192.168.20.40 安装MHA node 和 manager 组件 Master 节点服务器CentOS7.4(64 位) mysql1/192.168.20.10 安装mysql5.7、MHA node 组件 Slave1 节点服务器CentOS7.4(64 位) mysql2/192.168.20.20 安装mysql5.7、MHA node 组件 Slave2 节点服务器CentOS7.4(64 位) mysql3/192.168.20.30 安装mysql5.7、MHA node 组件 关闭防火墙 设置selinux0 systemctl stop firewalld systemctl disable firewalld setenforce 0Master、Slave1、Slave2 节点上安装 mysql5.7修改 Master、Slave1、Slave2 节点的主机名 hostnamectl set-hostname mysql1 hostnamectl set-hostname mysql2 hostnamectl set-hostname mysql3 1修改Master上的 /etc/my.cnf 添加 server-id 1 log_bin mysql-bin binlog_format mixed log-slave-updates true relay-log relay-log-bin relay-log-index slave-relay-bin.index2在Slave1、Slave2 节点添加 server-id 2 #三台服务器的 server-id 不能一样 log_bin mysql-bin binlog_format mixed log-slave-updates true relay-log relay-log-bin relay-log-index slave-relay-bin.index3.在 Master、Slave1、Slave2 节点上都创建两个软链接 方便程序调取 ln -s /usr/local/mysql/bin/mysql /usr/sbin/ ln -s /usr/local/mysql/bin/mysqlbinlog /usr/sbin/ 4.配置一主两从 入上一篇博客主从复制 主服务器上加入 grant all privileges on *.* to mha192.168.20.% identified by manager;两个从库设置只读 set global read_only1;在主服务器插入一条数据看是主从复制是否成功 create database testa; use testa; create table testa(id int); insert into testa(id) values (1);5.安装 MHA 软件 yum install epel-release --nogpgcheck -yyum install -y perl-DBD-MySQL \ perl-Config-Tiny \ perl-Log-Dispatch \ perl-Parallel-ForkManager \ perl-ExtUtils-CBuilder \ perl-ExtUtils-MakeMaker \ perl-CPAN为了部署 MHA (Master High Availability) 环境首先需要在所有服务器上安装 node 组件。由于不同的操作系统版本可能有特定的兼容性要求针对 CentOS 7.4 系统建议采用 0.57 版本的 MHA 软件包。在完成 node 组件的安装之后您应该在充当 MHA-manager 角色的节点上安装 manager 组件。需要注意的是manager 组件依赖于 node 组件的正确安装和配置。按照下步骤 安装 0.57 版本的 MHA node 组件在所有服务器上。# 进入 /opt 目录 cd /opt # 解压 MHA node 组件 tar zxvf mha4mysql-node-0.57.tar.gz # 切换到解压后的目录 cd mha4mysql-node-0.57 # 运行安装前准备脚本 perl Makefile.PL # 构建并安装 MHA node 组件 make make install在 MHA manager 节点上安装 manager 组件。请注意manager 组件依赖于 node 组件的正确安装和配置。# 进入 /opt 目录 cd /opt # 解压 MHA manager 组件 tar zxvf mha4mysql-manager-0.57.tar.gz # 切换到解压后的目录 cd mha4mysql-manager-0.57 # 运行安装前准备脚本 perl Makefile.PL # 构建并安装 MHA manager 组件 make make installmanager 安装 MHA manager 组件后您会在 /usr/local/bin 目录中发现一组实用的工具这些工具用于管理和监控 MHA 环境。以下是对这些工具的简要说明 masterha_check_ssh此工具用于验证 MHA 的 SSH 配置是否正确确保所有节点之间的 SSH 连接都是可用的。masterha_check_repl这个工具用于检查 MySQL 复制状态确保从服务器能够正确地复制主服务器上的数据。masterha_manager这是启动 MHA manager 进程的脚本它负责监控 MySQL 主服务器并触发故障转移操作如果需要。masterha_check_status该工具允许您检查 MHA manager 的当前运行状态以及它所管理的复制集群的状态。masterha_master_monitor这个工具用于监控主服务器的健康状况并在主服务器发生故障时启动故障转移过程。masterha_master_switch这个工具提供了手动或自动控制故障转移的功能允许您在主服务器之间进行切换。masterha_conf_host使用这个工具您可以添加或删除配置文件中的服务器信息以便 MHA 管理正确的节点集。masterha_stop这个工具用于安全地关闭 MHA manager 进程确保在停止服务之前所有的资源都被正确地清理。 这些工具为 MHA 环境的日常管理和维护提供了便利确保了高可用性和故障转移的顺畅进行。 node 安装 MHA node 组件后您会在 /usr/local/bin 目录中发现一组辅助脚本这些脚本通常由 MHA Manager 自动触发无需手动干预。这些脚本的主要作用如下 save_binary_logs此脚本负责保存和复制主服务器上的二进制日志。在故障转移过程中它确保从服务器可以获得最新的二进制日志事件以保持数据一致性。apply_diff_relay_logs该脚本用于识别不同从服务器之间的中继日志差异并将这些差异的事件应用于其他从服务器以确保所有从服务器保持同步。filter_mysqlbinlog虽然 MHA 目前不再使用此工具但它原本设计用于去除不必要的 ROLLBACK 事件以净化二进制日志文件。purge_relay_logs这个脚本用于清理中继日志释放磁盘空间同时确保 SQL 线程不会被阻塞从而维持从服务器的正常运行。 这些脚本在 MHA 故障转移和数据同步过程中扮演着重要角色确保了复制的可靠性和从服务器的数据一致性。虽然这些脚本通常由 MHA Manager 自动调用但了解它们的功能对于故障排除和深入理解 MHA 的工作原理仍然非常有价值。 3.在 manager 节点上配置到所有数据库节点的无密码认证 ssh-keygen -t rsa ssh-copy-id 192.168.20.10 ssh-copy-id 192.168.20.20 ssh-copy-id 192.168.20.30在 mysql1 上配置到数据库节点 mysql2 和 mysql3 的无密码认证 ssh-keygen -t rsa ssh-copy-id 192.168.20.20 ssh-copy-id 192.168.20.303在 mysql2 上配置到数据库节点 mysql1 和 mysql3 的无密码认证 ssh-keygen -t rsa ssh-copy-id 192.168.20.10 ssh-copy-id 192.168.20.204在 mysql3 上配置到数据库节点 mysql1 和 mysql2 的无密码认证 ssh-keygen -t rsa ssh-copy-id 192.168.20.10 ssh-copy-id 192.168.20.204在 manager 节点上配置 MHA 为了将 MHA 的相关脚本复制到 /usr/local/bin 目录并修改 master_ip_failover 脚本以管理 VIP 和故障切换请按照以下步骤操作 (1). 复制脚本: 将 MHA 提供的脚本从 /opt/mha4mysql-manager-0.57/samples/scripts 复制到 /usr/local/bin。 cp -rp /opt/mha4mysql-manager-0.57/samples/scripts /usr/local/bin(2). 检查复制后的文件: 列出 /usr/local/bin/scripts/ 目录中的文件。 ll /usr/local/bin/scripts/输出应该包括以下文件 master_ip_failover # 自动切换时 VIP 管理的脚本 master_ip_online_change # 在线切换时 VIP 的管理 power_manager # 故障发生后关闭主机的脚本 send_report # 因故障切换后发送报警的脚本(3). 复制 VIP 管理脚本: 将 master_ip_failover 脚本从 /usr/local/bin/scripts/ 复制到 /usr/local/bin 目录。 cp /usr/local/bin/scripts/master_ip_failover /usr/local/bin(4). 修改脚本内容: 使用 vim 编辑器打开 /usr/local/bin/master_ip_failover 文件并删除原有内容然后按照以下模板添加 VIP 相关参数。 vim /usr/local/bin/master_ip_failover在打开的文件中删除所有原有内容然后添加以下内容 #!/usr/bin/env perl use strict; use warnings FATAL all;use Getopt::Long;my ( $command, $ssh_user, $orig_master_host, $orig_master_ip, $orig_master_port, $new_master_host, $new_master_ip, $new_master_port ); #############################添加内容部分######################################### my $vip 192.168.20.100; #指定vip的地址 my $brdc 192.168.20.255; #指定vip的广播地址 my $ifdev ens33; #指定vip绑定的网卡 my $key 1; #指定vip绑定的虚拟网卡序列号 my $ssh_start_vip /sbin/ifconfig ens33:$key $vip; #代表此变量值为ifconfig ens33:1 192.168.80.200 my $ssh_stop_vip /sbin/ifconfig ens33:$key down; #代表此变量值为ifconfig ens33:1 192.168.80.200 down my $exit_code 0; #指定退出状态码为0 #my $ssh_start_vip /usr/sbin/ip addr add $vip/24 brd $brdc dev $ifdev label $ifdev:$key;/usr/sbin/arping -q -A -c 1 -I $ifdev $vip;iptables -F;; #my $ssh_stop_vip /usr/sbin/ip addr del $vip/24 dev $ifdev label $ifdev:$key; ################################################################################## GetOptions( commands \$command, ssh_users \$ssh_user, orig_master_hosts \$orig_master_host, orig_master_ips \$orig_master_ip, orig_master_porti \$orig_master_port, new_master_hosts \$new_master_host, new_master_ips \$new_master_ip, new_master_porti \$new_master_port, );exit main();sub main {print \n\nIN SCRIPT TEST$ssh_stop_vip$ssh_start_vip\n\n;if ( $command eq stop || $command eq stopssh ) {my $exit_code 1; eval { print Disabling the VIP on old master: $orig_master_host \n; stop_vip(); $exit_code 0; }; if ($) { warn Got Error: $\n; exit $exit_code; } exit $exit_code; } elsif ( $command eq start ) {my $exit_code 10; eval { print Enabling the VIP - $vip on the new master - $new_master_host \n; start_vip(); $exit_code 0; }; if ($) { warn $; exit $exit_code; } exit $exit_code; } elsif ( $command eq status ) { print Checking the Status of the script.. OK \n; exit 0; } else { usage(); exit 1; } } sub start_vip() { ssh $ssh_user\$new_master_host \ $ssh_start_vip \; } ## A simple system call that disable the VIP on the old_master sub stop_vip() { ssh $ssh_user\$orig_master_host \ $ssh_stop_vip \; }sub usage { print Usage: master_ip_failover --commandstart|stop|stopssh|status --orig_master_hosthost --orig_master_ipip --orig_master_portport --new_master_hosthost --new_master_ipip --new_master_portport\n; }主要修改VIP地址和VIP广播地址 若网卡名不是ens33需要改绑定的网卡名字 创建Masterha配置文件 mkdir /etc/masterha将app1.cnf文件考入/etc/masterha文件夹下 cp /opt/mha4mysql-manager-0.57/samples/conf/app1.cnf /etc/masterha修改配置文件app1.cof [server default] manager_log/var/log/masterha/app1/manager.log      #manager日志 manager_workdir/var/log/masterha/app1         #manager工作目录 master_binlog_dir/usr/local/mysql/data/         #master保存binlog的位置这里的路径要与master里配置的binlog的路径一致以便MHA能找到 master_ip_failover_script/usr/local/bin/master_ip_failover  #设置自动failover时候的切换脚本也就是上面的那个脚本 master_ip_online_change_script/usr/local/bin/master_ip_online_change  #设置手动切换时候的切换脚本 passwordmanager #设置mysql中root用户的密码这个密码是前文中创建监控用户的那个密码 ping_interval1 #设置监控主库发送ping包的时间间隔默认是3秒尝试三次没有回应的时候自动进行failover remote_workdir/tmp #设置远端mysql在发生切换时binlog的保存位置 repl_password123123 #设置复制用户的密码 repl_usermyslave #设置复制用户的用户 report_script/usr/local/send_report     #设置发生切换后发送的报警的脚本 secondary_check_script/usr/local/bin/masterha_secondary_check -s 192.168.20.20 -s 192.168.20.30 #指定检查的从服务器IP地址 shutdown_script #设置故障发生后关闭故障主机脚本该脚本的主要作用是关闭主机防止发生脑裂,这里没有使用 ssh_userroot #设置ssh的登录用户名 usermha #设置监控用户root[server1] hostname192.168.20.10 port3306[server2] hostname192.168.20.20 port3306 candidate_master1 #设置为候选master设置该参数以后发生主从切换以后将会将此从库提升为主库即使这个从库不是集群中最新的slavecheck_repl_delay0 #默认情况下如果一个slave落后master 超过100M的relay logs的话MHA将不会选择该slave作为一个新的master 因为对于这个slave的恢复需要花费很长时间通过设置check_repl_delay0MHA触发切换在选择一个新的master的时候将会忽略复制延时这个参数对于设置了candidate_master1的主机非常有用因为这个候选主在切换的过程中一定是新的master[server3] hostname192.168.20.30 port3306第一次配置需要在 Master 节点上手动开启虚拟IP /sbin/ifconfig ens33:1 192.168.20.100/24在 manager 节点上测试 ssh 无密码认证如果正常最后会输出 successfully masterha_check_ssh -conf/etc/masterha/app1.cnfmasterha_check_ssh -repl/etc/masterha/app1.cnf报错注意权限 启动manager nohup masterha_manager --conf/etc/masterha/app1.cnf --remove_dead_master_conf --ignore_last_failover /dev/null /var/log/masterha/app1/manager.log 21 至此配置成功 模拟故障 在manager主机上 tail -f /var/log/masterha/app1/manager.log关闭主服务器上的mysql服务 systemctl stop mysql故障转移成功 故障修复 修复 MySQL 服务systemctl restart mysqld修复主从复制# 在当前主库服务器 MySQL2 上查看二进制文件和同步点 show master status; # 在原主库服务器 MySQL1 上执行同步操作 change master to master_host192.168.20.10, master_usermyslave, master_password123456, master_log_filemaster-bin.000001, master_log_pos1745; start slave;在 Manager 节点上修改配置文件 app1.cnfvi /etc/masterha/app1.cnf确保将 secondary_check_script 参数正确设置并更新其他相关配置。在 Manager 节点上启动 MHAnohup masterha_manager --conf/etc/masterha/app1.cnf --remove_dead_master_conf --ignore_last_failover /dev/null /var/log/masterha/app1/manager.log 21
http://www.dnsts.com.cn/news/155780.html

相关文章:

  • 贵阳网站建设q.479185700棒东营建设信息网最新招聘
  • 东莞定制网站建设新人做外贸怎么找国外客户
  • 好吊顶网站佛山网站上排名
  • 做营养的网站wordpress主题公众号
  • 企业网站推广方案设计毕业设计做网站细节
  • 南昌网站建设公司信息360推广助手
  • 做类似简书的网站景德镇网站建设景德镇
  • 网站开发工程师swot分析带导航栏的网站
  • 宝丰网站建设静态网站有哪些优点
  • 媒体135网站沃尔玛
  • 一个vps主机放两个网站 速度邯郸网站建设品牌公司
  • joomla 2.5:你的网站建设_使用与管理 pdf一个网站的运营成本
  • 优化公司网站排名唐山网站建设方案策划
  • 网站搜索引擎优化推广遵义企业网站建设
  • 北京市教学名师奖建设项目网站最适合seo的网站源码
  • 百度站长工具怎么查排名电商发展现状与趋势
  • 做外卖骑手用哪个网站a站为什么会凉
  • 黄冈网站建设推荐广州网站建设定制设计
  • 专业做二手房装修网站巩义专业网站建设价格
  • 简述网站规划的流程国外大型网站
  • 旅行社网站开发 论文北京seo代理计费
  • 福建整站优化icp许可证个人网站
  • 计算机网站建设与管理是什么宁波建设商城网站
  • 做带v头像的网站免费建网站哪个好
  • 天津网站优化网站建设合同定义
  • 好兄弟给个网站万网 网站 流程
  • 济南网站优化建设百度SEO是谁做的网站
  • 怎么给网站加代码网站 入站规则 设置
  • 国内知名的网站建设公司网页设计模板图片
  • 做网站的素材图片游戏网页设计作品欣赏