SequoiaDB 简介
安装部署
数据库实例
分布式引擎
SAC 管控中心
参考手册
常见问题及解答(FAQ)
版本信息
createNode - 在当前复制组中创建节点
rg.createNode(<host>, <service>, <dbpath>, [config])
SdbReplicaGroup
该函数用于在当前复制组中创建节点。
host ( string,必填 )
指定节点的主机名
service ( number/string,必填 )
节点端口号
dbpath ( string,必填 )
/home/sequoiadb
)+ 配置的路径config ( object,选填 )
节点配置信息,如配置日志大小,是否打开事务等,具体可参考数据库配置
Note:
rg.createNode() 方法的定义格式有四个参数:host,service,dbpath,config,如上表所示,host,dbpath 为字符串类型,Service 类型支持 number 或 string ,必填;最后一个是 object 对象,选填。
格式:("<主机名>", "<端口号>", "<节点路径>, "[{<configParam>: value, ...}])
函数执行成功时,将返回一个 SdbNode 类型的对象。
函数执行失败时,将抛异常并输出错误信息。
createNode()
函数常见异常如下:
错误码 | 错误类型 | 可能发生的原因 | 解决办法 |
---|---|---|---|
-15 | SDB_NETWORK | 网络错误 | 1. 检查 sdbcm 状态是否正常,如果状态异常,可以尝试重启 2. 检查 host 是否正确,网络是否能正常通信 |
-145 | SDBCM_NODE_EXISTED | 节点已存在 | 检查节点是否存在 |
-157 | SDB_CM_CONFIG_CONFLICTS | 节点配置冲突 | 执行 netstat 命令检查节点端口是否已被占用 |
-3 | SDB_PERM | 权限错误 | 检查节点路径是否正确,路径权限是否正确 |
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v2.0 及以上版本
在复制组 group1 中创建一个 "hostname1:11830" 的节点,指定日志文件大小为64MB
> var rg = db.getRG("group1") > rg.createNode("hostname1", 11830, "/opt/sequoiadb/database/data/11830", {logfilesz: 64})
Note:
一个复制组中能创建多个节点,每个节点需要预留至少五个顺延的端口。因为系统为每个节点后台控制了五个通信接口。