原文链接:Vertica7 Native Connection Load Balance

在Vertica7曾经的版本号中,Vertica是通过Linux的Virtual IP来实现连接的负载均衡的,可是在Vertica7x中,Vertica本身提供了连接的负载均衡功能,这个功能用起来也是很方便的。以下就来看看怎么使用这个功能。

1. 首先安装N个Vertica7的节点。然后用数据库管理员的身份执行以下的命令来让Vertica使用这个功能

SELECT SET_LOAD_BALANCE_POLICY('ROUNDROBIN');

假设须要disable这个功能,能够通过以下的命令

SELECT SET_LOAD_BALANCE_POLICY('NONE');

假设须要查看当前是否enable了这个功能能够使用以下的命令查看

SELECT GET_LOAD_BALANCE_POLICY();

server端的设置就这么多,以下看看客户端须要哪些步骤。

2. 首先必须使用vertica7的JDBC驱动,能够从Vertica的官方站点上下载。
3. 写个測试程序来測试连接,例如以下
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties; public class VerticaTest {
private static String USERNAME = "<user>";
private static String PASSWORD = "<password>";
private static String URL = "jdbc:vertica://<ip>:5433/<db>"; public static void main(String[] args) throws Exception {
Class.forName("com.vertica.jdbc.Driver");
Properties props = new Properties();
props.put("user", USERNAME);
props.put("password", PASSWORD);
props.put("ConnectionLoadBalance", 1);
for (int x = 1; x <= 10; x++) {
try {
Connection conn = DriverManager.getConnection(URL, props);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT node_name FROM v_monitor.current_session;");
rs.next();
System.out.println("Connected to node " + rs.getString(1).trim());
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}

这里特别注意以下一句,这一句设置了一个连接属性告诉Vertica的JDBC驱动使用负载均衡功能。

props.put("ConnectionLoadBalance", 1);

这里特别说一下,假设server上没有enable负载均衡功能,那么这个属性也不会影响正常的功能。仅仅只是不使用负载均衡功能罢了。

另外也能够通过设置url属性来实现。例如以下:

"jdbc:vertica://<ip>:5433/<db>?ConnectionLoadBalance=1"

4. 測试
执行这段代码,能够看到每次连接到的Vertica节点都会依照顺序变动。

另外也能够通过以下的sql来查询当前全部连接的情况。

select node_name, client_hostname from sessions;

Vertica7 Native Connection Load Balance的更多相关文章

  1. Oracle RAC 客户端连接负载均衡(Load Balance)

    实现负载均衡(Load Balance)是Oracle RAC最重要的特性之一,主要是把负载平均分配到集群中的各个节点,以提高系统的整体吞吐能力.通常情况下有两种方式来实现负载均衡,一个是基于客户端连 ...

  2. Using load balance for thrift servers

    Software load balance .Nginx(http://nginx.org) 1.Install nginx download source code from http://ngin ...

  3. Neutron: Load Balance as a Service(LBaaS)负载均衡

    load balancer 负责监听外部的连接,并将连接分发到 pool member.    LBaaS 有三个主要的概念: Pool Member,Pool 和 Virtual IP Pool M ...

  4. LB(Load balance)负载均衡集群--{LVS-[NAT+DR]单实例实验+LVS+keeplived实验} 菜鸟入门级

    LB(Load balance)负载均衡集群 LVS-[NAT+DR]单实例实验 LVS+keeplived实验 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一 ...

  5. Server Data Synchronization Via Linux rsync、rsync+inotify Between Load Balance Server

    目录 . 远程文件同步的应用场景 . rsync+crontab . rsync+inotify 1. 远程文件同步的应用场景 在负载均衡集群的应用场景中,往往在多台web server的前端有一个提 ...

  6. Oracle RAC 服务器端连接负载均衡(Load Balance)

    Oracle RAC服务器端的负载均衡是根据RAC中各节点的连接负荷数情况,将新的连接请求分配到负荷最小的节点上去.当数据库处于运行时,RAC中各节点的PMON进程每3秒会将各自节点的连接负荷数更新到 ...

  7. 亲密接触Redis-第三天(Redis的Load Balance)

    前言 上两天讲述了Redis的基本搭建和基于HA的集群布署方式以及相关的策略和注意点.今天开始讲述Redis的Cluster功能,而这块目前来说网上资料不是太全,就算有1,2篇也只是单讲服务端的搭建也 ...

  8. Flume 高可用配置案例+load balance负载均衡+ 案例:日志的采集及汇总

    高可用配置案例 (一).failover故障转移 在完成单点的Flume NG搭建后,下面我们搭建一个高可用的Flume NG集群,架构图如下所示: (1)节点分配 Flume的Agent和Colle ...

  9. &quot;高可用方案工具包&quot; high availability toolkit 1.2 公布了。version 1.2 新增了 负载均衡 load balance 的技术实现

    "高可用方案工具包"  high availability toolkit 1.2 公布了. version 1.2 新增了 负载均衡 load balance 的技术实现. 项目 ...

随机推荐

  1. [BZOJ4338][BJOI2015]糖果(扩展Lucas)

    先求出式子$P_{C_{K+m-1}^{m}}^{n}$,然后对于排列直接$O(n)$求解,对于组合用扩展Lucas求解. 但这题数据并没有保证任何一个模数的质因子的$p^k$在可线性处理的范围内,于 ...

  2. 【贪心】BZOJ3668-[NOI2014]起床困难综合症

    [题目大意] 给定n次操作(与,或,异或),在0~m中选择一个数,使这个数经过n次操作后得到的值最大. [思路] 水题orz 枚举这个数每一位的取值是0还是1,然后根据它经过n次操作后的结果判断: ( ...

  3. CVE-2017-7269—IIS 6.0 WebDAV远程代码执行漏洞分析

    漏洞描述: 3月27日,在Windows 2003 R2上使用IIS 6.0 爆出了0Day漏洞(CVE-2017-7269),漏洞利用PoC开始流传,但糟糕的是这产品已经停止更新了.网上流传的poc ...

  4. Flask请求上下文源码讲解,简单的群聊单聊web

    请求上下文流程图 群聊html代码 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  5. php 导出excel

    <?phpclass Excel { var $inEncode; var $outEncode; public function _construct() { } public functio ...

  6. hdu 2795 Billboard 线段树单点更新

    Billboard Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=279 ...

  7. TortoiseSVN里锁lock 的使用方法

    刚才试验了一下,终于搞明白了TortoiseSVN里锁lock 的使用方法. 简单的说,如果压根没有锁lock,那么每个人都拥有一个本地copy,每个人都能自由地对本地copy编辑edit并提交com ...

  8. CentOS 6.9/7通过yum安装指定版本的Node.js

    说明:通过yum好处其实很多,环境变量不用配置,配置文件放在大家都熟悉的地方,通过rpm -ql xxx可以知道全部文件的地方等等. Node.js(8.x) 一.安装和配置 1.安装Node.js ...

  9. Inverted bipolar transistor doubles as a signal clamp

    A number of circuits, such as level detectors and AM demodulators, benefit from a rectifier with a l ...

  10. 禁止body滚动允许div滚动防微信露底

    最近遇到一个需求,页面中只有一个div允许滚动,其他内容不允许滚动. 正常来讲加上 body{height:100%;overflow: hidden;} 应该就阻止页面滚动了.可是很悲催的是手机端并 ...