系统的部署
1、集群中,SDB只认主机名,而不认IP,所以最首先的一步,是先修改好集群内的每个主机名。 并且在每个服务器内的/etc/hosts文件中建立好相应的映射。
2、在其中一台服务器中安装好SDB后,就可以通过访问其WEB UI页面进行集群的部署。
安装步骤:
- 解压 tar -zxvf sequoiaDB.tar.gz
- 增加权限 chmod a+x sequouaDB.run
- ./chmod a+x sequouaDB.run --SMS true --mode text
3、进入图形界面后,就可以进行一键式集群部署。
4、节点:
- 协调节点C(11810)
- 编目节点S(11820)
- 数据节点D(11830)
- 数据节点D(11830)
- 资源管理节点cm(11790)
SDB的图形界面的基础操作
1、创建集合空间:—数据库
2、创建集合:—表
3、插入记录:—行
4、创建数据域(domain):
命令行:
bin/sdb
db = new Sdb()
db.createDomain(“domainName”, [“group1”, “group2”], {AutoSplit: true})
- 注意:数据域只支持水平散列分区的方式,去打散数据。
节点的启停 - 命令行:
sdbadmin用户:
bin/sdbcmart -t all + bin/sdbstart -t all 启动
bin/sdbcmtop -t all + bin/sdbstop -t all 停止
bin/sdblist -t all 查看所有的sdb节点
root用户:
service sdbcm stop 全部停止
service sdbcm start 全部启动
serevice sdbcm restart 仅重启sdbcm
对远端的机器控制:启停数据节点dataNode
bin/sdb
db = new Sdb()
var list = ["group1", "group2"];
for(var i = 0; i <= list.length; i++){
var rg = db.getRG(list[i]);
rg.stop() ; //如果是启动,则使用rg.start();
}
命令行中操作数据库
bin/sdb
db = new Sdb()
db.list(4) // 获取集合list
db.list(5) // 获取集合空间list
var CS = db.createCS("foo"); // 创建集合空间
var t = db.getCS("foo") // 若忘记获取句柄,可以通过getCS()获取
var CL = CS.createCL("bar") // 创建集合
CL.help() // 获取帮助信息
CL.insert() // 插入
// 或者用以下方式操作CL
db.foo.bar.insert({name:'a1', time:'20190102'})
var cursor = db.foo.bar.find()
cursor.help()
cursor.current() // 获取当前记录
cursor.next() // 获取下条记录,此时cursor游标指向下条记录了
cursor.current().toJson() // 返回Json字符串
cursor.current().toObj() // 返回一个Object,可操作
cursor.current().toObj()["name"] // 操作返回的Obj,使其返回name值
db.foo.bar.find().sort(["id"]) // 根据id进行sort
db.foo.bar.count({id:1}) // 返回id为1记录条数