天天看点

SequoiaDB-编目分区组和数据分区组

在安装SequoiaDB过程中,我们会创建编目节点组(CatalogReplica Group),分片组(Replica Group)。下次主要来介绍下关于这些分区组的创建,获取,删除信息。

 1创建编目分区组

       首先,回到《单台物理机搭建SequoiaDB》一文中,创建一个编目节点组(也就是SYSCatalogGroup)

>db.createCataRG("anyuser5",11800,"/opt/sequoiadb/database/cata/11800")

       其中db.createCataRG(<host>,<service>,<dbpath>,[config])是新建一个编目分区组,并同时创建启动一个编目节点。其中,host指定编目节点主机名,service指定编目节点服务端口,dbpath指定编目数据文件,config用于配置更多参数(可选)。

       接着在SYSCatalogGroup中添加两个编目节点。首先是获取SYSCatalogGroup,然后在这个分区组中创建编目节点,最后在启动编目节点。

>var cataRG =db.getRG("SYSCatalogGroup");

>var node1 =cataRG.createNode("anyuser5",11840,"/opt/sequoiadb/database/cata/11840")

>var node2 = cataRG.createNode("anyuser5",11850,"/opt/sequoiadb/database/cata/11850")

>node1.start()

> node2.start()

其中cataRG.createNode(<host>,<service>,<dbpath>,[config]),几个参数的意义和上述意义。同样有node.start(),也有node.stop()。

2 创建数据分区组

       首先,创建数据分片组(ReplicaGroup)。然后,在数据节点中创建数据节点。最后启动数据节点即可。node.start()为启动当前节点。

>var dataRG =db.createRG("datagroup")

>dataRG.createNode("anyuser5",11860,"/opt/sequoiadb/database/data/11860")  

>dataRG.createNode("anyuser5",11870,"/opt/sequoiadb/database/data/11870")

>dataRG.createNode("anyuser5",11880,"/opt/sequoiadb/database/data/11880")

>dataRG.start()

       其中,db.createRG(<name>)是新建一个分区组,并自动为分区组分配一个GroupId。dataRG.start()为启动分区组,dataRG.stop()为关闭分区组。

       至此,已经为SequoiaDB数据创建了一个编目分区组和一个数据分区组。

3 查看分区组信息。

       查看系统中所有分区组信息

>db.listReplicaGroups()

       通过listReplicaGroups,可以获取整个系统的所有分区组信息(内容较大,不便截图)。例如,在上述创建两个分区组后可以获得两个分区组信息,一个编目分区组和一个数据分区组。其中在每个分区组中列出了分区组的信息,包括GroupID,GroupName,PrimaryNode,Role,Status,Version,_id信息。同时还列出了分区组中每个节点的信息,包括HostName,dbpath,Service,NodeID等。

      同时还可以通过db.getRG()获取分区组,再通过rg.getDetail()获得单个分区组信息,以及通过rg.getMaster()和rg.getSlave()获得分区组的主节点和从节点(随机选取一个)。如下图所示:

SequoiaDB-编目分区组和数据分区组

       同时,我们也可以通过rg.getNode()获取节点,再通过rg.getHostName()获取节点主机名,rg.getNodeDetail()获取节点详细信息,rg.getServiceName()获取端口号。如下图所示:

SequoiaDB-编目分区组和数据分区组