sequoiadb集群管理

1. 集群中新增主机

前面一说这里不再赘述

2. 编目分区组管理

1)新增编目分区组

操作方法:

> db.createReplicaCataGroup(<host>,<service>,<dbpath>,[config])

该命令用于创建编目分区组,同时创建并启动一个编目节点,其中:

host:指定编目节点的主机名;

service:指定编目节点的服务端口,请确保该端口号,以及往后延续的3个端口号未被占用;如设置为11800,请确保11800/11801/11802/11803端口都未被占用;

dbpath:数据文件路径,用于存放编目数据文件,请确保数据管理员(安装时创建,默认为 sdbadmin)用户有写权限;

config:该参数为可选参数,用于配置更多细节参数,格式必须为 json 格式,参数参见数据库配置一节;如需要配置日志大小参数{logfilesz:64}。

2)编目分区组中新增节点

操作方法:

	> var cataRG = db.getRG("SYSCatalog");
	> var node1 = cataRG.createNode(<host>,<service>,<dbpath>,[config]); 
	> node1.start()

第一条命令用于获取编目分区组,“SYSCatalogGroup”为编目分区组组名;

第二条命令用于创建一个新的编目节点,其中:

参数:

host:指定编目节点的主机名;

service:指定编目节点的服务端口,请确保该端口号,以及往后延续的3个端口号未被占用;如设置为11800,请确保11800/11801/11802/11803端口都未被占用;

dbpath:数据文件路径,用于存放编目数据文件,请确保数据管理员(安装时创建,默认为 sdbadmin)用户有写权限;

config:该参数为可选参数,用于配置更多细节参数,格式必须为 json 格式,参数参见数据库配置 一节;如需要配置日志大小参数{logfilesz:64}。

第三条命令用于启动新增的编目节点。

3. 数据分区组管理

1)新增数据分区组

一个集群中可以配置多个分区组,最大可配置60,000个分区组。通过增加分区组,可以充分利用物理设备进行水平扩展,理论上 SequoiaDB 可以做到线性的水平扩展能力。

操作方法:

	> var dataRG = db.createRG("datagroup1")
	> dataRG.createNode("sdbserver1", 11820, "/opt/sequoiadb/database/data/11820")   
	> dataRG.start()

第一条命令用于创建数据分区组,与编目分区组不同的是,该操作不会创建任何数据节点,其中参数为数据组名;

第二条命令用户在数据组中新增一个数据节点,可以根据需要多次执行该命令来创建多个数据节点。

其中:

host:指定数据节点的主机名;

service:指定数据节点的服务端口,请确保该端口号,以及往后延续的3个端口号未被占用;如设置为11820,请确保11820/11821/11822/11823端口都未被占用;

dbpath:数据文件路径,用于存放数据节点的数据文件,请确保数据管理员(安装时创建,默认为 sdbadmin)用户有写权限;

config:该参数为可选参数,用于配置更多细节参数,格式必须为 json 格式,参数参见数据库配置一节;如需要配置日志大小参数{logfilesz:64}。

第三条命令用于启动数据分区组,该命令将该组的所有节点启动,并提供服务

2)分区组中新增节点

某些分区组可能在创建时设定的副本数较少,随着物理设备的增加,可能需要增加副本数以提高分区组数据可靠性。

操作方法:

	> var dataRG = db.getRG(<groupname>);
	> var node1 = dataRG.createNode(<host>,<service>,<dbpath>,[config]); 
	> node1.start();

第一条命令用于获取数据分区组,参数 groupname 为数据分区组组名;

第二条命令用于创建一个新的数据节点,参数与新增编目分区组中的创建节点参数相同;

第三条命令用于启动新增的数据节点。

4. 集群中新增协调节点

1. 创建协调节点配置目录;

	mkdir -p /opt/sequoiadb/conf/local/11810

其中11810为协调节点的服务端口,可根据需要配置

2. 拷贝协调节点样例配置文件;

	cp /opt/sequoiadb/conf/samples/sdb.conf.coord /opt/sequoiadb/conf/local/11810/sdb.conf
3. 修改配置文件;
	vi /opt/sequoiadb/conf/local/11810/sdb.conf

修改内容

	# database path dbpath=/opt/sequoiadb/database/coord

该参数为数据库放置路径,可根据需要修改,请确保路径已经存在(不存在请手工创建)

将如下行:

	# catalog addr(hostname1:servicename1,hostname2:servicename2,...) 
	# catalogaddr=

修改

	# catalog addr(hostname1:servicename1,hostname2:servicename2,...)
	catalogaddr=sdbserver1:11803,sdbserver2:11803,sdbserver3:11803

该参数为Catalog服务地址和端口

4. 按 :wq,保存退出 vi;

5. 创建数据文件存放路径;

	mkdir -p /opt/sequoiadb/database/coord

路径为上一步骤配置的路径

6. 启动协调节点进程。

	/opt/sequoiadb/bin/sdbstart -c /opt/sequoiadb/conf/local/11810/

小案例:

案例一:新增主机,在当前数据分区中新增一个数据副本节点

  • 当前环境:

    配置项配置情况
    主机包含一台主机:
    主机一:OS 为 SUSE 11 SP2 64位,主机名为 vmsvr1-suse-x64,IP 为192.168.1.10
    编目分区组分区组包含一个编目节点,服务端口为11800
    数据分区组一个数据分区组,组名为 datagroup1,其中包含一个数据节点:
    数据节点一:服务主机名为 vmsvr1-suse-x64,端口为11820
    协调节点一个协调节点,端口为11810

  • 调整后的预期结果

    配置项配置情况
    主机包含两台主机:
    主机一:OS 为 SUSE 11 SP2 64位,主机名为 vmsvr1-suse-x64,IP 为192.168.1.10
    主机二:OS 为 SUSE 11 SP2 64位,主机名为 vmsvr2-suse-x64,IP 为192.168.1.11
    编目分区组分区组包含一个编目节点,服务端口为11800
    数据分区组一个数据分区组,组名为 datagroup1,其中包含两个数据节点:
    数据节点一:服务主机名为 vmsvr1-suse-x64,端口为11820
    数据节点二:服务主机名为 vmsvr2-suse-x64,端口为11820
    协调节点一个协调节点,端口为11810

操作步骤

  • 步骤一:配置新增的主机

    1. 安装操作系统 SUSE 11 SP2 64位(保持与原系统一致);

    2. 使用 root 用户登录系统;

    3. 配置 IP 地址为 192.168.1.11;

    4. 执行如下命令,配置主机名为 vmsvr2-suse-x64:
    hostname vmsvr2-suse-x64
    修改 /etc/hosts文件,新增两行:
    192.168.1.10 vmsvr1-suse-x64 
    192.168.1.11 vmsvr2-suse-x64
    按 :wq 保存退出;
    5. 执行如下命令,检查主机配置是否生效:
    ping vmsvr1-suse-x64   //检查是否 ping 通;
    ping vmsvr2-suse-x64   //检查是否 ping 通;

    6. 配置系统内核参数:

    打开 /etc/profile 文件,在该文件末尾增加如下行:

    ulimit -Sf unlimited   //文件大小限制 
    ulimit -St unlimited   //CPU时间限制 
    ulimit -Sv unlimited   //虚拟内存限制 
    ulimit -Sn 64000       //文件个数限制 
    ulimit -Sm unlimited   //内存大小限制 
    ulimit -Su 32000       //线程个数限制
    按 :wq 保存退出;

    执行 source /etc/profile,使得配置生效;

    7. 执行如下命令,检查系统内核参数配置是否生效:
    ulimit -a;   //查看配置是否正确;
  • 步骤二:配置原集群的主机

    修改原主机 vmsvr1-suse-x64 的 /etc/hosts 配置文件,在配置文件中新增一行:

    192.168.1.11   vmsvr2-suse-x64

    按 :wq 保存退出;

  • 步骤三:在新增主机上安装 SequoiaDB 软件

    参考 SequoiaDB 服务器安装一节进行软件安装。

  • 步骤四:在当前分区中新增数据节点

    1. 在 vmsvr2-suse-x64 上执行如下命令,启动 SequoaiDB Shell 命令行:

    /opt/sequoiadb/bin/sdb

    2. 在 SequoiaDB Shell 命令行中,执行如下命令在当前数据分区组新增一副本节点:

    > var db = new Sdb("localhost",11810)
    > var datarg = db.getRG("datagroup1")
    > node=rg.createNode("vmsvr2-suse-x64",11820,"/opt/sequoiadb /database/data/11820")
    > node.start()

    3. 在SequoiaDB Shell命令行中,执行如下命令检查分区组配置情况,可以看到数据组新增了一个数据节点:

    > db.listReplicaGroups();
    …
    {
      "Group": [
        {
          "dbpath": "/opt/sequoiadb/database/data/11820",
          "HostName": " vmsvr1-suse-x64",
          "Service": [
            {
              "Type": 0,
            {
              "Type": 1,
              "Name": "11821"
            },
            {
              "Type": 2,
              "Name": "11822"
            },
            {
              "Type": 3,
              "Name": "11823"
            }
          ],
          "NodeID": 1000
        },
        {
          "dbpath": "/opt/sequoiadb/database/data/11820",
          "HostName": " vmsvr2-suse-x64",
          "Service": [
            {
              "Type": 0,
              "Name": "11820"
            },
            {
              "Type": 1,
              "Name": "11821"
            },
            {
              "Type": 2,
              "Name": "11822"
            },
            {
              "Type": 3,
              "Name": "11823"
            }
          ],
          "NodeID": 1001
        }
      ],
      "GroupID": 1000,
      "GroupName": "datagroup1",
      "PrimaryNode": 1000,
      "Role": 0,
      "Status": 1,
      "Version": 3,
      "_id": {
        "$oid": "51d673c1fde96799fbac6aad"
      }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值