zoukankan      html  css  js  c++  java
  • Vertica 高可用性测试

    1.基本概念介绍

    Vertica也是MPP架构的数据库,相比大家熟悉的MPP架构,比如Greenplum和hadoop这些产品,Vertica最大的不同就是没有主节点这个概念。 也就是说Vertica集群中(K-safe=1情况),任何一个节点宕机都不会影响到其他节点对外提供服务。 而在其他有主节点的架构中,一旦主节点挂掉,整个集群就会挂掉,所以还需要考虑进一步冗余主节点。

    对架构有深入了解的朋友会问,没有主节点,那Vertica的元数据存放在哪里呢?
    答案是存放在每一个节点中,因为元数据并不会很大,所以每个节点冗余元数据是可行的。

    基于上面的理解,我们在一个3节点的Vertica集群测试环境中,任意停掉一个节点,其他节点都是可以对外提供服务的。

    2.停止某节点服务

    admintools 工具选择 “7 Advanced Menu” ,然后选 “2 Stop Vertica on Host” 或者 “3 Kill Vertica Process on Host”, 最后选择要停止服务的节点。 ``` admintools -> 7 Advanced Menu -> 2 Stop Vertica on Host / 3 Kill Vertica Process on Host -> Select host(s) ``` 注:在选择“2 Stop Vertica on Host” 或者 “3 Kill Vertica Process on Host”,优先选择前者,前者停不掉才考虑后者杀掉。 这里杀掉第二个节点的vertica进程。 ``` dbadmin=> select node_name, node_state from nodes; node_name | node_state -------------------+------------ v_testdb_node0001 | UP v_testdb_node0002 | DOWN v_testdb_node0003 | UP (3 rows) ```

    3.测试其他节点访问

    第二个节点宕机,但和预计的情况一样,从第一个节点和第三个节点的访问数据,都可以正常访问到。 ``` --说明节点1访问正常: [dbadmin@vertica1 ~]$ vsql Password:

    --说明节点3访问正常:
    [dbadmin@vertica3 ~]$ vsql
    Password:

    从节点2访问,会报错:
    

    [dbadmin@vertica2 ~]$ vsql
    vsql: could not connect to server: 拒绝连接
    Is the server running on host "???" and accepting
    TCP/IP connections on port 5433?

    所以,应用端配置连接,建议不要简单的固定集群某个节点的IP地址,而应该想办法配置一组IP,实现当发现有IP地址不能访问,可以连接别的节点IP地址正常访问数据库的逻辑。
  • 相关阅读:
    Bypass WAF
    一种简单的hook方法--LD_PRELOAD变量
    Linux C:access()时间条件竞争漏洞
    环境变量法提权
    sudo-tcpdump提权法
    asynico转载
    pychar 2020.1.2激活
    临时mysql 链接池
    python pip 使用阿里云镜像安装库
    zookeeper kafaka 临时保存
  • 原文地址:https://www.cnblogs.com/jyzhao/p/5234491.html
Copyright © 2011-2022 走看看