底蕴深厚的意思:GridSQL搭建postgresql集群
来源:百度文库 编辑:中财网 时间:2024/04/29 23:48:24
GridSQL搭建postgresql集群
2011-05-25 14:50:27| 分类: postgresql |字号 订阅
(一)版本信息:postgresql-9.0.4.tar.bz2
gridsql-2.0-0.tar.gz
(二)环境架构:
服务器--vmware虚拟机 3台
coordinator node0: 192.168.204.131 安装gridsql和用于存储元数据库的pogresql数据库
underlying node1: 192.168.204.132 安装postgresql数据库,用于作为节点1
underlying node2: 192.168.204.133 安装postgresql数据库,用于作为节点2
(三)系统环境
1)shared memory配置,2G为例
#vi /etc/sysctl.conf
##########################################
linux kernel settings
kernel.shmmax = 68719476736
kernel.shmmni = 4096
kernel.shmall = 4294967296
kernel.sem = 1000 128000 100 128
##########################################
2)number of open file
/etc/security/limits.conf
3)java Runtime Environment 6 update 18或以上
http://java.sun.com/javase/downloads/index.jsp
4)环境变量
###############################################
export PGDATA=/usr/local/pgsql/data
export PATH=/usr/local/gridsql-2.0/bin:/usr/local/pgsql/bin:/usr/local/jre1.6.0_25/bin:$PATH
###############################################
(四)在三台服务器上安装postgreslq数据库
1)安装命令及过程
#################################################
#useradd postgres
#tar jxf postgresql-9.0.4.tar.bz2
#./configure --prefix=/usr/local/pgsql/
#gmake
#gmake install
#mkdir /usr/local/pgsql/data
#chown postgres /usr/local/pgsql/data
#su - postgres
#/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
#################################################
2)修改配置文件
postgresql.conf 配置文件
listen_address='*' 数据库服务的监听地址(去掉只在127.0.0.1这个地址上进行监听的限制)
当一台服务器上启动多个服务,可以设定每个服务在不同 的网卡和IP地址上进行监听
pg_hba.conf 配置文件
允许哪个账户和客户端可以连接到本服务器
############################################
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 192.168.204.0/24 md5
############################################
3)启动数据库并在各个node上创建用户
#/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
#/usr/local/pgsql/bin/createuser -d -E gridsql -U postgres -p
4)在coordinator node0上建立密码文件
#touch /home/postgres/.pgpass
#chmod 600 /home/postgres/.pgpass
文件格式:hostname:port:database:username:password
文件内容:########################################
192.168.204.131:5432:*:gridsql:123456
192.168.204.132:5432:*:gridsql:123456
192.168.204.133:5432:*:gridsql:123456
#########################################
这样从node0(192.168.204.131)连接个underly database的node上,就不需要输入密码了
测试命令:
#/usr/local/pgsql/bin/createdb -h 192.168.204.131 -U gridsql test
#/usr/local/pgsql/bin/createdb -h 192.168.204.132 -U gridsql test
#/usr/local/pgsql/bin/createdb -h 192.168.204.133 -U gridsql test
(五)在node0上 安装GridSQL
1)安装软件
##############################################
tar zxf gridsql-2.0-0.tar.gz -C /usr/local/
chown postgres:postgres -R /usr/local/gridsql-2.0
chmod 700 /usr/local/gridsql-2.0/bin/*.sh
chmod 775 /usr/local/gridsql-2.0/log
chmod 755 /usr/local/gridsql-2.0/bin/gs-cmdline.sh
chmod 600 /usr/local/gridsql-2.0/config/*
##############################################
2)环境变量 ,脚本/usr/local/gridsql-2.0/gridsql_env.sh
######################################################################
export GSPATH=/usr/local/gridsql-2.0
export CLASSPATH=$GSPATH/lib/edb-jdbc14.jar
export PATH=$PATH:$GSPATH/bin
执行脚本/usr/local/gridsql-2.0/gridsql_env.sh,或者把以上变量加入系统环境变量中
######################################################################
3)修改配置文件 /usr/local/gridsql-2.0/conf/gridsql.conf
修改连接underly database node 的默认用户名、密码、端口号
xdb.default.dbusername=gridsql
xdb.default.dbpassword=123456
xdb.default.dbport=5432
修改node的个数及IP地址
xdb.nodecount=2
xdb.node.1.dbhost=192.168.204.132
xdb.node.2.dbhost=192.168.204.133
元数据库名称及IP地址
xdb.metadata.database=XDBSYS
xdb.metadata.dbhost=localhost
4)初始化gridsql 并启动相关服务
创建初始化数据库XDBSYS,并创建默认用户admin,密码secret
#gs-createmddb.sh -u admin -p secret
启动gridsql服务
#gs-server.sh
###########################################################################
启动时,同时将某个数据库bing online,
gs-server.sh -d xtest
或者在gs-server.sh启动后,使用命令gs-dbstart 将某个数据库bring online
##########################################################################
创建数据库
#gs-createdb.sh -d xtest -u admin -p secret -n 1,2
测试数据库
#gs-cmdline.sh -d xtest -u admin -p secret
GridSQL->create table mytable (id int) partitioning key id on all;
GridSQL->select * from mytable;
GridSQL->drop table mytable;
将GridSQL database bring online or offline or dop
#gs-dbstart.sh -d xtest -u admin -p secret
#gs-dbstop.sh -d xtest -u admin -p secret
#gs-dropdb.sh -d xtest -u admin -p secret
测试一下,性能:
测试表结构:create table mytest1 (id int,name varchar(30),address varchar(30),job varchar(30));
数据量:20000
需时间: 906.018820047(秒)
同样,连接单独的postgre服务器,性能:
需时间:34.7737448215(秒)
性能差别太大了,不知道是不是没有优化的原因,因为gridsql服务,使用的是java,。
有条件在生产服务器上,测试一下。
总结:
1)gridsql-2.0-0.tar.gz 是和 postgresql-8.4配套的,用了最新版的postgresql-9,不知道会不会出问题
2)gridsql-2.0-0.tar.gz是enterprise DB公司与其付费产品Postgres Plus Advanced Server是捆绑在一起的
虽然开源的postgresql也可以使用,并且配置成功,相关其他方面是否有缺陷,不确定
3)相关的性能需要仔细配置,并实验,此部分工作还未完成,是否能用于生产环境,不确定
4)对相关的查询统计可以做到在多台服务器上分布式并行执行,提高效率,但是对join及其他操作,有限制
5)在正式使用建库和建表之前,关于 database schema和 partitioning strategies,要查看文档
《GridSQLPlanningGuide.PDF》,否则会引起性能问题。
postgresql
紧急求救 postgreSQL教程
怎样用postgresql建表,建数据库
关于postgreSql的一点问题
搭建无线网络
搭建金字塔
网络搭建!!
php 与 postgresql 怎么实现连接?
postgresql用copy总是报错,怎么回事?
PostgreSQl好用,还是mySql好用?
什么虚拟主机支持postgreSQL数据库呀?
怎样搭建网站
MDaemon搭建邮件安全网关
帐篷怎么搭建!?
如何搭建文件服务器
怎么搭建web服务器
搭建邮箱服务器
搭建魔兽单机服务器
网站搭建步骤?
怎样搭建免费邮件系统?
如何搭建struts框架
如何搭建网上邻居
搭建telnet的BBS
怎样搭建家庭局域网?