原文链接: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. 【期望DP】BZOJ4008- [HNOI2015]亚瑟王

    题目大意 有\(n\)张卡牌,\(r\)轮游戏.每张卡牌只能用至多一次,每张卡牌被用到的概率为\(p_i\).现在从左往右轮,直到最右一张卡片或者某张卡片被用到.如果某张卡牌被用到,产生\(d_i\) ...

  2. DP练习 最长上升子序列nlogn解法

    openjudge 百练 2757:最长上升子序列 总时间限制:  2000ms 内存限制:  65536kB 描述 一个数的序列bi,当b1 < b2 < ... < bS的时候, ...

  3. Scrapy 轻松定制网络爬虫(转)

    网络爬虫(Web Crawler, Spider)就是一个在网络上乱爬的机器人.当然它通常并不是一个实体的机器人,因为网络本身也是虚拟的东西,所以这个“机器人”其实也就是一段程序,并且它也不是乱爬,而 ...

  4. ASIHTTPRequest的环境配置和使用示例

    ASIHTTPRequest类库是基于ISO SDK的一组网络请求的API.IOS SDK的网络组件CFNetwork API操作起来非常复杂.而ASIHTTPRequest类库是对CFNetwork ...

  5. Druid 配置_配置WebStatFilter

    https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_%E9%85%8D%E7%BD%AEWebStatFilter WebStatFilt ...

  6. Spring+JDBC实例

    1. Customer 表 在这个例子中,我们使用的是MySQL数据库. CREATE TABLE `customer` ( `CUST_ID` int(10) unsigned NOT NULL A ...

  7. mysql数据库测试库下载

    The mysqlslap program can be helpful for simulating a high load produced by multiple clients issuing ...

  8. Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Connectio

    严重: StandardWrapper.Throwableorg.springframework.transaction.CannotCreateTransactionException: Could ...

  9. linux中grep命令的使用

    转载:http://blog.csdn.net/universsky/article/details/8866402 linux中grep命令的使用 grep (global search regul ...

  10. 替换Android系统镜像system.img的方法

    之前改动了Android的系统源代码的framework层代码,定制ROM.通过make之后会生成三个镜像文件userdata.img.system.img.ramdisk.img三个文件.这个时候我 ...