天云星数据库部署手册
项目:
密级:公开
时间:
负责人:
部门:版本历史
版本/状态责任人起止日期备注V0.1/正式魏英波2015-06-01编写天云星数据库安装手册目录
1.环境配置 (1)
1.1关闭SELINUX (1)
1.2关闭IPTABLES (1)
1.3修改计算机名 (2)
1.4修改HOST S文件 (2)
1.5ROOT账户密码一致 (2)
1.6服务器之间网络畅通 (2)
2.SCSDB数据库安装 (2)
2.1安装部署流程图 (2)
2.2安装包介绍 (3)
2.3安装步骤 (3)
2.4部署注意事项 (7)
3.SCSDB数据库卸载 (7)
4.SCSDB数据库升级 (8)
4.1升级注意事项 (8)
4.2升级步骤 (8)本手册将介绍SCSDB运行环境,这是学习和使用SCSDB的基础。通过本手册的学习,读者能够掌握如何在自己的集群上面部署SCSDB系统,这对于理解SCSDB的运行方式与如何优化服务都是非常有益的。
目前SCSDB服务仅在Linux系统下运行,所以本手册只针对Linux操作系统。配置SCSDB系统其实并不太难,只要自己多配置几次就能熟练掌握。
SCSDB内部需要通过高速互通的网络进行数据交互。因此,对网卡、交换机、网络部署的要求比较高。因而,也不建议在公共网络上部署SCSDB系统。即scsdbserver、scsdbman、scsdbidx、scsdbsqlnode以及scsdbdn需要部署在一个高速互通的网络环境中。
SCSDB在进行表扫描时,对磁盘I/O要求比较高,所以尽量选用I/O性能较好的硬盘。
1.环境配置
本手册将以4台服务器的SCSDB集群安装scsdb01.08.07版本为例来介绍SCSDB数据库的安装部署,以下操作在4台服务器上都要执行。
1.1关闭selinux
vi/etc/selinux/config
修改配置文件中SELINUX的值等于disabled
注:selinux修改后需重启服务器才会生效。
1.2关闭iptables
iptables-F#清除iptables规则
service iptables save#保存iptables规则
service iptables stop#关闭iptables
chkconfig iptables off#开机不启动iptables
1.3修改计算机名
vi/etc/sysconfig/network
分别修改配置文件中HOSTNAME的值等于node1-node4
1.4修改hosts文件
vi/etc/hosts
新增如下内容:
1.5root账户密码一致
root账户密码一致方便配置互信及有效管理。
1.6服务器之间网络畅通
每个节点的IP地址连续分配并保持网络畅通。
2.SCSDB数据库安装
2.1系统服务部署图
2.2安装部署流程图
2.3安装包介绍
SCSDB数据库包:scsdb
SCSDB数据节点包:scsdbdn
SCSDB自动化安装工具:sshconfig
SCSDB备份工具:scsdbAutoBackup
SCSDB数据节点配置文件:prefix.conf
SCSDB自动化安装配置文件:ssh.conf
SCSDB服务器互信配置文件:sshconfig.pl
2.4安装步骤
1)拷贝并解压安装文件
ssh192.168.0.171
mkdir-p/home/scsinstall/010807
mkdir-p/home/scsinstall/package
将scsdb01.08.07.zip、scsdbdn1.7.tar.gz拷贝到/home/scsinstall/010807目录,将sshconfig1.0.0.tar.gz、scsdbAutoBackup1.0.2.tar.gz拷贝到/home/scsinstall/package目录。
cd/home/scsinstall/010807
unzip scsdb01.08.07_2.zip
tar-zxvf scsdb.tar.gz
cd/home/scsinstall/package
tar-zxvf sshconfig1.0.0.tar.gz
tar-zxvf scsdbAutoBackup1.0.2.tar.gz
2)修改配置文件
scsdb系统采用一键安装模式,可以快速的在大量集群节点上面部署好系统。配置文件有ssh.conf、prefix.conf,均在/home/scsinstall/package/sshconfig目录下。
下面先来介绍ssh.conf。
[user]
host=192.168.0.171#当前操作的主机ip地址
password=hcloud#集群内节点间root用户访问的密码,确保证是统一密码
[scsdbdn]
dnPath=/home/scsinstall/010807/scsdbdn1.7.tar.gz#scsdbdn的安装包路径sqlnodePath=/home/scsinstall/010807/scsdbsqlnode.tar.gz#scsdbsqlnode 的安装包路径
[scsdbman]
host=192.168.0.171#scsdbman服务节点的ip地址
manPath=/home/scsinstall/010807/scsdbman.tar.gz#scsdbman的安装包路径[scsdbindex]
host=192.168.0.171#scsdbindex服务节点的ip地址
indexPath=/home/scsinstall/010807/scsdbindex.tar.gz#scsdbindex的安装包路径
[scsdbserver]
host=192.168.0.171#scsdbserver服务节点的ip地址
serverPath=/home/scsinstall/010807/scsdbserver.tar.gz#scsdbserver的安装包路径
[client]
host=192.168.0.171#scsdbclient节点的ip地址
clientPath=/home/scsinstall/010807/scsdbclient.tar.gz#scsdbclient的安装包路径
[node]#将要安装scsdbdn和scsdbsqlnode的节点,每个ip一行
192.168.0.171
192.168.0.172
192.168.0.173
192.168.0.174
使用vim/home/scsinstall/package/sshconfig/ssh.conf完成上述配置。
下面介绍prefix.conf。
[all]
basedir=/usr/local#scsdbdn程序安装目录
[scsdbdn]
port=2000#port是scsdbdn实例所使用的端口号,建议从2000开始递增
datadir=/home/scsdbdata/2000#数据库数据文件的目录#注意datadir这个目录如果不是在/home/scsdbdata目录下,请确保他的父目录存在
general_log_file=/home/scsdbdata/2000/scsdbdn2000.log#日志文件log_error=/home/scsdbdata/2000/scsdbdn2000err.log#错误日志[scsdbdn]#scsdbdn可以使用多实例模式运行,
#要想安装多实例,只需要增加此处[scsdbdn]的配置,
#注意修改端口号,和相关路径
port=2001
datadir=/home/scsdbdata/2001
general_log_file=/home/scsdbdata/2001/scsdbdn2001.log
log_error=/home/scsdbdata/2001/scsdbdn2001err.log
#建议[scsdbdn]实例的数量不要超过当前主机的处理器核心数
使用vim/home/scsinstall/package/sshconfig/prefix.conf完成上述配置。
3)自动化集群安装数据库
cd/home/scsinstall/package/sshconfig/install
./install.pl安装集群控制的依赖程序
cd../#返回上级目录
./sshconfig.pl#配置集群服务器互信(如果两两之间不需密码登录其他节点,则表明配置成功)
./scsdbdn_install.sh#运行集群安装工具
在安装过程中如果发现以前的安装版本,会有相关提示,安装提示操作即可
最后,提示是否使用auto config(y/n?),这里我们选择(y),等待配置完成。
4)完善备份关系
完善备份关系需先启动数据节点:./scsdbdn_ctrl.sh start scsdbdn#如果出现start error,说明上一步没有安装成功,请重新执行安装。
ssh node1
vim/etc/scs/ms.conf
我们采用双实例互备配置,将[scs_host]按照以下配置修改:
[scs_host]#数据实例(主ip:port–从ip1:port1,从ip2:port2…可以添加多个从节点,用逗号隔开)
#scsdbdn实例与备份关系
192.168.0.171:2000-192.168.0.172:2000
192.168.0.171:2001-192.168.0.172:2001
192.168.0.172:2000-192.168.0.171:2000
192.168.0.172:2001-192.168.0.171:2001
192.168.0.173:2000-192.168.0.174:2000
192.168.0.173:2001-192.168.0.174:2001
192.168.0.174:2000-192.168.0.173:2000
192.168.0.174:2001-192.168.0.173:2001
:wq!保存退出。
cd/home/scsinstall/package/scsdbAutoBackup/tcl_and_expect
./install.pl#安装备份工具的依赖程序
cd../#返回上级目录
./autoBackup.sh-u SCS-p123456-c/etc/scs/ms.conf#运行备份工具(如果没有错误提示,说明配置成功。否则请根据错误提示检查/etc/scs/ms.conf配置文件[scs_host]部分是否配置正确。)
5)启动数据库ssh node1
cd/home/scsinstall/scsdb_010807_02/scsdbman/install
cp scs_auth.dat/etc/scs
cd/home/scsinstall/package/sshconfig
./scsdbdn_ctrl.sh start all#启动所有服务(全部显示启动ok正常,否则需要检查某个节点的服务是否没有安装正确。)
./scsdbdn_ctrl.sh stop all#关闭所有服务
另外,scsdbdn_ctrl.sh的第二个参数还可以是(scsdb\\scsdbdn\\scsdbsqlnode),可以根据需要选择要控制的服务。
scsdb-u SCS-p123456-h192.168.0.171#启动数据库
6)SCSDB启动停止
如果采用自动安装,那么可以使用集群命令方便的进行服务的开启、关闭等控制,也可单独开启关闭单个服务。
下面介绍详细控制方法:
集群开启/关闭所有服务
cd/home/scsinstall/package/sshconfig
scsdbdn_ctrl.sh start/stop all
数据节点服务:
scsdbdn_multi start#开启本节点的所有实例
scsdbdn_multi stop#关闭本节点的所有实例
也可以控制单个端口实例的开启与关闭,
scsdbdn_multi start2000#开启本节点的2000端口实例
scsdbdn_multi stop2000#关闭本节点的2000端口实例
sqlnode服务:
service scsdbsqlnode start#启动scsdbsqlnode
service scsdbsqlnode stop#关闭scsdbsqlnode
scsdbindex服务:
service scsdbidx start#启动Scsdbindex
service scsdbidx stop#关闭Scsdbindex
scsdbman服务:
service scsdbman start#启动scsdbman
service scsdbman stop#关闭scsdbman
scsdbserver服务:
service scsdbserver start#启动scsdbserver
service scsdbserver stop#关闭scsdbserver
客户端:
scsdb–u SCS–p123456–h192.168.0.104
注意:scsdbdn与scsdbsqlnode在每个数据节点都需要安装。同时,他们的服务必须都开启,否则数据库无法正常运行。
服务的启动顺序:
scsdbdn>scsdbsqlnode>scsdbidx>scsdbman>scsdbserver>scsdb(客户端)
2.5部署注意事项
第一次部署SCSDB系统环境时,许多人都会遇到一定的困难,特别是初学者,下面我们对部署时需要注意的问题列出来,大家在遇到问题的时候可以参考。
(1)部分服务配置文件需要root用户权限,在安装时如出现问题,请先检查当前用户是否具备相应的权限。
(2)/etc/hosts文件需要在所有节点上修改。
(3)安装时无法采用ssh登录系统时,请检查系统的防火墙设置。SCSDB集群一般部署在高速的局域网内,建议关闭防火墙与selinux。
(4)系统无法识别scsdbdn_multi命令,检查是否执行source~/.bash_profile命令。检查usr/bin 目录下是否有scsdbdn_multi程序,如果没有,需要从安装目录的/bin路径下面拷贝到/usr/bin目录。
(5)配置scsdbdn实例的备份失败,请检查防火墙是否关闭,/etc/scsdbdn.conf中的server-id是否唯一。
(6)scsdbman服务启动失败,请检查配置文件ms.conf参数是否配置正确。
(7)scsdbserver服务启动失败,请检查是否已经开启scsdbman服务,scs.conf配置参数是否正确。检查是否有scsdbserver服务还在运行,ps aux|grep scsdbserver,使用kill-9进程号,结束对应的僵死进程。
(8)scsdb客户端运行错误,请检查数据节点scsdbdn服务是否已经开启,检查scsdbserver服务是否已经启动。
(9)安装scsdbman时的初始用户为客户端登录的用户,如果没有正确配置,将无法从客户端访问SCSDB。
(10)当ssh无密码访问配置出现故障时,可将所有节点的.ssh文件夹全部清除,重新配置ssh无密码访问。
3.SCSDB数据库卸载
如果集群环境是采用一键安装方式安装的,可以使用卸载命令:
cd/home/scsinstall/package/sshconfig
./scsdbdn_unistall.sh y#参数“y”表示默认删除数据节点的日志、数据文件,如果参数为“n”,则保留这些文件。
如手动安装方式进行安装的集群环境,需要进入每个节点执行卸载任务。进入之前安装时的安装包目录,找到对应程序的uninstall.pl或uninstall.sh脚本,执行./uninstall.sh即可完成卸载。
4.SCSDB数据库升级
4.1升级注意事项
1)为避免出现意外,请先对相关配置文件做好备份。
2)为避免出现意外,版本升级时请提前告知版本升级阶段用户不要对数据库进行相关操作。
3)scsdbdn数据节点一般不会升级,同时在升级时不需要关闭scsdbdn数据节点服务。
4)版本升级请使用相关服务install目录下update.sh,虽然install.sh也能达到升级的目的,但
在升级的过程中会有一些需要选择的交互提示,不熟悉者容易出错。
5)版本升级前需在每个节点/home/scsinstall/目录下创建版本号目录以存放安装文件及作为安装
目录(如scsdb1.8.7_2版本应创建目录/home/scsinstall/01080702)。
6)版本升级后不要删除之前版本的目录,后期出现问题方便回滚。
4.2升级步骤
1)安装包拷贝
ssh node1
mkdir/home/scsinstall/01080702
将scsdb01.08.07_2.zip拷贝到安装目录/home/scsinstall/010808并解压。
2)关闭服务
cd/home/scsinstall/package/sshconfig
./scsdbdn_ctrl.sh stop scsdb#关闭scsdbserver、scsdbidx、scsdbman ./scsdbdn_ctrl.sh stop scsdbsqlnode#关闭scsdbsqlnode
3)升级操作
#升级scsdbsqlnode
scmt‘cd /home/scsinstall/01080702/scsdb_010807_02/scsdbsqlnode/install
&&./update.sh’192.168.0.171192.168.0.174/etc/scs/addr.conf
#升级scsdbindex
scmt‘cd/home/scsinstall/01080702/scsdb_010807_02/scsdbindex/install &&./update.sh’192.168.0.171192.168.0.171/etc/scs/addr.conf
#升级scsdbman
scmt‘cd/home/scsinstall/01080702/scsdb_010807_02/scsdbman/install &&./update.sh’192.168.0.171192.168.0.171/etc/scs/addr.conf
#升级scsdbserver
scmt‘cd /home/scsinstall/01080702/scsdb_010807_02/scsdbserver/install
&&./update.sh’192.168.0.171192.168.0.171/etc/scs/addr.conf
#升级scsdbclient
scmt‘cd/home/scsinstall/01080702/scsdb_010807_02/client/install &&./update.sh’192.168.0.171192.168.0.171/etc/scs/addr.conf4)启动测试
#启动服务
cd/home/scsinstall/package/sshconfig
./scsdbdn_ctrl.sh start scsdb#开启scsdbserver、scsdbidx、scsdbman
./scsdbdn_ctrl.sh start scsdbsqlnode#开启scsdbsqlnode
#启动数据库测试
scsdb-u SCS-p123456-h192.168.0.171