Sequoia DB巨杉數據庫作爲分佈式數據庫,由數據庫存儲引擎與數據庫實例兩大模塊組成。前面介紹了Sequoia DB巨杉數據庫集羣的部署以及MySQL實例的安裝,下面將繼續就以下主題進行介紹。
1 安裝目錄詳解
1.1 SequoiaDB安裝目錄
SequoiaDB巨杉數據庫的默認安裝目錄爲/opt/sequoiadb/,安裝完成後可以看到目錄如下:
[sdbadmin@sdbserver1 ~]$ ll -tr /opt/sequoiadb/
total 5768
-rw-r--r-- 1 sdbadmin sdbadmin_group 583 Nov 15 00:02 version.conf
-rw-r--r-- 1 sdbadmin sdbadmin_group 7528 Nov 15 00:02 sequoiadb
-rwxr-xr-x 1 sdbadmin sdbadmin_group 255 Nov 15 00:02 preUninstall.sh
-rw-r--r-- 1 sdbadmin sdbadmin_group 549 Nov 15 00:02 om_ver.conf
-rwxr-xr-x 1 sdbadmin sdbadmin_group 5156 Nov 15 00:02 install_om.sh
-rwxr-xr-x 1 sdbadmin sdbadmin_group 7078 Nov 15 00:02 compatible.sh
drwxr-xr-x 10 sdbadmin sdbadmin_group 4096 Mar 28 10:06 samples
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:06 license
drwxr-xr-x 11 sdbadmin sdbadmin_group 4096 Mar 28 10:06 www
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:06 hadoop
drwxr-xr-x 7 sdbadmin sdbadmin_group 4096 Mar 28 10:06 web
drwxr-xr-x 8 sdbadmin sdbadmin_group 4096 Mar 28 10:06 tools
drwxr-xr-x 3 sdbadmin sdbadmin_group 4096 Mar 28 10:06 java
drwxr-xr-x 3 sdbadmin sdbadmin_group 4096 Mar 28 10:06 doc
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:06 spark
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:06 postgresql
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:06 python
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:06 CSharp
drwxr-xr-x 3 sdbadmin sdbadmin_group 4096 Mar 28 10:06 bin
drwxr-xr-x 3 sdbadmin sdbadmin_group 4096 Mar 28 10:06 include
drwxr-xr-x 3 sdbadmin sdbadmin_group 4096 Mar 28 10:06 lib
drwxr-xr-x 6 sdbadmin sdbadmin_group 4096 Mar 28 10:07 conf
drwxr-xr-x 3 sdbadmin sdbadmin_group 4096 Mar 28 10:07 plugins
-rw-r--r-- 1 root root 59923 Mar 28 10:07 uninstall.dat
-rwx------ 1 sdbadmin sdbadmin_group 5725350 Mar 28 10:07 uninstall
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:07 rollback
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:07 packet
drwxr-xr-x 6 sdbadmin sdbadmin_group 4096 Mar 28 10:24 database
說明:
- uninstall:集羣卸載可執行文件;
- bin:主要防止系統的必備可執行文件;
- conf:配置文件目錄,主要包含數據庫節點的配置目錄、集羣管理服務進程sdbcm的配置文件和日誌目錄;
- hadoop:與hadoop、hive對接的驅動連接器;
- spark:與spark對接的驅動連接器;
- java、CSharp、python:各自語言的驅動包;
- samples:示例;
- tools:存放各種工具;
1.2 SequoiaDB數據目錄
SequoiaDB巨杉數據庫的數據目錄時在部署節點時指定的,下面以數據節點目錄進行說明。
1)查找本機已部署數據節點;
[sdbadmin@sdbserver1 ~]$ sdblist -l -r data
Name SvcName Role PID GID NID PRY GroupName StartTime DBPath
sequoiadb 11820 data 2290 1000 1000 Y group1 2020-03-29-21.57.26 /opt/sequoiadb/database/data/11820/
sequoiadb 11830 data 2296 1001 1001 Y group2 2020-03-29-21.57.26 /opt/sequoiadb/database/data/11830/
sequoiadb 11840 data 2302 1002 1002 Y group3 2020-03-29-21.57.26 /opt/sequoiadb/database/data/11840/
Total: 3
2)進入其中一個數據節點並查看內容;
[sdbadmin@sdbserver1 ~]$ ll -tr /opt/sequoiadb/database/data/11820/
total 598292
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:24 tmp
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:24 diaglog
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:24 bakfile
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:24 archivelog
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:24 replicalog
-rw-r----- 1 sdbadmin sdbadmin_group 151060480 Mar 29 04:15 SYSSTAT.1.idx
-rw-r----- 1 sdbadmin sdbadmin_group 155254784 Mar 29 04:15 SYSSTAT.1.data
-rw-r----- 1 sdbadmin sdbadmin_group 151060480 Mar 29 04:15 company.1.idx
-rw-r----- 1 sdbadmin sdbadmin_group 155254784 Mar 29 04:15 company.1.data
說明:
- replicalog:存放同步日誌;
- diaglog:節點日誌記錄;
- bakfile:默認的備份文件存放路徑;
- archivelog:歸檔日誌目錄;
1.3 MySQL示例安裝目錄
SequoiaSQL-MySQL示例默認安裝目錄爲/opt/sequoiasql/mysql/,目錄內容爲:
[sdbadmin@sdbserver1 ~]$ ll /opt/sequoiasql/mysql/
total 5568
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:12 bin
-rw-r--r-- 1 sdbadmin sdbadmin_group 32 Mar 28 10:12 checksum.md5
-rwxr-xr-x 1 sdbadmin sdbadmin_group 3234 Nov 14 23:21 compatible.sh
drwxr-xr-x 6 sdbadmin sdbadmin_group 4096 Mar 28 10:24 conf
-rw-r--r-- 1 sdbadmin sdbadmin_group 17987 Dec 21 2018 COPYING
drwxr-xr-x 3 sdbadmin sdbadmin_group 4096 Mar 28 10:24 database
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:12 docs
drwxr-xr-x 3 sdbadmin sdbadmin_group 4096 Mar 28 10:12 include
drwxr-xr-x 4 sdbadmin sdbadmin_group 4096 Mar 28 10:12 lib
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:12 license
drwxr-xr-x 4 sdbadmin sdbadmin_group 4096 Mar 28 10:12 man
-rw-r--r-- 1 sdbadmin sdbadmin_group 22096 Mar 29 21:57 myinst.log
-rwxr-xr-x 1 sdbadmin sdbadmin_group 255 Nov 14 23:21 preUninstall.sh
-rw-r--r-- 1 sdbadmin sdbadmin_group 2478 Dec 21 2018 README
drwxr-xr-x 28 sdbadmin sdbadmin_group 4096 Mar 28 10:12 share
drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Mar 28 10:12 support-files
drwxr-xr-x 4 sdbadmin sdbadmin_group 4096 Mar 28 10:12 tools
-rwx------ 1 sdbadmin sdbadmin_group 5574262 Mar 28 10:12 uninstall
-rw-r--r-- 1 root root 14630 Mar 28 10:12 uninstall.dat
-rw-r--r-- 1 sdbadmin sdbadmin_group 3 Mar 28 10:12 version.info
2 命令行管理控制檯
2.1 查看巨杉數據庫版本
[sdbadmin@sdbserver1 ~]$ sequoiadb --version
SequoiaDB version: 3.4
Release: 32435
Git version: 485380326b0177244669df7906454a753a7fb900
2019-11-14-23.37.58
2.2 查看節點啓動列表
[sdbadmin@sdbserver1 ~]$ sdblist
sequoiadb(11800) (2287) C
sequoiadb(11820) (2290) D
sequoiadb(11810) (2293) S
sequoiadb(11830) (2296) D
sequoiadb(11840) (2302) D
Total: 5
C、S、D指節點的角色,分佈代表編目節點、協調節點和數據節點;
[sdbadmin@sdbserver1 ~]$ sdblist -l -m local
Name SvcName Role PID GID NID PRY GroupName StartTime DBPath
sequoiadb 11810 coord 5509 2 2 Y SYSCoord 2020-03-29-22.42.25 /opt/sequoiadb/database/coord/11810/
sequoiadb 11830 data 5513 1001 1001 Y group2 2020-03-29-22.42.25 /opt/sequoiadb/database/data/11830/
sequoiadb 11820 data 8275 1000 1000 Y group1 2020-03-29-22.44.11 /opt/sequoiadb/database/data/11820/
sequoiadb 11800 catalog 5519 1 1 Y SYSCatalogGroup 2020-03-29-22.42.25 /opt/sequoiadb/database/catalog/11800/
sequoiadb 11840 data 5523 1002 1002 Y group3 2020-03-29-22.42.25 /opt/sequoiadb/database/data/11840/
Total: 5
2.3 啓停資源管理節點
資源管理節點sdbcm(SequoiaDB Cluster Manager)是一個守護進程,它以服務的方式常駐系統後臺。SequoiaDB的所有集羣管理操作都必須有sdbcm的參與,目前每一臺物理機器上只能啓動一個sdbcm進程,負責執行遠程的集羣管理命令和監控本地的SequoiaDB數據庫。sdbcm主要有兩大功能:
- 遠程啓動、關閉、創建和修改節點:通過SequoiaDB客戶端或驅動連接器連接數據庫時,可以執行啓動、關閉、創建和修改節點的操作,該操作向指定節點物理機器上的sdbcm發送遠程命令,並得到sdbcm的執行結果;
- 本地監控:對於通過sdbcm啓動的節點,都會維護一張節點列表,其中保存了所有本地節點的服務名和啓動信息,如啓動時間、運行狀態等。如果某個節點是非正常終止的,如進程被強制終止,引擎易場推出等,sdbcm會嘗試重啓該節點。
1)停止sdbcm;
[sdbadmin@sdbserver1 ~]$ sdbcmtop
Terminating process 29893: sdbcm(11790)
DONE
Successful to stop sdbcm
2)啓動sdbcm;
[sdbadmin@sdbserver1 ~]$ sdbcmart
Success: sdbcmd is successfully started (30778)
Success: sdbcm(11790) is successfully started (30780)
3 啓停集羣和節點
sdbcm服務啓動後會自動啓動該物理機中所有註冊在 /opt/sequoiadb/conf/local/目錄下的節點,使用命令ps -elf|grep sequoiadb或sdblist -t all能看到當前正在啓動的節點與啓動完畢的節點。
3.1 停止集羣
[sdbadmin@sdbserver1 ~]$ sdbstop --all
Terminating process 26986: sdbom(11780)
DONE
Terminating process 26989: sequoiadb(11800)
DONE
Terminating process 26992: sequoiadb(11810)
DONE
Terminating process 26995: sequoiadb(11820)
DONE
Terminating process 26998: sequoiadb(11830)
DONE
Terminating process 27001: sequoiadb(11840)
DONE
Total: 6; Success: 6; Failed: 0
3.2 啓動集羣
[sdbadmin@sdbserver1 ~]$ sdbstart -t all
Success: sequoiadb(11810) is successfully started (5509)
Success: sequoiadb(11830) is successfully started (5513)
Success: sequoiadb(11820) is successfully started (5516)
Success: sequoiadb(11800) is successfully started (5519)
Success: sequoiadb(11840) is successfully started (5523)
Success: sdbom(11780) is successfully started (5527)
Total: 6; Succeed: 6; Failed: 0
3.3 停止節點
[sdbadmin@sdbserver1 ~]$ sdbstop -p 11820
Terminating process 5516: sequoiadb(11820)
DONE
Total: 1; Success: 1; Failed: 0
3.4 啓動節點
[sdbadmin@sdbserver1 ~]$ sdbstart -p 11820
Success: sequoiadb(11820) is successfully started (8275)
Total: 1; Succeed: 1; Failed: 0
4 SequoiaDB Shell啓停數據組
除了在Linux命令行中進行節點管理,SequoiaDB Shell交互界面同樣支持管理節點。
1)進入SequoiaDB Shell交互界面;
[sdbadmin@sdbserver1 ~]$ sdb
Welcome to SequoiaDB shell!
help() for help, Ctrl+c or quit to exit
>
2)使用JavaScript連接協調節點,並獲取數據庫連接;
> var db=new Sdb('localhost',11810)
Takes 0.006333s.
3)停止數據組;
> db.stopRG('group1','group2')
Takes 11.051532s.
4)啓動數據組;
> db.startRG('group1','group2')
Takes 4.051254s.