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/