zoukankan      html  css  js  c++  java
  • 4 Gbase 8a 集群管理工具

    集群管理工具

    /gcware/bin/gcadmin

    - 集群管理:集群状态、集群模式、帮助、版本
    -  VC管理:创建VC/删除VC/启停VC/导入VC
    - 节点管理:添加节点、删除节点、替换节点、设置节点
    - 分布信息:创建分布表、删除分布表、查看分布表、导出分布表
    - 日志管理:DDL/DML/feventlog/failover
    
    gcadmin --help
    gcadmin -V
    gcadmin
    gcadmin showcluster c d f
    gcadmin 
    

    集群状态管理

    集群状态

    ACTIVE    正常状态。当coordinator节点1/2以上故障时,gcware服务停用,状态异常。
    

    集群模式

    NORMAL      正常模式
    READONLY    扩容,替换,数据备份时集群会有一段时间只读。
    Recovery    数据恢复等特殊场景,该模式不能执行任何SQL操作
    

    集群模式切换

    gcadmin switchmode readonly
    

    模组进程状态

    - open: 正常状态
    - offline: 一般为硬件故障,修复后需重启相关进程
    - close: 启动失败或意外关闭。需查看日志修复后重启相关进程
    

    模组进程

    Coordinator Node
        gcware       数据共享和同步
        gclusterd    SQL解析,优化,生成执行计划,下发SQL给DataNode
        gcrecover    数据不一致下的修复
    Data Cluster
        gnode:gbased    数据本地计算和存取
        syncserver:gc_sync_server    数据同步和一致性检查.gcware发现数据不同步,通知sync执行同步
    监控
        gcmonit    监控集群各进程且监控gcmmonit进程,并负责对应进程故障下的拉起
        gcmmonit   只监控gcmonit进程,并负责故障下拉起
    
        gcmonit --start/stop/restart/status/help/version
    

    启停进程

    gcluster_servics all/xxx start/stop/restart
    

    数据一致性

    DataState
        0 主备分片数据一致
        1 主备分片数据不一致。gcware先恢复DDL操作,然后调用gc_sync_recover恢复数据,恢复后自动转换状态为0.
        自动恢复原理:某节点执行命令失败后,gcware会监控错误日志,然后调用同步工具自动修复节点数据不一致的情况。
    

    集群日志信息

    DDL/DML Event:DDL/DML执行成功情况下,记录执行过程中造成主备分片不一致的节点信息

    gcadmin showddlevent [<表名 段明 节点IP> | 最大返回数 ] (默认返回16条)
    gcadmin showdmlevent [<表名 段明 节点IP> | 最大返回数 ] (默认返回16条)
    

    DMLstorageevent DML执行成功情况下,记录识别出的数据或元数据文件损坏的异常节点信息

    gcadmin showdmlstorageevent [<表名 段明 节点IP> | 最大返回数 ] (默认返回16条)    
    状态不显示同步SCN号,出现该错误说明节点出现比较严重数据不一致,修复需要通过copy文件的方式处理
    

    管理节点主要维护数据库的元数据
    Failover日志

    管理节点执行SQL时故障,接管节点会读取gcware中的SQL执行信息继续执行。该过程就是管理节点的failover机制
    gcadmin showfailover
    gcadmin showfailoverdetail <commitid> [xml_file_name] 显示详细信息并输出到文件
    
    - state
        0. 初始化
        1. add_res,添加集群锁
        2. set_info 设置failover信息
        3. set_status 设置分片状态
        4. set_rebalance_info 
        5. set_rebalance_status
    - takeover node
        不发生接管时显示 0.0.0.0
    - takeover number
        failover接管次数,gcware通过gcluster结果后+1
    

    分布信息管理

    distribution表,用于记录节点和分片的对应关系的表
    
    pattern 1    机架高可用
    pattern 2    节点高可用
    pattern 手动创建分规则,修改gcChangeInfo.xml文件。
    节点内分片数要小于机架内的节点数
    
    gcadmin distribution gcChangeInfo.xml    生成案例分片规则
    gcadmin getdistribution <ID> <distribution_info.xml>    导出分布表
    gcadmin showdistribution [node | f]    查看分布表。node以节点为单位,f以xml文件显示。
    gcadmin rmdistribution [id] 删除分布表
        - 正在使用则无法删除,需先refreshnodedatamap drop <ID>才可删除
        - 有fevent log,需先清除才可删除
        - 删除时,需确认所有GCluster节点正常。否则删除后会产生不可恢复的fevent log
    

    学习如茶,需细细品味。
  • 相关阅读:
    Pytorch学习(一)基础语法篇
    CSAPP深入理解计算机系统(第二版)第三章家庭作业答案
    理解DP(持续更新)
    LeetCode题解 | 215. 数组中的第K个最大元素
    快速排序
    浅谈设计模式(java)——从lol来看观察者模式
    <小虾米的android学习之旅1>Android框架
    程序员如何用技术变现?
    为了反击爬虫,前端工程师的脑洞可以有多大?
    如何成为一名爬虫工程师?(顺带提供工作机会)
  • 原文地址:https://www.cnblogs.com/plluoye/p/15186786.html
Copyright © 2011-2022 走看看