SequoiaDB数据库之数据库的配置与启动

1.1    独立模式下的配置和启动

         1: 进入/opt/sequpiadb/目录以sdbadmin用户进行安装:

sdbserver1:~ # cd /opt/sequoiadb/

sdbserver1:/opt/sequoiadb # su sdbadmin

sdbadmin@sdbserver1:~> cd /opt/sequoiadb/

sdbadmin@sdbserver1:~> ls

bin   doc      java  license  sequoiadb  uninstall      www

conf  include  lib   samples  tools      uninstall.dat

2:创建配置文件存放目录

sdbadmin@sdbserver1:~> mkdir -p /opt/sequoiadb/conf/local/50000

注意:官方文档上出现的#P,应该为-P

         3:拷贝独立模式的配置

sdbadmin@sdbserver1:~>cp /opt/sequoiadb/conf/samples/sdb.conf.standalone  /opt/sequoiadb/conf/local/50000/sdb.conf

         4:修改配置文件

sdbadmin@sdbserver1:~> vi /opt/sequoiadb/conf/local/50000/sdb.conf

 

# SequoiaDB configuration

 

# configure file path

# confpath=

 

# log file path

# logpath=

 

# diagnostic log file path

# diagpath=

 

# database path

dbpath=/opt/sequoiadb/database/standalone

 

# index path

# indexpath=

 

# backup path

# bkuppath=

 

# max pooled agent

maxpool=100

 

"conf/local/50000/sdb.conf" 65L, 893C written

5:创建上面配置文件中dbpath指向的文件存放地址

sdbadmin@sdbserver1:~> mkdir -p /opt/sequoiadb/database/standalone

6:启动数据库进程

sdbadmin@sdbserver1:~>/opt/sequoiadb/bin/sdbstart -c /opt/sequoiadb/conf/local/50000

Success: SequoiaDB engine is successfully started (9114)

7:shell测试

sdbadmin@sdbserver1:~> cd /opt/sequoiadb/bin/

sdbadmin@sdbserver1:~/bin> ./sdb

Welcome to SequoiaDB shell!

help() for help, Ctrl+c or quit to exit

> help

function () {

    println("   var db = new Sdb('localhost', 50000)   connect to database");

    println("   db.help()                              help on db methods");

    println("   db.cs.help()                           help on collection space cs");

    println("   db.cs.cl                               access collection cl on collection space cs");

    println("   db.cs.cl.help()                        help on collection cl");

    println("   db.cs.cl.find()                        list all records");

    println("   db.cs.cl.find({a:1})                   list records where a=1");

    println("   print(x), println(x)                   print out x");

    println("   traceFmt(,,)            format trace input(in) to output(out) by type");

    println("   getErr(ret)                            print error description for return code");

    println("   quit                                   exit");

}

Takes 0.394s.

> x=100

100

Takes 0.228s.

> x/10

10

Takes 0.140s.

> new Date()

Mon Oct 28 2013 15:18:11 GMT+0800 (CST)

Takes 0.315s.

 

 

 

8:访问监控页面如下:

2.1    集群模式的配置与启动

三台服务器的分布如下:

192.168.25.151  sdbserver1

192.168.25.152  sdbserver2

192.168.25.153  sdbserver3

采用三台服务器进行搭建集群模式。在集群模式中,至少需要三个节点。在集群环境下,sequoiaDB需要三种角色的节点,分布为:数据节点,编目节点,协调节点。集群模式的最小配置中,每种角色的节点至少启动一个,才能构成完整的集群模式。

集群模式中客户端或应用程序直接连接到协调节点,其余数据节点与编目节点对应用程序完全透明。应用程序本身不需关心数据存放在哪个数据节点,协调节点会对接收到的请求解析,自动将其发送到需要的数据节点上进行处理。

在集群模式下,数据分区之间的数据无共享,数据分区内的节点间进行异步数据复制,保证数据的最终一致性。这一点和ORACLE 的RAC是不一样的,oracle是多个节点共享一份数据。在数据安全性来说,数据多份存放是很安全的一种方式。

 

1:检查每台服务器上上的sdbcm状态,保证每台服务器都正常安装软件:

sdbserver1:/ # service sdbcm status

sdbcm.service - LSB: Example initscript

          Loaded: loaded (/etc/init.d/sdbcm)

          Active: active (exited) since Mon, 2013-10-28 15:55:56 CST; 2s ago

         Process: 10104 ExecStop=/etc/init.d/sdbcm stop (code=exited, status=0/SUCCESS)

         Process: 10109 ExecStart=/etc/init.d/sdbcm start (code=exited, status=0/SUCCESS)

          CGroup: name=systemd:/system/sdbcm.service

 

Oct 28 15:55:53 sdbserver1 systemd[1]: Starting LSB: Example initscript...

Oct 28 15:55:53 sdbserver1 su[10110]: (to sdbadmin) root on none

Oct 28 15:55:53 sdbserver1 su[10110]: pam_unix(su-l:session): session opene...0)

Oct 28 15:55:55 sdbserver1 sdbcm[10109]: Starting sequoiadb databse service:...)

Oct 28 15:55:56 sdbserver1 sdbcm[10109]: Successful to start sdbcm

Oct 28 15:55:56 sdbserver1 sdbcm[10109]: .

Oct 28 15:55:56 sdbserver1 systemd[1]: Started LSB: Example initscript.

2:启动一个协调节点,创建协调节点目录,端口号设置为50000

sdbserver1:/ # su sdbadmin

sdbadmin@sdbserver1:/> mkdir -p /opt/sequoiadb/conf/local/50000

sdbadmin@sdbserver1:/>cp /opt/sequoiadb/conf/samples/sdb.conf.coord  /opt/sequoiadb/conf/local/50000/sdb.conf

3:修改配置文件

sdbadmin@sdbserver1:/> vi /opt/sequoiadb/conf/local/50000/sdb.conf

 

# SequoiaDB configuration

 

# configure file path

# confpath=

 

# log file path

# logpath=

 

# diagnostic log file path

# diagpath=

 

# database path

dbpath=/opt/sequoiadb/database/coord

 

# index path

# indexpath=

 

# backup path

# bkuppath=

 

# max pooled agent

maxpool=100

 

"~/conf/local/50000/sdb.conf" 65L, 883C written

4:创建数据文件存放目录

sdbadmin@sdbserver1:/> mkdir -p /opt/sequoiadb/database/coord

5:启动协调节点进程

sdbadmin@sdbserver1:/>/opt/sequoiadb/bin/sdbstart -c /opt/sequoiadb/conf/local/50000/

Success: SequoiaDB engine is successfully started (10201)

6:进入shell终端,创建编目节点组

sdbadmin@sdbserver1:/> /opt/sequoiadb/bin/sdb

Welcome to SequoiaDB shell!

help() for help, Ctrl+c or quit to exit

>  var db = new Sdb("192.168.25.151",50000)

Takes 0.8423s.

> db.createCataRG("sdbserver1", 30000, "/opt/sequoiadb/database/cata/30000")

Takes 7.66259s.

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

Takes 0.19453s.

>var node1=catarg.createNode("sdbserver2",30000,"/opt/sequoiadb/database/cata/30000")

Takes 0.25331s.

> var node2 = catarg.createNode("sdbserver3", 30000,"/opt/sequoiadb/database/cata/30000")

Takes 0.5964s.

7:启动编目节点组

> node1.start()

Takes 7.41135s.

> node2.start()

Takes 7.37497s.

8:创建数据节点组

> var datarg = db.createRG("datagroup1")

Takes 0.3216s.

> datarg.createNode("sdbserver1", 51000, "/opt/sequoiadb/database/data/51000")

sdbserver1:51000

Takes 0.26794s.

> datarg.createNode("sdbserver2", 51000,"/opt/sequoiadb/database/data/51000")

sdbserver2:51000

Takes 0.6524s.

> datarg.createNode("sdbserver3", 51000, "/opt/sequoiadb/database/data/51000")

sdbserver3:51000

Takes 0.5700s.

9:启动数据节点组

> datarg.start()

Takes 15.4294625759s.

 

10:在其他两台服务器上创建协调节点,创建协调节点目录,拷贝样本配置文件

sdbserver2:/ # mkdir -p /opt/sequoiadb/conf/local/50000

sdbserver2:/#cp/opt/sequoiadb/conf/samples/sdb.conf.coord /opt/sequoiadb/conf/local/50000/sdb.conf

11:编辑文件

sdbserver2:/ # vi /opt/sequoiadb/conf/local/50000/sdb.conf

 

# SequoiaDB configuration

 

# configure file path

# confpath=

 

# log file path

# logpath=

 

# diagnostic log file path

# diagpath=

 

# database path

dbpath=/opt/sequoiadb/database/coord

 

# index path

# indexpath=

 

# backup path

# bkuppath=

 

# max pooled agent

maxpool=100

 

# local service name or port

svcname=50000

 

# replication service name or port

replname=50001

 

# sharding service name or port

shardname=50002

 

# catalog service name or port

catalogname=50003

 

# RESTful service name or port

httpname=50004

 

# diag level (0-5)

diaglevel=3

 

# role of the node (data/coord/catalog/standalone)

role=coord

 

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

catalogaddr=sdbserver1:30003,sdbserver2:30003,sdbserver3:30003

 

# group id

# groupid=

 

"/opt/sequoiadb/conf/local/50000/sdb.conf" 65L, 931C written 

对上面catalogaddr中的服务器名称进行添加服务器地址和端口,请使用hosts文件中的名称。

12:创建数据文件存放目录

sdbserver2:/ # mkdir -p /opt/sequoiadb/database/coord

13:启动协调节点进程

sdbserver2:/ # /opt/sequoiadb/bin/sdbstart -c /opt/sequoiadb/conf/local/50000/

Success: SequoiaDB engine is successfully started (9761)

sdbserver2:/ #

从10步骤开始,在另外一台服务器上进行安装协调节点

安装好后,在监控web界面可以看到如下界面,三台服务器节点已经可以在web中看到。

   

在整个过程中,创建了两个逻辑组,具体逻辑组的概念可以参考官方文档。
 

在监控中,可以看到数据视图和实时视图的变化,可以时刻看到这些数据的变化。







采用shell查看配置的节点信息如下:

sdbserver1:~ # /opt/sequoiadb/bin/sdb

Welcome to SequoiaDB shell!

help() for help, Ctrl+c or quit to exit

> var db = new Sdb("192.168.25.151",50000)

Takes 0.8264s.

Takes 0.7635s.

> db.listReplicaGroups();

{

  "Group": [

    {

      "dbpath": "/opt/sequoiadb/database/cata/30000",

      "HostName": "sdbserver1",

      "Service": [

        {

          "Type": 0,

          "Name": "30000"

        },

        {

          "Type": 1,

          "Name": "30001"

        },

        {

          "Type": 2,

          "Name": "30002"

        },

        {

          "Type": 3,

          "Name": "30003"

        }

      ],

      "NodeID": 1

    },

    {

      "HostName": "sdbserver2",

      "dbpath": "/opt/sequoiadb/database/cata/30000",

      "Service": [

        {

          "Type": 0,

          "Name": "30000"

        },

        {

          "Type": 1,

          "Name": "30001"

        },

        {

          "Type": 2,

          "Name": "30002"

        },

        {

          "Type": 3,

          "Name": "30003"

        }

      ],

      "NodeID": 4

    },

    {

      "HostName": "sdbserver3",

      "dbpath": "/opt/sequoiadb/database/cata/30000",

      "Service": [

        {

          "Type": 0,

          "Name": "30000"

        },

        {

          "Type": 1,

          "Name": "30001"

        },

        {

          "Type": 2,

          "Name": "30002"

        },

        {

          "Type": 3,

          "Name": "30003"

        }

      ],

      "NodeID": 5

    }

  ],

  "GroupID": 1,

  "GroupName": "SYSCatalogGroup",

  "PrimaryNode": 1,

  "Role": 2,

  "Status": 1,

  "Version": 7,

  "_id": {

    "$oid": "526e1ae519b8314ddc83b1f4"

  }

}

{

  "Group": [

    {

      "HostName": "sdbserver1",

      "dbpath": "/opt/sequoiadb/database/data/51000",

      "Service": [

        {

          "Type": 0,

          "Name": "51000"

        },

        {

          "Type": 1,

          "Name": "51001"

        },

        {

          "Type": 2,

          "Name": "51002"

        }

      ],

      "NodeID": 1000

    },

    {

      "HostName": "sdbserver2",

      "dbpath": "/opt/sequoiadb/database/data/51000",

      "Service": [

        {

          "Type": 0,

          "Name": "51000"

        },

        {

          "Type": 1,

          "Name": "51001"

        },

        {

          "Type": 2,

          "Name": "51002"

        }

      ],

      "NodeID": 1001

    },

    {

      "HostName": "sdbserver3",

      "dbpath": "/opt/sequoiadb/database/data/51000",

      "Service": [

        {

          "Type": 0,

          "Name": "51000"

        },

        {

          "Type": 1,

          "Name": "51001"

        },

        {

          "Type": 2,

          "Name": "51002"

        }

      ],

      "NodeID": 1002

    }

  ],

  "GroupID": 1000,

  "GroupName": "datagroup1",

  "PrimaryNode": 1002,

  "Role": 0,

  "Status": 1,

  "Version": 4,

  "_id": {

    "$oid": "526e1d4519b8314ddc83b1f5"

  }

}

Return 2 row(s).

Takes 0.25536s.


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10701850/viewspace-1061116/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10701850/viewspace-1061116/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值