zoukankan      html  css  js  c++  java
  • galera

    galera cluster的设计与实现

      Galera Cluster的优点

        对等的multi-master,share nothing的高冗余结构

        中间层 --建立连接、管理连接池,均衡负载,实现客户端与实例重连

    galera参数解析

      状态参数

    20180530

    ================================================

    galera的验证方法

      binlog与galera的关系

      验证方法

    galera消息传送

    Gcache实现原理

      缓存最新写集(通常也是最热的),提供给joiner做IST

      配置参数

        mem_size

        size

        page_size

    大话SST/IST细节

      初始化节点环境

    20180604

    ================================================

    galera cluster从库的转移

      没有开启server级GTID的情况

        1.找到file及pos点

        2.mysqlbinlog找到binlog信息,Xid --galera级的GTID的seqno

    relay-log purge

    大事务的处理

    20180605

    ================================================

    在线改变引发的集群死锁

    20180606

    ================================================

    inception

    git clone方式获取源码

    git clone https://github.com/mysql-inception/inception.git

    如果出现ssl验证问题,关掉即可

    git config --global http.sslVerify false

    yum install cmake ncurses-libs ncurses-devel.x86_64 openssl-devel.x86_64 gcc-c++ gcc libgcc bison -y

    出现这个问题是gcc++编译器版本过低的问题

    cmake: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by cmake)
    cmake: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by cmake)

    strings /opt/lampp/lib/libstdc++.so.6 | grep GLIBC
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBC_2.3
    GLIBC_2.4
    GLIBC_2.2.5
    GLIBCXX_FORCE_NEW

    不包含GLIBCXX_3.4.11和GLIBCXX_3.4.9

    远程gcc++是包含GLIBCXX_3.4.11和GLIBCXX_3.4.9

    strings /usr/lib64/libstdc++.so.6 | grep GLIBC
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBC_2.2.5
    GLIBC_2.3
    GLIBC_2.4
    GLIBC_2.3.2
    GLIBCXX_FORCE_NEW
    GLIBCXX_DEBUG_MESSAGE_LENGTH

    改变连接文件

    rm -f /opt/lampp/lib/libstdc++.so.6
    ln -s /usr/lib64/libstdc++.so.6.0.13 /opt/lampp/lib/libstdc++.so.6

    mkdir debug

    CMake Error: The source directory "/root/soft" does not appear to contain CMakeLists.txt.
    Specify --help for usage, or press the help button on the CMake GUI.

    必须在inception目录下才能找到lists文件

    cd debug/
    cmake .. -DWITH_DEBUG=OFF -DCMAKE_INSTALL_PREFIX=/var/inception -DWITH_SSL=bundled -DCMAKE_BUILD_TYPE=RELEASE -DWITH_ZLIB=bundled

    出现下面输出结果表示配置编译环境成功

    -- Configuring done
    -- Generating done
    -- Build files have been written to: /root/soft/inception/debug

    编译

    make install

    在inception目录下,inception_build.sh脚本已经包括了配置编译环境以及make install的操作,所以,直接执行脚本即可完成编译操作

    脚本内容如下:

    #!/bin/bash
    
    debug_dir=$1
    platform=$2
    
    if [ $# -eq 1 ]
    then 
        echo "building project in $1"
        platform="x"
    elif [ $# -ne 2 ]
    then
        echo "Usage: $0 builddir [platform(linux:Xcode)]"
        echo "EXAPMLE: $0 debug [Xcode]"
        exit
    fi
    
    Gplatform=""
    makerule=""
    if [ $platform == "Xcode" ]
    then
        Gplatform="-G Xcode"
    else
        makerule="make install"
    fi
    
    if [ -d $debug_dir ]
    then
      cd $debug_dir
    else
      mkdir $debug_dir
      cd $debug_dir
    
      # cmake && make && make install
      cmake -DWITH_DEBUG=OFF -DCMAKE_INSTALL_PREFIX=./mysql  -DMYSQL_DATADIR=./mysql/data 
        -DWITH_SSL=bundled -DCMAKE_BUILD_TYPE=RELEASE -DWITH_ZLIB=bundled
        -DMY_MAINTAINER_CXX_WARNINGS="-Wall -Wextra -Wunused -Wno-dev -Wwrite-strings -Wno-strict-aliasing  -Wno-unused-parameter -Woverloaded-virtual" 
        -DMY_MAINTAINER_C_WARNINGS="-Wall -Wextra -Wno-dev -Wunused -Wwrite-strings -Wno-strict-aliasing -Wdeclaration-after-statement" 
        $Gplatform
        ..
    fi
    
    if [ $platform != "Xcode" ]
    then
        $makerule
    fi
    View Code

    配置参数文件

    inc.cnf

    vim /var/inception/inc.cnf

    [inception]

    general_log=1

    general_log_file=/var/inception/log/inception.log

    port=6669

    socket=/var/inception/inc.socket

    character-set-client-handshake=0

    character-set-server=utf8mb4

    inception_remote_system_password=mysql123

    inception_remote_system_user=admin

    inception_remote_backup_port=3306

    inception_remote_backup_host=192.168.110.133

    inception_support_charset=utf8mb4

    inception_enable_nullable=0

    inception_check_primary_key=1

    inception_check_column_comment=1

    inception_check_table_comment=1

    inception_osc_min_table_size=1

    inception_osc_bin_dir=/var/inception/data/temp

    inception_osc_chunk_time=0.1

    inception_ddl_support=1

    inception_enable_blob_type=1

    inception_check_column_default_value=1

    启动inception

    inception web部分

    环境配置

    python2.7安装

    flask

    pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org flask_wtf

    pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org flask-script

  • 相关阅读:
    STS 创建 Maven 项目填坑
    JeeSite | 访问控制权限
    《Spring + MyBatis 企业应用实战》书评
    MyBatis-Generator 用法介绍
    Java描述数据结构之链表的增删改查
    Java中的Object类的几个方法
    设计模式之策略模式(Strategy Pattern)
    设计模式之模板方法(Template Method)
    JeeSite | 数据分页与翻页
    day 19
  • 原文地址:https://www.cnblogs.com/geek-ace/p/9090263.html
Copyright © 2011-2022 走看看