IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> GBase 8a集群通过grep过滤快速获得coordinator和gnode的IP地址的方法 -> 正文阅读

[网络协议]GBase 8a集群通过grep过滤快速获得coordinator和gnode的IP地址的方法

GBase 8a提供了gcadmin 命令可以返回集群节点的IP地址/主机名,以及各个服务的状态,如果用户要循环每个IP做一些操作,需要解析该输出。本文提供一种采用grep,快捷的获得coordinator和gnode的IP地址的方法。

环境
2节点集群,1个调度节点,2个数据节点。集群版本8.5.2.43

[root@rh6-1 ~]# gcadmin
CLUSTER STATE:  ACTIVE
CLUSTER MODE:   NORMAL

=================================================================
|             GBASE COORDINATOR CLUSTER INFORMATION             |
=================================================================
|   NodeName   |     IpAddress     |gcware |gcluster |DataState |
-----------------------------------------------------------------
| coordinator1 |    10.0.2.201     | OPEN  |  OPEN   |    0     |
-----------------------------------------------------------------
=============================================================
|              GBASE DATA CLUSTER INFORMATION               |
=============================================================
|NodeName |     IpAddress     |gnode |syncserver |DataState |
-------------------------------------------------------------
|  node1  |    10.0.2.201     | OPEN |   OPEN    |    0     |
-------------------------------------------------------------
|  node2  |    10.0.2.202     |CLOSE |   CLOSE   |    1     |
-------------------------------------------------------------
[root@rh6-1 ~]#

获得调度节点coordinator的所有IP或主机名
获得coordinator的XML格式的信息

root@rh6-1 ~]# gcadmin showcluster c f
<?xml version='1.0' encoding="utf-8"?>
<ClusterInfo>
    <ClusterState>ACTIVE</ClusterState>
    <ClusterMode>NORMAL</ClusterMode>

    <CoordinatorNodes>
        <CoordinatorNode>
            <NodeName>coordinator1</NodeName>
            <IpAddress>10.0.2.201</IpAddress>
            <gcware>OPEN</gcware>
            <gcluster>OPEN</gcluster>
            <DataState>0</DataState>
        </CoordinatorNode>
    </CoordinatorNodes>
</ClusterInfo>

用grep解析XML格式获得coordinator的IP信息
只需要grep,而且对于一行有多个IP的也能解析出来。

[root@rh6-1 ~]# gcadmin showcluster c f | grep -oP '(?<=<IpAddress>)(.+?)(?=</IpAddress>)'
10.0.2.201

获得数据节点coordinator的所有IP或主机名
获得数据节点的XML格式的信息

[root@rh6-1 ~]# gcadmin showcluster d f
<?xml version='1.0' encoding="utf-8"?>
<ClusterInfo>
    <ClusterState>ACTIVE</ClusterState>
    <ClusterMode>NORMAL</ClusterMode>

    <DataserverNodes>
        <DataServerNode>
            <NodeName>node1</NodeName>
            <IpAddress>10.0.2.201</IpAddress>
            <gnode>OPEN</gnode>
            <syncserver>OPEN</syncserver>
            <DataState>0</DataState>
        </DataServerNode>
        <DataServerNode>
            <NodeName>node2</NodeName>
            <IpAddress>10.0.2.202</IpAddress>
            <gnode>CLOSE</gnode>
            <syncserver>CLOSE</syncserver>
            <DataState>1</DataState>
        </DataServerNode>
    </DataserverNodes>
</ClusterInfo>
用grep解析数据节点的XML信息获得IP
[root@rh6-1 ~]# gcadmin showcluster d f | grep -oP '(?<=<IpAddress>)(.+?)(?=</IpAddress>)'
10.0.2.201
10.0.2.202

获得集群所有节点的IP信息
由于端口不同,除非是操作系统级操作需要每个集群IP信息。

[root@rh6-1 ~]# gcadmin showcluster f | grep -oP '(?<=<IpAddress>)(.+?)(?=</IpAddress>)'
10.0.2.201
10.0.2.201
10.0.2.202

因为有复合节点,要排序后去重一下sort+uniq

[root@rh6-1 ~]# gcadmin showcluster f | grep -oP '(?<=<IpAddress>)(.+?)(?=</IpAddress>)' | sort | uniq
10.0.2.201
10.0.2.202
[root@rh6-1 ~]#
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 19:15:05  更:2022-04-22 19:19:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 4:21:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码