您的位置:首页 > 数据库

巨杉数据库SequoiaDB的安装部署

2017-07-02 12:52 507 查看
巨杉数据库为国产数据库,官方自称为分布式NewSQL数据库,语法类似于mongodb。连一些内部的机制都很相似。
如mongodb的ObjectId由Time,Machine,PID,INC构成,而sdb的ObjectId由Time,Machine,INC构成,构造方法为org.bson.types.ObjectId.ObjectId(Date time, int machine, int inc)。
如巨杉的ObjectId类中,可以查到带有mongod的方法:ObjectId.babbleToMongod(arg0)
总之巨杉跟mongodb有着很大的渊源,这里就不展开了。

在部署的时候主要有三大步骤:
1.主机配置,所有节点都建议配置。
2.数据库软件安装,所有节点都需安装。
3.数据库集群配置,在其中的一个节点即可。

--主机配置
[root@node1 ~]$ vi /etc/security/limits.conf
#<domain>      <type>    <item>     <value>
*                    soft        core             0
*                    soft        data             unlimited
*                    soft       fsize             unlimited
*                    soft         rss             unlimited
*                    soft          as             unlimited

[root@node1 ~]$  vi  /etc/security/limits.d/90-nproc.conf
#<domain>      <type>    <item>     <value>
*                   soft       nproc             unlimited

cat /proc/sys/vm/dirty_ratio
cat /proc/sys/vm/dirty_background_ratio
cat /proc/sys/vm/dirty_expire_centisecs
cat /proc/sys/vm/vfs_cache_pressure
cat /proc/sys/vm/min_free_kbytes

[root@node1 ~]$ cat /proc/sys/vm/dirty_ratio
20
[root@node1 ~]$ cat /proc/sys/vm/dirty_background_ratio
10
[root@node1 ~]$ cat /proc/sys/vm/dirty_expire_centisecs
3000
[root@node1 ~]$ cat /proc/sys/vm/vfs_cache_pressure
100
[root@node1 ~]$ cat /proc/sys/vm/min_free_kbytes
45056

[root@node1 ~]$ vi /etc/sysctl.conf 
#vm.swappiness = 0
vm.dirty_ratio = 100
vm.dirty_background_ratio = 40
vm.dirty_expire_centisecs = 3000
vm.vfs_cache_pressure = 200
#vm.min_free_kbytes = 1000000   

当数据库可用物理内存不足 8GB 时不需使用 vm.swappiness = 0;
vm.min_free_kbytes为<物理内存大小的8%,单位KB>

[root@node1 ~]$  /sbin/sysctl -p

--关闭防火墙,或开通下面部署时需要的端口
chkconfig |grep ip
service iptables stop
chkconfig iptables off

--配置主机映射
vi /etc/hosts
192.168.239.129 node1
192.168.239.135 node2
192.168.239.136 node3

--创建数据库
[root@node1 ~]$ su - root
[root@node1 ~]# ./sequoiadb-1.12.5-linux_x86_64-installer.run --SMS false
Language Selection

Please select the installation language
[1] English - English
[2] Simplified Chinese - 简体中文
Please choose an option [1] : 2
----------------------------------------------------------------------------
由BitRock InstallBuilder评估本所建立

欢迎来到 SequoiaDB Server 安装程序

重要信息:请仔细阅读

下面提供了两个许可协议。

1. SequoiaDB 评估程序的最终用户许可协议
2. SequoiaDB 最终用户许可协议

如果被许可方为了生产性使用目的(而不是为了评估、测试、试用“先试后买”或演示)获得本程序,单击下面的“接受”按钮即表示被许可方接受 SequoiaDB 最终用户许可协议,且不作任何修改。

如果被许可方为了评估、测试、试用“先试后买”或演示(统称为“评估”)目的获得本程序:单击下面的“接受”按钮即表示被许可方同时接受(i)SequoiaDB 评估程序的最终用户许可协议(“评估许可”),且不作任何修改;和(ii)SequoiaDB 最终用户程序许可协议(SELA),且不作任何修改。

在被许可方的评估期间将适用“评估许可”。

如果被许可方通过签署采购协议在评估之后选择保留本程序(或者获得附加的本程序副本供评估之后使用),SequoiaDB 评估程序的最终用户许可协议将自动适用。

“评估许可”和 SequoiaDB 最终用户许可协议不能同时有效;两者之间不能互相修改,并且彼此独立。

这两个许可协议中每个协议的完整文本如下。

评估程序的最终用户许可协议

[1] 同意以上协议: 了解更多的协议内容,可以在安装后查看协议文件
[2] 查看详细的协议内容
请选择一个选项 [1] : 1

----------------------------------------------------------------------------
同意以上协议

按 [Enter] 继续 :        --回车

您接受这个软件授权协议吗? [y/n]: y

----------------------------------------------------------------------------
请指定 SequoiaDB Server 将会被安装到的目录

安装目录 [/opt/sequoiadb]:  

----------------------------------------------------------------------------
数据库管理用户配置

配置用于启动SequoiaDB的用户名和密码

用户名 [sdbadmin]:

密码 [********] :           --回车
确认密码 [********] :        --回车
配置SequoiaDB集群管理服务端口,集群管理用于远程启动添加和启停数据库节点

端口 [11790]:

是否允许Sequoiadb相关进程开机自启动

Sequoiadb相关进程开机自启动 [Y/n]: Y

是否安装OM服务 [y/N]: y

----------------------------------------------------------------------------
设定现在已经准备将 SequoiaDB Server 安装到您的电脑.

您确定要继续? [Y/n]: Y

----------------------------------------------------------------------------
正在安装 SequoiaDB Server 于您的电脑中,请稍候.

安装中
0% ______________ 50% ______________ 100%
#########################################

----------------------------------------------------------------------------
安装程序已经完成安装 SequoiaDB Server 于你的电脑中.

--配置环境变量
[root@node1 root]# vi /etc/profile
export SDB_HOME=/data1/sequoiadb
export PATH=$PATH:${SDB_HOME}/bin

[root@node1 ~]$ ps -ef|grep sdb
sdbadmin  14533      1  0 23:00 ?        00:00:00 sdbcmd                                                                                                                                                                                                                     
sdbadmin  14535      1  0 23:00 ?        00:00:00 sdbcm(11790)                                                                                                                                                                                                               
sdbadmin  14548      1  4 23:00 ?        00:00:06 sdbom(11780)                                                                                                                                                                                                               
root      14618  14594  0 23:02 pts/0    00:00:00 su - sdbadmin
sdbadmin  14624  14618  0 23:02 pts/0    00:00:00 -bash
sdbadmin  14647  14624  0 23:02 pts/0    00:00:00 sdb
root    14677  14653  0 23:03 pts/1    00:00:00 grep sdb

数据库软件安装完需要3.6G空间
集群模式全部安装完,node1需要8.1G,其他节点需要7.8G空间

--集群安装

主机node1的安装目录是:/opt/sequoiadb

[root@node1 ~]$ su - sdbadmin
-bash-4.1$ sdb
> var oma = new Oma("localhost", 11790)             --建立临时的coord协调进程
> oma.createCoord(18800, "/opt/sequoiad
4000
b/database/coord/18800")
> oma.startNode(18800)

> var db = new Sdb("localhost",18800)     --new一个db,后面创建都是通过db

> db.createCataRG("node1", 11800, "/opt/sequoiadb/database/cata/11800")
> var cataRG = db.getRG("SYSCatalogGroup");
> var node2 = cataRG.createNode("node2", 11800,"/opt/sequoiadb/database/cata/11800")        --catalognode
> var node3 = cataRG.createNode("node3", 11800,"/opt/sequoiadb/database/cata/11800")
> node2.start()
> node3.start()

> var dataRG = db.createRG("datagroup")
> dataRG.createNode("node1", 11820, "/opt/sequoiadb/database/data/11820")        --datanode
> dataRG.createNode("node2", 11820, "/opt/sequoiadb/database/data/11820")
> dataRG.createNode("node3", 11820, "/opt/sequoiadb/database/data/11820")
> dataRG.start()

> var rg = db.createCoordRG()
> rg.createNode("node1", 11810, "/opt/sequoiadb/database/coord/11810")       --coordnode
> rg.createNode("node2", 11810, "/opt/sequoiadb/database/coord/11810")
> rg.createNode("node3", 11810, "/opt/sequoiadb/database/coord/11810")
> rg.start()

> var oma = new Oma("localhost", 11790)           
> oma.removeCoord(18800)      --删除临时的coord协调进程

var db = new Sdb("localhost",11810)

-bash-4.1$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_node1-lv_root
                       18G  4.4G   12G  27% /
tmpfs                 908M   72K  908M   1% /dev/shm
/dev/sda1             477M   37M  415M   9% /boot
/dev/sdb1              20G  7.8G   11G  42% /data1      --全部安装完需要7.8G空间

[root@node1 ~]$ ps -ef|grep sdb
sdbadmin  14894      1  0 Apr03 ?        00:00:06 sdbcmd                                                                                 
sdbadmin  14898      1  0 Apr03 ?        00:00:37 sdbcm(11790)                                                                           
sdbadmin  14914      1  0 Apr03 ?        00:01:23 sdbom(11780)                                                                          
root      15350  15317  0 Apr03 pts/0    00:00:00 su - sdbadmin
sdbadmin  15356  15350  0 Apr03 pts/0    00:00:00 -bash
sdbadmin  15383  15356  0 Apr03 pts/0    00:00:00 sdb
sdbadmin  15435      1  3 Apr03 ?        00:00:25 sequoiadb(11800) C          --catalognode  
sdbadmin  15493      1  2 00:01 ?        00:00:09 sequoiadb(11820) D          --datanode   
sdbadmin  15518      1  0 00:03 ?        00:00:01 sequoiadb(11810) S          --coordnode  
root    15534  15392  1 00:07 pts/1    00:00:00 grep sdb

> dataRG.start()
ps -ef|grep sdb  --启动的时候相当于是执行下面的脚本
sdbadmin  15347  15049  3 00:11 ?        00:00:00 /opt/sequoiadb/bin/sdbstart --confpath /opt/sequoiadb/bin/../conf/local/11850
sdbadmin  15350  15347 32 00:11 ?        00:00:03 /opt/sequoiadb/bin/sequoiadb --confpath /opt/sequoiadb/bin/../conf/local/11850 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息