Trafodion数据库通过DCS来作为客户端与底层服务的中转站。关于DCS的介绍,请参考我的另外一篇文章“ Trafodion DCS架构介绍”http://blog.csdn.net/post_yuan/article/details/52709838
Trafodion相比其他的一些SQL on Hadoop(如Hive、Impala等)产品,多少有一些优势的地方。其中一个比较重要的特性就是,Trafodion支持多并发。多并发,简而言之就是允许很多个客户端同时连接并读写数据库。
那怎么去定义最大连接数呢? 这就是DCS所需要做的事情了。Trafodion安装好以后,在Trafodion目录下面,有一个dcs相关的目录,dcs配置文件目录下有一个servers的文件。
servers文件定义了每个dcsserver能够支持的最大连接数。
[trafodion@n12 conf]$ pwd
/home/trafodion/esgynDB-2.2.0/dcs-2.2.0/conf
[trafodion@n12 conf]$ ls
backup-masters dcs-env.sh dcs-site.xml log4j.properties master realm.properties servers
[trafodion@n12 conf]$ cat servers
n12 4
n13 4
n14 4
通过上面的执行可以发现,这个数据库集群中有3台dcsserver,每个dcserver配置了4个连接,集群总共可以支撑4*3个连接。
当然了,这个数据库集群只是一个虚拟机上的测试集群,内存比较小。在内存比较小的情况下,不适宜设置太大的连接数,毕竟每个连接也会占用一些内存。
关于如何正确的配置适合的连接数,我们可以参考下面这张关于节点配置要求的图,
假如我们发现原先设置的dcs连接数不适合,可以通过以下步骤来调整连接数,
1 选任意一台装有数据库的节点,修改dcs配置文件servers中的连接数,并保存
[trafodion@n12 conf]$ ls
backup-masters dcs-env.sh dcs-site.xml log4j.properties master realm.properties servers
[trafodion@n12 conf]$ vi servers
2 用pdcp把上述节点的servers文件复制到所有数据库节点(注:pdsh在Trafodion安装过程中会自动安装)
[trafodion@n12 conf]$ pwd
/home/trafodion/esgynDB-2.2.0/dcs-2.2.0/conf
[trafodion@n12 conf]$ pdcp $MY_NODES servers /home/trafodion/esgynDB-2.2.0/dcs-2.2.0/conf/
3 dcsstop、dcsstart重启dcs
[trafodion@n12 conf]$ dcsstop
...
[trafodion@n12 conf]$ dcsstart