目前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
NETWORKING=yes
HOSTNAME=node1
1.4 修改hosts 文件
vi /etc/hosts
新增如下内容:
1.5 root 账户密码一致
root 账户密码一致方便配置互信及有效管理。
1.6 服务器之间网络畅通
每个节点的IP 地址连续分配并保持网络畅通。
2. SCSDB 数据库安装
2.1 系统服务部署图
2.2安装包介绍
SCSDB 数据库包:scsdb
SCSDB 数据节点包:scsdbdn
SCSDB 自动化安装工具:sshconfig
SCSDB 备份工具:scsdbAutoBackup
SCSDB 数据节点配置文件:prefix.conf
SCSDB 自动化安装配置文件:ssh.conf
SCSDB 服务器互信配置文件:sshconfig.pl
2.3安装步骤
1) 拷贝并解压安装文件
ssh 192.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
2) 修改配置文件
scsdb 系统采用一键安装模式,可以快速的在大量集群节点上面部署好系统。配置文件有
ssh.conf、prefix.conf,均在/home/scsinstall/package/sshconfig 目录下。
scsdb 系统采用一键安装模式,可以快速的在大量集群节点上面部署好系统。配置文件有
ssh.conf、prefix.conf,均在/home/scsinstall/package/sshconfig 目录下。
[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
修改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�C从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 -p 123456 -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 -h 192.168.0.171 #启动数据库
6) SCSDB 启动停止
如果采用自动安装,那么可以使用集群命令方便的进行服务的开启、关闭等控制,也可单独开
启关闭单个服务。
下面介绍详细控制方法:
集群开启/关闭所有服务
cd /home/scsinstall/package/sshconfig
scsdbdn_ctrl.sh start/stop all
数据节点服务:
scsdbdn_multi start #开启本节点的所有实例
scsdbdn_multi stop #关闭本节点的所有实例
也可以控制单个端口实例的开启与关闭,
scsdbdn_multi start 2000 #开启本节点的2000 端口实例
scsdbdn_multi stop 2000 #关闭本节点的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
客户
scsdbman 服务:
service scsdbman start #启动scsdbman
service scsdbman stop #关闭scsdbman
scsdbserver 服务:
service scsdbserver start #启动scsdbserver
service scsdbserver stop #关闭scsdbserver
客户端:
scsdb �Cu SCS �Cp123456 �Ch 192.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 无密码访问。