首页 > 其他分享 >galera集群启服务脚本,根据需求可自改

galera集群启服务脚本,根据需求可自改

时间:2024-01-18 12:01:38浏览次数:20  
标签:galera tmpfile galera1 bootstrap db 可自改 host 集群 ssh

这么个玩意儿废了我小半天儿,学如逆水行舟啊

[root@galera1 shell_scripts]# cat startdb.sh
##host_list={galera1,galera2,galera3}
echo "task start at: $(date +%Y-%m-%d_%H:%M:%S)"
bootstrap_tmpfile=/tmp/.db_stat.$(date +%Y%m%d%H%M)

stop_db(){
        ssh galera3  'systemctl stop mariadb'
        sleep 1
        ssh galera2  'systemctl stop mariadb'
        sleep 1
        ssh galera1  'systemctl stop mariadb'
}

check_status(){
        for host in {galera1,galera2,galera3};
        do
                echo ${host} $(ssh ${host} "sh /root/shell_scripts/local_scripts/check_db_bootstrap.sh")
        done > ${bootstrap_tmpfile}
}


start_db(){
        if [ $(awk '/ 1/{print $1}' ${bootstrap_tmpfile}|wc -l) = 1 ]; #注意awk关键词里面有个空格
        then
                host1=$(awk '/ 1/{print $1}' ${bootstrap_tmpfile});
        else
                host1=galera1
                ssh $host1 "sed -i '/bootstrap/c\safe_to_bootstrap: 1' /var/lib/mysql/grastate.dat"
                for host in $(awk '{print $1}' ${bootstrap_tmpfile}|grep -v ${host1});do
                        ssh $host "sed -i '/bootstrap/c\safe_to_bootstrap: 0' /var/lib/mysql/grastate.dat"
                done
        fi
        ssh $host1  'galera_new_cluster'
        sleep 3
        for host in $(awk '{print $1}' ${bootstrap_tmpfile}|grep -v ${host1});do
                ssh $host 'systemctl start mariadb'
        done
}
main(){
        stop_db
        check_status
        start_db
        rm -f ${bootstrap_tmpfile}
        echo "task over  at: $(date +%Y-%m-%d_%H:%M:%S)"
}
main
[root@galera1 shell_scripts]# ssh galera1 "cat /root/shell_scripts/local_scripts/check_db_bootstrap.sh"
awk '/safe_to_bootstrap/{print $NF}' /var/lib/mysql/grastate.dat

 

标签:galera,tmpfile,galera1,bootstrap,db,可自改,host,集群,ssh
From: https://www.cnblogs.com/santia-god/p/17972216

相关文章

  • Shell - 集群监控脚本合集
      node_heart_check.sh#!/bin/bashscriptPath=$(dirname"$0")foripin`cat/etc/hosts|grep主机名关键字|awk'{print$2}'`;do#ping命令返回3次,自行中断ping-c3${ip}if[$?-ne0];thenecho${ip}"通信异常">>......
  • 阿里云 ACK One 新特性:多集群网关,帮您快速构建同城容灾系统
    近日,阿里云分布式云容器平台ACKOne[1]发布“多集群网关”[2](ACKOneMulti-clusterGateways)新特性,这是ACKOne面向多云、多集群场景提供的云原生网关,用于对多集群南北向流量进行统一管理。基于ACKOne多集群网关可以快速构建多集群应用的同城容灾系统,帮助企业以更简......
  • Kubernetes集群中 Pod 中报pthread_create failed: Resource temporarily unavailable
    查看containerd日志显示如下信息OCIruntimeexecfailed:execfailed:unabletostartcontainerprocess:readinit-p:connectionresetbypeer:unknown"查看Pod日志中显示pthread_createfailed:Resourcetemporarilyunavailable通过监控系统查看节点的进程数t......
  • Hadoop集群搭建
    Hadoop集群搭建1、服务器配置服务器名称配置master2C2Gslave12C2Gslave21C2G1.1修改主机名#Centos永久修改主机名命令hostnamectlset-hostnamemaster1.2主机映射vim/etc/hosts#需要设置的服务器:ip为内网,其他服务器:ip为外网172.16.0.3mas......
  • nginx如何搭建集群
    搭建Nginx集群的主要目的是为了提高网站的可用性、负载均衡以及处理高并发请求。以下是一个简化的步骤,说明如何搭建一个基本的Nginx服务集群:基本Nginx集群搭建步骤:硬件与环境准备:准备多台服务器(例如,server1, server2,...),确保它们都安装了Linux或类Unix操作系统。保证所有服务器......
  • java调用jmeter集群服务压力测试 jmeter数据库压测
    目录〇、前言。一、jmeter工具安装。二、数据库驱动插件jar包安装。三、脚本开发与调试。四、加压设置。五、数据监听。  正文〇、前言。依据云栖大会项目部分数据库压测经验编写。一、jmeter工具安装。1、Apache官网下载地址:https://jmeter.apache.org/download_j......
  • Hadoop集群常用组件的命令
    1.Hadoop(1).HDFS:启动HDFS:start-dfs.sh关闭HDFS:stop-dfs.sh格式化NameNode:hdfsnamenode-format查看文件系统状态:hdfsdfsadmin-report创建目录:hdfsdfs-mkdir/path/to/directory上传本地文件到HDFS:hdfsdfs-put/path/to/local/file/path/to/hdfs/directory下载HDFS文件......
  • docker 部署 rabbitmq 集群
     单机部署dockerrun-id-p15672:15672-p56732:5672\--namerabbitmq\--restartalways\-v/docker/rabbitmq:/var/lib/rabbitmq\-eRABBITMQ_DEFAULT_USER=admin\-eRABBITMQ_DEFAULT_PASS=******\rabbitmq:3.12.0-management 集群部署 #node01dock......
  • docker-compose 搭建 etcd 集群
    准备工作安装好docker与docker-compose下载etcd镜像:dockerpullbitnami/etcd:latest最好关闭防火墙。如果遇到外部主机能ping通linux,但是不能访问docker容器的情况,需要开启防火墙,然后再关掉防火墙,最后重启docker即可。docker-compose.ymlversion:"3.0"networks:etc......
  • 日常Bug排查-集群逐步失去响应
    前言日常Bug排查系列都是一些简单Bug排查。笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材_Bug现场最近碰到一个产线问题,表现为某个应用集群所有的节点全部下线了。导致上游调用全部报错。而且从时间线分析来看。这个应用的节点是逐步失去响应的。因为请求量较小,直到......