1.使用命令行进行集群部署
2.三台虚拟机组建集群
3.三复制组,一组三节点
4.SDB版本采用3.4
部署步骤:
第一步:连接至本地的sdb端口
var oma=new Oma("localhost",11790)
第二步:创建协调节点并启动
oma.createCoord(18900,"/opt/sequoiadb/database/tmp/coord/18900")
第三步:连接到临时协调节点
var db=new Sdb("localhost",18900)
第四步:创建编目节点组
db.createCataRG("ysx",11800,"/opt/sequoiadb/database/cata/11800")
第五步:获取编目节点组
var cataRG=db.getRG(1)
第六步:创建另外两个编目节点
var node1=cataRG.createNode("ysx1",11800,"/opt/sequoiadb/database/cata/11800")
var node2=cataRG.createNode("ysx2",11800,"/opt/sequoiadb/database/cata/11800")
第七步:启动编目节点
node1.start()
node2.start()
第八步:创建数据节点组
var dataRG=db.createRG("datagroup1")
第九步:创建三个数据节点
dataRG.createNode("ysx",11820,"/opt/sequoiadb/database/data/11820")
dataRG.createNode("ysx1",11820,"/opt/sequoiadb/database/data/11820")
dataRG.createNode("ysx2",11820,"/opt/sequoiadb/database/data/11820")
(按照此步骤创建另外两个数据节点组和另外三个数据节点,端口为11830以及11850)
第十步:启动数据节点组
dataRG.start()
dataRG1.start()
dataRG2.strat()
第十一步:创建协调节点组
var coordRG=db.createCoordRG()
第十二步:创建协调节点三个
coordRG.createNode("ysx",11810,"/opt/sequoiadb/database/coord/11810")
coordRG.createNode("ysx1",11810,"/opt/sequoiadb/database/coord/11810")
coordRG.createNode("ysx2",11810,"/opt/sequoiadb/database/coord/11810")
第十三步:启动协调节点组
coordRG.start()
第十四步:删除临时协调节点
var oma=new Oma("localhost",11790)
oma.removeCoord(18900)
存在问题
对主机映射配置的疏忽导致创建节点的时候造成了映射不匹配的问题。
心得总结
一定要按照环境需求来认真配置每一步的配置 缺一不可
重点是配置主机名IP地址映射
调整ulimit: /etc/security/limits.conf
参数说明:
core:数据库出现故障时产生 core 文件用于故障诊断,生产系统建议关闭;
data:数据库进程所允许分配的数据内存大小;
fsize:数据库进程所允许寻址的文件大小;
rss:数据库进程所允许的最大 resident set 大小;
as:数据库进程所允许最大虚拟内存寻址空间限制;
nofile:数据库进程所允许打开的最大文件数;
在文档中关于NUMA影响的介绍:
Linux系统默认开启NUMA,NUMA默认的内存分配策略是优先在进程所在CPU节点的本地内存中分配,会导致CPU节点之间内存分配不均衡,比如当某个CPU节点的内存不足时,会导致swap产生,而不是从远程节点分配内存,即使另一个CPU节点上有足够的物理内存。这种内存分配策略的初衷是让内存更接近需要它的进程,但不适合数据库这种大规模内存使用的应用场景,不利于充分利用系统的物理内存。我们建议用户在使用SequoiaDB时关闭NUMA。
查看numa状态指令:numastat
如果没有安装,则需要安装numactl工具
这里展示的是centos环境下的安装:
yum install numactl