基本資訊
此手冊基於關係叢集資料庫產品 HHDB Server - V14.0.0版本編寫,主要說明計算節點的基本使用方法及操作流程,供使用者參考與學習。
此手冊中部分功能可結合關係叢集資料庫視覺化管理平臺(以下簡稱管理平臺)共同使用,若需瞭解管理平臺的使用方法,請參考管理平臺文件。
計算節點提供基於MySQL原生複製功能解決計算節點跨機房容災問題的解決方案,能夠實現跨機房資料同步以及解決跨機房關係叢集資料庫服務容災的問題。此標準文件僅詳細介紹計算節點在單機房模式的功能與特性,若要了解容災模式下的功能與特性,請參考跨機房容災部署文件。
部分截圖的版本細節差異無需特別關注,以文件描述的版本號為準。文件內容較多,建議開啟文件結構圖,方便閱讀。
計算節點簡述
HHDB Server是一款實現資料容量和效能橫向擴充套件的關係叢集資料庫產品,可解決實時交易業務系統的"兩大三高"(即大規模使用者、大規模資料、高可用、高併發、高吞吐)問題。
HHDB Server能為應用提供集中式資料庫的操作體驗,同時提供資料安全、資料容災、資料恢復、不停機線上擴容、叢集監控、智慧拓撲、智慧大屏等整套解決方案。
HHDB Server支援將一張表水平切分成多份,分別存入不同的資料庫來實現資料的水平分片,此外也支援垂直拆分和全域性表。HHDB Server提供多種表資料分片規則,使用者可根據業務需要,使用合適的資料分片規則。
HHDB Server基於Java NIO、MySQL協議研發,支援資料庫連線的多路複用,具有更好的併發效能。
HHDB Server提供資料庫服務自動切換功能,可有效地解決資料庫單點故障問題。
與計算節點配套使用的管理平臺也是產品重要組成部分。
計算節點元件架構
關係叢集資料庫HHDB Server叢集是由一組計算節點、儲存節點、管理平臺、配置庫組成的資料庫管理系統。
計算節點: 計算節點是關係叢集資料庫HHDB Server叢集體系的核心,主要提供SQL解析、路由分發、結果集合並等關係叢集資料庫的核心控制功能,是整個服務的命脈所在。
儲存節點: 儲存節點提供資料的儲存功能,一個例項(IP+埠+物理庫)即為一個儲存節點。為了實現高可用和資料多副本功能,HHDB Server中將具有相同資料副本的一組(多個)儲存節點稱為一個資料節點。
資料節點: 資料節點是一組具有相同資料副本的儲存節點的統稱。資料節點可以是一個儲存節點 MGR叢集,也可以是一個儲存節點主從複製叢集。資料節點管理一組儲存節點(具有相同資料副本)的複製關係。資料節點在HHDB Server中作為一個分片資料存在,所有的資料節點一起構成HHDB Server的全量資料。
管理平臺: 關係叢集資料庫平臺(以下簡稱管理平臺),可實現對計算節點資料庫使用者、資料節點、表型別、分片規則等資訊的易用性配置,同時可提供計算節點服務狀態監控、異常事件提醒、報表檢視、任務管理等智慧運維相關服務。
配置庫: 負責儲存計算節點與管理平臺相關配置資訊。配置庫可透過主從或MGR進行高可用配置。
高可用: HHDB Server的計算節點可透過Keepalived實現高可用。Keepalived負責計算節點的主、備切換和VIP漂移。
負載均衡: HHDB Server的計算節點叢集模式可透過LVS/F5實現高可用和負載均衡。應用透過LVS的VIP訪問HHDB Server的關係叢集資料庫服務,關係叢集資料庫服務對應用程式透明,計算節點叢集中單個或多個節點故障對應用程式無影響。
HHDB Backup: 自研的關係叢集資料庫備份程式,負責業務資料的備份。
HHDB Listener: 自研的可拔插元件,需要單獨進行部署,並以獨立的程序執行,從而解決叢集強一致(XA)模式下的效能線性擴充套件問題。
計算節點
計算節點是資料服務提供端,預設服務埠為3323,登入命令如下:
mysql -uroot -proot -h127.0.0.1 -P3323
支援IPv6地址格式:
mysql -uroot -proot -h::1 -P3323
登陸後使用方法與使用MySQL資料庫一致,例如:
root> mysql -uroot -proot -h127.0.0.1 -P3323
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 515
Server version: 5.7.42 HHDB-14.0.0 HHDB Server
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> show databases;
+-----------------+
| DATABASE |
+-----------------+
| CLASSIC_LOGICDB |
| HotDB |
+-----------------+
2 rows in set (0.01 sec)
mysql> use CLASSIC_LOGICDB
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_CLASSIC_LOGICDB |
+---------------------------+
| customer |
+---------------------------+
1 row in set (0.03 sec)
應用程式連線計算節點與連線MySQL一致,只需修改應用中資料庫配置檔案的host、port、database、user、password資訊即可。計算節點支援不同開發平臺下的資料庫驅動、連線池,比如JAVA開發平臺的JDBC,c3p0、DHCP、DRUID連線池。下面是c3p0連線池的配置舉例:
<!-- 資料庫對映 -->
<!-- com.mchange.v2.c3p0.ComboPooledDataSource, org.apache.commons.dbcp.BasicDataSource -->
<bean id="dataSource1" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://192.168.137.101:**3323**/cloth?useLocalSessionState=true" /> <!--其中3323埠位置要修改為計算節點服務埠-->
<property name="user" value="root" />
<property name="password" value="$root" />
<property name="initialPoolSize" value="10" />
<property name="maxPoolSize" value="256" />
<property name="minPoolSize" value="10" />
<property name="maxIdleTime" value="1800" />
<property name="maxStatements" value="1000" />
</bean>
同時,計算節點預設管理埠為3325,在管理埠中可使用命令對當前服務進行監控與管理。若需要了解更多資訊,請參考管理端資訊監控。
管理平臺
管理平臺為計算節點提供使用者資訊、節點資訊、表資訊、分片等資訊的配置,預設埠為3324,在瀏覽器中輸入HTTP連結地址,即可訪問管理平臺(建議使用Chrome或者FireFox瀏覽器),如:http://192.168.200.191:3324/login.html。支援IPv6地址格式,http://[fc00::120]:3324/login.html
管理員使用者名稱與密碼都預設分別為:admin,DRDS_management@2013,其他使用者賬號由管理員建立,初始密碼為service_hotdb@hotdb.com。
計算節點快速配置
本節將描述快速配置關係叢集資料庫HHDB Server的方法。本節僅介紹必要的配置功能,用於達到快速入門的目的。如果需要了解更多的配置功能,請參考管理平臺文件。
在下面的例子中,將配置一個3個節點的資料分片,該分片使用名稱為"test"的邏輯庫,分片表名稱為"customer",分片欄位為"provinceid",自動分片表。
在配置HHDB Server前,請確保管理平臺與計算節點已經正常啟動,並且已經準備好了6個儲存節點(此例子中,將以配置雙主型別的資料節點為例,若只需要單庫的資料節點,只需要準備3個例項即可)。
登入管理平臺
在瀏覽器中輸入管理平臺的HTTP連結地址,並登入到管理平臺;HTTP連結地址通常為部署管理平臺的伺服器IP,埠預設為3324,如http://192.168.200.89:3324/login.html。
管理平臺提供了兩類使用者角色:超級管理員與普通使用者,超級管理員預設初始使用者名稱和密碼分別為:admin,DRDS_management@2013;普通使用者由超級管理員建立,預設密碼為:service_hotdb@hotdb.com。
超級管理員登入後主要有"計算節點叢集管理"、"使用者管理"功能,管理員可以建立、編輯計算節點叢集,並配置計算節點連線資訊,新增管理平臺使用者以及為使用者新增許可權等。
計算節點部署升級
服務授權
計算節點需要獲取正規的授權許可證,方能正常提供服務。如果需要了解如何獲取服務授權,請參考服務授權文件。
安裝部署與升級
部署HHDB Server,需要安裝JDK(JAVA執行環境)、MySQL資料庫軟體、USB KEY驅動包、計算節點、管理平臺,並配置一個例項作為計算節點的配置庫。部署用的伺服器,作業系統,推薦使用64位的CentOS 6.x。若需要了解HHDB Server的安裝、部署與升級,請參考安裝部署文件。
配置檔案
計算節點的配置檔案位於安裝目錄下的conf目錄,檔名稱為server.xml。如果需要了解計算節點引數,請參考計算節點引數說明。
server.xml的部分引數修改後需要重新啟動計算節點才能生效,部分引數修改後可透過"動態載入"生效。
如果計算節點引數說明章節中所列引數在server.xml中不存在,則說明該引數使用了預設值;如果想要調整某個引數值或增加某個引數,請在server.xml中增加如下程式碼,也可以透過管理平臺的"配置"->"計算節點引數"頁面新增。