數據庫的高可用是指最大程度地爲用戶提供服務,避免服務器宕機等故障帶來的服務中斷。數據庫的高可用性不單單體如今數據庫可否持續提供服務,並且也體如今可否保證數據的一致性。java
Note:1)當主節點宕機時,須要從備節點中選舉出一個新的節點做爲新的主節點。2)當備節點宕機時,主節點不受影響,等備節點恢復後,經過日誌同步繼續與主節點保持數據一致便可。
本身不是主節點mysql
剩下的備節點佔半數以上算法
本身的LSN比其它備節點的LSN新sql
查看服務器集羣狀態數據庫
# service sdbcm status
.....
Main PID: 803 (sdbcm)
Tasks: 205 (limit: 2319)
CGroup: /system.slice/sdbcm.service
├─ 779 sdbcmd├─ 803 sdbcm(11790)
├─1166 sequoiadb(11840) D
├─1169 sequoiadb(11810) S
├─1172 sequoiadb(11830) D
├─1175 sdbom(11780)
├─1178 sequoiadb(11820) D
├─1181 sequoiadb(11800) C
└─1369 /opt/sequoiadb/plugins/SequoiaSQL/bin/../../../java/jdk/bin/java -jar /opt/sequoiadb/plugins/SequoiaSQL
.....複製代碼
SequoiaDB 分佈式集羣中數據節點端口在11820,11830,11840;編目節點11800,協調節點在11810bash
sdbadmin@sequoiadb:~$ ps -ef|grep sequoiadb
sdbadmin 1166 1 0 Aug20 ? 00:02:23 sequoiadb(11840) D
sdbadmin 1169 1 0 Aug20 ? 00:01:43 sequoiadb(11810) S
sdbadmin 1172 1 0 Aug20 ? 00:02:24 sequoiadb(11830) D
sdbadmin 1178 1 0 Aug20 ? 00:02:33 sequoiadb(11820) D
sdbadmin 1181 1 0 Aug20 ? 00:04:01 sequoiadb(11800) C複製代碼
kill 掉11820的主節點,執行查詢和寫入sql服務器
sdbadmin@sequoiadb:~$ kill 1178
sdbadmin@sequoiadb:~$ ps -ef|grep sequoiadb
sdbadmin 1166 1 0 Aug20 ? 00:02:24 sequoiadb(11840) D
sdbadmin 1169 1 0 Aug20 ? 00:01:43 sequoiadb(11810) S
sdbadmin 1172 1 0 Aug20 ? 00:02:24 sequoiadb(11830) D
sdbadmin 1181 1 0 Aug20 ? 00:04:01 sequoiadb(11800) C
sdbadmin 1369 1 0 Aug20 ? 00:01:33 /opt/sequoiadb....複製代碼
執行查看 sql,查看插入操做以前數據爲121架構
mysql> select * from news.user_info;
+------+-----------+
| id | unickname |
+------+-----------+
| 1 | test1 |
........
| 119 | test119 |
| 120 | test120 |
| 121 | test121 |
+------+-----------+
121 rows in set (0.01 sec)複製代碼
執行寫入 sql,查看插入是否成功分佈式
mysql> insert into news.user_info(id,unickname)values(122,"success");
Query OK, 1 row affected (0.00 sec)
mysql> commit;
Query OK, 0 rows affected (0.01 sec)
mysql> select * from news.user_info;
+------+-----------+
| id | unickname |
+------+-----------+
| 1 | test1 |
.........
| 120 | test120 |
| 121 | test121 |
| 122 | success |
+------+-----------+
122 rows in set (0.00 sec)複製代碼
Note:若是須要獲取 imprt.sh 腳本,關注「巨杉數據庫」公衆號回覆 「imprt」 便可獲取。
執行導入數據腳本性能
./imprt.sh 協調節點主機 協調節點端⼝ 次數./imprt.sh 192.168.1.122 11810 100複製代碼
如圖5所示,在執行導入數據時刻,kill 掉主數據節點,insert 寫入降低,以後集羣恢復高可用