天天看點

熱璞資料庫HotDB Server 安裝部署手冊

1. 部署環境

HotDB Server叢集部署對伺服器、作業系統、依賴軟體等有一定要求,不符合要求的環境部署出來的叢集可能無法使用或不滿足使用要求。建議部署前詳細了解HotDB Server叢集部署對環境的要求說明。

此文檔将較長的描述普通模式下,如何部署一套HotDB Server叢集。若要了解開啟災備模式後,相較于普通模式,需要特殊注意的地方,請參考《分布式事務資料庫HotDB Server【跨機房災備】功能使用手冊》中「安裝部署」章節。

1.1. 部署架構示意圖

熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊

*注:叢集單節點模式部署架構示意圖請參考“圖 1-1 叢集HA(主備)模式部署架構示意圖”,單節點模式中無“HotDB Server (standby)、VIP”部分,其餘與HA模式示意圖一緻。

1.2. 環境說明

  • 伺服器

    生産環境推薦使用實體機,測試環境可使用虛拟機。若需要做性能測試則必須使用實體機。

  • 作業系統

    推薦使用64 位的CentOS 6.x、7.x或RHEL 6.x、7.x,其他作業系統暫不支援。

    依賴軟體:運作HotDB Server(分布式事務資料庫)與HotDB Management(分布式事務資料庫管理平台)需要依賴JAVA環境。推薦在部署HotDB Server或HotDB Management的伺服器上安裝JDK1.7.0_80版本的環境。

  • 推薦配置

    硬體環境配置推薦參考《分布式事務資料庫産品HotDB Server硬體配置推薦—熱璞科技》

    叢集運作環境配置要求與推薦參考《分布式事務資料庫HotDB Server-【叢集環境要求說明】》

2. 部署

部署HotDB Server 叢集可通過線下手動安裝,也可以通過管理平台“叢集部署”或“單機部署”功能進行自動安裝。

2.1. 手動部署

以下将分别介紹單計算節點、HA(主備)模式的計算節點叢集手動部署方法,負載均衡模式的多計算節點叢集推薦使用“叢集部署”功能自動部署。

2.1.1. 單節點模式叢集部署

單節點部署教程所用環境以及部署元件說明如下所示:

部署環境:

項目 名稱
伺服器屬性 虛拟機
作業系統 CentOS Linux release 7.6.1810 (Core)
-MySQL版本- -MySQL 5.7.25-
JDK JDK1.7_80

部署元件:

元件名稱 安裝數量
計算節點 1
管理平台 1
–配置庫 1
存儲節點 4

注:各元件名稱說明可參考《分布式事務資料庫産品HotDB Server -【名詞解釋】功能使用手冊》文檔。

2.1.1.1. 計算節點

1. 安裝JDK

計算節點需要運作在JAVA環境中,若伺服器已安裝JDK則跳過此步驟。推薦使用64位的JDK1.7_80。從JAVA 官方網站擷取JDK 的 RPM 安裝包,并上傳至伺服器。

  • 執行下列指令,将 JDK 安裝到/usr/local/目錄下:

    # rpm -ivh jdk-7u80-linux-x64.rpm --prefix=/usr/java/

  • 配置JDK環境變量

    打開并編輯/etc/profile檔案:

    #vi /etc/profile

    在檔案末尾加入下列資訊:

    export JAVA_HOME=/usr/java/jdk1.7.0_80

    export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAH​OME/bin:PATH

    執行source指令,使新增的環境變量生效:

    #source /etc/profile

2. 檢測glibc

計算節點的服務授權需要安裝加密鎖的驅動包,該驅動包依賴于32位的glibc。是以在安裝計算節點之前必須檢測伺服器中是否包含32位的glibc。檢測出未安裝時需要手動安裝完成後再往下操作。

檢視伺服器glibc安裝情況:(有輸出glibc版本資訊為正常)

#rpm -q glibc |egrep 'glibc.i.86.

3. 安裝配置庫

配置庫可與計算節點安裝在同一台伺服器上,也可以分開單獨安裝。具體步驟參照“配置庫安裝說明”。

4. 服務授權

HotDB Server能正常啟動并提供服務需要通過熱璞科技正規的授權許可,可了解為需要license。具體服務授權說明請參考《分布式事務資料庫HotDB Server【服務授權】功能使用手冊》

5. 安裝計算節點

安裝計算節點,需要解壓計算節點安裝包,修改計算節點配置檔案server.xml,再導入配置庫表結構到安裝好的MySQL配置庫執行個體中。

将hotdb-server-2.5.0-xxx.tar.gz二進制包上傳至伺服器,建立HotDB Server的安裝目錄,并将HotDB Server解壓到安裝目錄。

#mkdir /usr/local/hotdb

#tar -zxvf hotdb-server-2.5.0-xxx.tar.gz -C /usr/local/hotdb/

配置庫表結構在計算節點的安裝目錄conf下,使用下列指令可導入表結構到配置庫中。(導入表結構,會建立配置庫hotdb_config)

#mysql –uroot --socket=/data/mysqldata3306/sock/mysql.sock < /usr/local/hotdb/hotdb-server/conf/hotdb_config.sql

- 添加配置庫賬戶

計算節點通路配置庫,需要在配置庫MySQL執行個體中添加通路賬号。登入配置庫執行下列MySQL語句,建立配置庫賬戶“hotdb_config”。

建立hotdb_config賬戶

create user ‘hotdb_config’@’%’ identified by ‘hotdb_config’;

賦予權限

GRANT select,insert,update,delete,create,drop,index,alter,reload,references,create temporary tables,super,lock tables,replication slave,replication client ON . TO ‘hotdb_config’@’%’;

7. 修改計算節點配置檔案

需要修改的配置檔案server.xml在計算節點的安裝目錄conf下。需要設定計算節點連接配接配置庫與端口号(若無特殊要求可直接用預設端口号)等參數。

#vi /usr/local/hotdb/hotdb-server/conf/server.xml

jdbc:mysql://192.168.200.1:3306/hotdb_config

hotdb_config

hotdb_config

3323

3325

**注:**若配置庫與計算節點安裝在同一伺服器上,server.xml中的配置庫IP位址也需要寫具體的IP值,不可用127.0.0.1代替。

8. 啟動與停止計算節點

計算節點的啟動腳本“hotdb_server”在計算節點的安裝目錄bin下。執行下列指令即可啟動或關閉

啟動計算節點服務

#cd /usr/local/hotdb/hotdb-server/bin

#sh hotdb_server start

檢視計算節點是否啟動成功

#jps | grep -i HotdbStartup

19833 HotdbStartup

停止計算節點服務

#kill 19833 或 sh hotdb_server stop

說明:

  • 啟動時若出現異常,在可安裝目錄logs下檢視計算節點日志“hotdb.log”。執行日志檢視指令:tail -f

    /usr/local/hotdb/hotdb-server/logs/hotdb.log。

  • 若伺服器未授權,或安裝的計算節點服務未經授權許可都會導緻計算節點服務啟動失敗。

2.1.1.2. 管理平台

1. 解壓管理平台安裝包

将hotdb-management-2.x.x-xxx.tar.gz二進制包上傳至伺服器安裝目錄,并執行以下指令。

#cd /usr/local/hotdb

#tar -zxvf hotdb-management-2.x.x-xxx.tar.gz

2. 導入管理平台配置庫表結構

管理平台配置庫可與計算節點配置庫共用一個MySQL執行個體,但生産環境中不建議共用。管理平台配置庫表結構在其安裝目錄doc下,使用導入配置指令前需要先在配置庫中建立管理平台連接配接配置庫的賬戶“hotdb_cloud”。

建立hotdb_cloud賬戶

create user ‘hotdb_cloud’@’%’ identified by ‘hotdb_cloud’;

賦予權限

GRANT select,insert,update,delete,create,drop,index,alter,references ON . TO ‘hotdb_cloud’@’%’;

導入管理平台配置到配置庫中

#mysql -uroot --socket=/data/mysqldata3306/sock/mysql.sock < /usr/local/hotdb/hotdb-management/doc/hotdb_cloud_config.sql

3. 修改管理平台配置檔案

修改的配置檔案在管理平台安裝目錄conf下為“application.properties”,主要修改管理平台對配置庫的連接配接資訊,使用端口以及管理平台的語言設定(若無特殊要求可直接用預設端口号和預設語言)。

編輯配置檔案

#vi /usr/local/hotdb/hotdb-management/conf/application.properties

修改參數資訊

#管理平台監聽端口

server.port=3324

#Hotdb Backup備份程式監聽端口

server.backup.port=3322

#HotDB Management配置庫位址

spring.datasource.url=jdbc:mysql://192.168.200.1:3306/hotdb_cloud_config?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&connectTimeout=3000

#HotDB Management配置庫使用者名

spring.datasource.username=hotdb_cloud

#HotDB Management配置庫密碼

spring.datasource.password=hotdb_cloud

#HotDB Management語言設定,預設為英語,若需要使用中文,則将其設定為Chinese

language=English/Chinese

4. 啟動與停止管理平台

管理平台的啟動腳本“hotdb_management”其安裝目錄bin下。執行下列指令即可啟動或停止管理平台服務。

進入啟動腳本目錄

#cd /usr/local/hotdb/hotdb-management/bin

啟動管理平台服務

#sh hotdb_management start

檢視服務是否啟動成功(啟動成功後可在浏覽器中打開并登陸管理平台)

#jps | grep -i hotdb-management

6595 hotdb-management-xxx.jar

關閉管理平台服務

#kill 6595 或 sh hotdb_management stop

2.1.1.3. 配置庫

配置庫實質上是一個标準的MySQL執行個體,用途主要為計算節點或管理平台存儲相關配置資訊。目前配置庫支援以單庫、雙主、MGR三種形式運作。

**說明:**以下将以RPM方式安裝一個端口号為3306的MySQL執行個體作為配置庫。其

他方式安裝請參考MySQL官方安裝說明。

下載下傳MySQL rpm包

從MySQL的官網下載下傳MySQL5.6.32的版本到伺服器,以下版本針對centos6.x系統推薦,其他系統可參

考官方說明下載下傳相應版本

http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.32-1.el6.x86_64.rpm

http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.32-1.el6.x86_64.rpm

http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.32-1.el6.x86_64.rpm

http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.32-1.el6.x86_64.rpm

http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-5.6.32-1.el6.x86_64.rpm

2. 解除安裝MariaDB

若作業系統中已安裝有MariaDB則需要解除安裝後才能安裝MySQL。查詢MariaDB安裝情況與解除安裝參照如下:

檢視是否安裝指令:

rpm -qa|grep mariadb

mariadb-libs-5.5.44-2.el7.centos.x86_64

解除安裝MariaDB指令:

um remove mariadb-libs-5.5.44-2.el7.centos.x86_64

3. 安裝MySQL rpm包

上傳MySQL rpm包到伺服器并執行rpm指令安裝MySQL

#yum -y localinstall –nogpgcheck MySQL-server-5.6.32-1.el6.x86_64.rpm MySQL-shared-compat-5.6.32-1.el6.x86_64.rpm MySQL-devel-5.6.32-1.el6.x86_64.rpm MySQL-client-5.6.32-1.el6.x86_64.rpm MySQL-shared-5.6.32-1.el6.x86_64.rpm

或者可以執行

#yum -y localinstall MySQL-*.rpm

4. MySQL配置檔案

将下列内容複制并替換伺服器的/etc/my.cnf檔案中的原有内容

[client]

default-character-set=utf8

[mysqld_safe]

ledir=/usr/sbin

user=mysql

open-files-limit=8192

[mysqld_multi]

mysqld = /usr/bin/mysqld_safe

user = root

log = /data/multi.log

[mysqld]

#common parameters

basedir=/usr

skip-federated

skip-blackhole

skip-name-resolve

skip_external_locking

flush=OFF

performance_schema=0

event-scheduler=ON

default-storage-engine=InnoDB

character_set_server=utf8

collation_server=utf8_general_ci

lower_case_table_names=1

explicit_defaults_for_timestamp

sql_mode=‘STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION’

user=mysql

port=3306

pid-file=/data/mysqldata3306/sock/mysql.pid

socket=/data/mysqldata3306/sock/mysql.sock

datadir=/data/mysqldata3306/mydata

tmpdir=/data/mysqldata3306/tmpdir

group_concat_max_len=1048576

back_log=1000

max_connections=8000

max_user_connections=7900

thread_cache_size=128

max_connect_errors=99999

wait_timeout=172800

interactive_timeout=172800

net_buffer_length=8K

max_allowed_packet=64M

max_heap_table_size=1G

tmp_table_size=2M

sort_buffer_size=8M

max_length_for_sort_data=16k

join_buffer_size=4M #bka

read_rnd_buffer_size=8M #mrr

table_open_cache=1024

table_open_cache_instances=16

query_cache_type=0

query_cache_size=0

#query_cache_limit=1M

#************************** Logs related settings ***************************

#general_log

general_log_file=/data/mysqldata3306/log/general.log

log-error=/data/mysqldata3306/log/error.log

long_query_time=1

slow_query_log

slow_query_log_file=/data/mysqldata3306/log/slow-query.log

#log_queries_not_using_indexes

log_warnings = 2

log-bin-index=/data/mysqldata3306/binlog/mysql-bin.index

log-bin=/data/mysqldata3306/binlog/mysql-bin

relay-log-index=/data/mysqldata3306/relaylog/mysql-relay-bin.index

relay-log=/data/mysqldata3306/relaylog/mysql-relay-bin

binlog_cache_size=256K

max_binlog_size=512M

binlog-format=MIXED

binlog-checksum=CRC32

sync_binlog=0

expire_logs_days=10

#******************************* Replication related settings *********************

server-id= 3306

#skip-slave-start

log_slave_updates=1

log_bin_trust_function_creators=1

auto_increment_increment=1

auto_increment_offset=1

allow-suspicious-udfs

innodb_support_xa=1

sysdate-is-now

#******************************* MyISAM Specific options ***************************

key_buffer_size=8M

bulk_insert_buffer_size=16M

myisam_sort_buffer_size=64M

myisam_max_sort_file_size=10G

myisam_repair_threads=1

myisam-recover-options=default

read_buffer_size=1M

#***************************** INNODB Specific options ****************************

innodb_use_sys_malloc=1

#innodb_additional_mem_pool_size=32M

innodb_buffer_pool_size=4G

innodb_buffer_pool_instances=2

innodb_max_dirty_pages_pct=40

innodb_sort_buffer_size=16M

innodb_data_home_dir=/data/mysqldata3306/innodb_ts

innodb_data_file_path=ibdata1:1024M:autoextend

innodb_autoextend_increment=128

innodb_file_per_table

innodb_open_files=7168

innodb_file_format=Barracuda

innodb_file_format_check=1

innodb_fast_shutdown=1

innodb_force_recovery=0

innodb_flush_log_at_trx_commit=2

innodb_log_buffer_size=64M

innodb_log_file_size=1G

innodb_log_files_in_group=2

innodb_log_group_home_dir=/data/mysqldata3306/innodb_log

innodb_adaptive_flushing_lwm=30

innodb_read_io_threads=8

innodb_write_io_threads=8

innodb_io_capacity=200

innodb_flush_method=O_DIRECT

innodb_flush_neighbors=0

innodb_lru_scan_depth=1024

innodb_change_buffering=all

innodb_purge_threads

innodb_commit_concurrency=0

innodb_thread_concurrency=0

innodb_concurrency_tickets=1024

innodb_autoinc_lock_mode=1

innodb_stats_on_metadata=0

innodb_lock_wait_timeout=120

innodb_rollback_on_timeout=1

[mysqldump]

quick

max_allowed_packet=2G

default-character-set=utf8

[mysql]

no-auto-rehash

prompt="\u@\h : \d \r:\m:\s> "

default-character-set=utf8

show-warnings

[myisamchk]

key_buffer=512M

sort_buffer_size=512M

read_buffer=8M

write_buffer=8M

[mysqlhotcopy]

interactive-timeout

5. 建立MySQL目錄

根據my.cnf配置檔案的目錄參數,建立MySQL資料目錄,并設定資料目錄的所有者使用者。

#mkdir -p /data/mysqldata3306

#mkdir -p /data/mysqldata3306/mydata

#mkdir -p /data/mysqldata3306/binlog

#mkdir -p /data/mysqldata3306/innodb_ts

#mkdir -p /data/mysqldata3306/innodb_log

#mkdir -p /data/mysqldata3306/relaylog

#mkdir -p /data/mysqldata3306/tmpdir

#mkdir -p /data/mysqldata3306/log

#mkdir -p /data/mysqldata3306/sock

#chown -R mysql:mysql /data/mysqldata3306

6. 初始化資料庫

執行mysql_install_db初始系統資料庫到指定目錄。

#mysql_install_db --defaults-file=/etc/my.cnf --user=mysql

–datadir=/data/mysqldata3306/mydata

7. 啟動配置庫MySQL執行個體

使用mysql的啟動腳本啟動資料庫。

啟動MySQL服務

#/etc/rc.d/init.d/mysql start

使用netsat指令檢測MySQL是否啟動成功

#netstat -npl |grep mysql

指令有輸出即代表啟動成功

注意:安裝完成後請及時修改root使用者密碼

2.1.1.4. 存儲節點

存儲節點實質上是一個标準的MySQL執行個體,用途為整套叢集提供底層業務資料的存儲。安裝數量與搭建複制關系根據實際業務場景而定。

**說明:**存儲節點的手動安裝過程請參照“配置庫”說明。批量安裝存儲節點建議使用管理平台“單機部署”或“叢集部署”功能。

連接配接使用者:通過手動安裝部署的存儲節點,還需建立用于計算節點連接配接存儲節點執行個體的資料庫使用者

建立資料庫使用者

#create user ‘hotdb_datasource’@’%’ identified by ‘hotdb_datasource’;

使用者賦權

#GRANT select,insert,update,delete,create,drop,index,alter,process,references,super,reload,lock tables,replication slave,replication client,trigger,show view,create view,create routine,create temporary tables,alter routine,execute,event ON . TO ‘hotdb_datasource’@’%’;

注意:當存儲節點的MySQL版本大于等于8.0時,需要多加一個權限“xa_recover_admin”

**備份使用者:**通過手動安裝部署的存儲節點,若需要使用資料備份功能,還需要建立用于資料備份的資料庫使用者。

建立資料庫使用者

#create user ‘dbbackup’@’%’ identified by ’ dbbackup’;

使用者賦權

#GRANT select,insert,update,delete,create,drop,index,alter,reload,process,references,super,lock tables,replication slave,replication client,trigger,show view,create view,create routine,alter routine,event ON . TO ‘dbbackup’@‘127.0.0.1’;

2.1.1.5. 備份程式

備份程式(HotDB Backup)為熱璞科技自主研發的分布式資料庫備份工具。通常部署在叢集的存儲節點伺服器上,監聽來自管理平台的資料備份請求。一台存儲節點伺服器隻需部署一個備份程式即可。

使用須知:

  • 僅支援備份MySQL 5.6及以上版本的資料。
  • 被備份的存儲節點執行個體必須開啟binlog。
  • HotDB Management所在的伺服器,必須安裝MySQL Client,否則會影響備份。

    将“hotdb_backup-2.0-xxxxxxxx.tar.gz”二進制包上傳至伺服器。建立備份程式的安裝目錄,并将備份程式解壓到安裝目錄。

    #mkdir /usr/local/hotdb/

    #tar -zxvf hotdb_backup-2.0-20190109.tar.gz -C /usr/local/hotdb/

2. 啟動與停止備份程式

啟動備份服務程式

#cd /usr/local/hotdb/hotdb_backup

#sh bin/hotdb_backup start -h 192.168.220.104 -p 3322

-h後面加管理平台伺服器的ip,-p後面加管理平台監聽備份程式端口(一般為3322,具體可在管理平台配置檔案application.properties中檢視參數server.backup.port)。

啟動成功後會列印以下日志:

INFO: Start HotDB-backup …

INFO: HotDB-backup start successed.

停止備份服務程式

#sh bin/hotdb_backup stop

關閉成功後會列印以下日志

INFO: Stopping HotDB-backup …

INFO: HotDB-backup stopped success.

檢視HotDB-Backup運作狀态

#sh bin/hotdb_backup status

已運作提示:INFO: HotDB-backup service already running (PID: 11709).

未運作提示:INFO: HotDB-backup service not running.

檢視HotDB-Backup日志

#cat logs/hotdb_backup.log

HotDB Backup常見日志

Start backup #備份任務發起

Backup is stopped #備份任務結束

Connected to server successfully! #備份程式與HotDB Management正常建立連接配接

Got a quit signal from user, will quit after backup is finished #備份程式正常退出

2.1.2. HA(主備)模式叢集部署

主備節點模式叢集部署教程所用環境以及部署元件說明如下所示:

部署環境:

項目 名稱
伺服器屬性 實體機
作業系統 CentOS Linux release 7.6.1810 (Core)
MySQL版本 MySQL 5.7.25
JDK JDK1.7_80

部署元件:

元件名稱 安裝數量
Keepalived 2
管理平台 1
配置庫 1
存儲節點 4

**注:**各元件名稱說明可參考《分布式事務資料庫HotDB Server【名詞解釋】功能使用手冊》文檔。

特殊說明:

本章主要介紹在HA叢集模式下的計算節點server.xml配置、Keepalived安裝與配置、啟動說明、高可用切換等。計算節點、管理平台、配置庫、存儲節點的安裝步驟本章不再贅述,具體參照上一章“單節點模式叢集部署”。

部署規劃:

熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊

**注:**主備計算節點伺服器上再分别安裝keepalived程式,選用VIP為:192.168.200.140

2.1.2.1. 計算節點

1. 安裝主備計算節點

分别在192.168.220.190、192.168.200.191安裝計算節點服務,安裝過程參照上一章節“計算節點”說明。

2. 修改主備計算節點配置檔案

部署好的主備計算節點需要修改對應的配置檔案server.xml,具體修改如下所示:

主計算節點192.168.200.190上server.xml配置修改

master< HA 角色,主節點:master,備節點:backup>

<HA 角色,其他節點 IP:PORT>

備計算節點192.168.200.191上server.xml配置修改

backup< HA 角色,主節點:master,備節點:backup>

192.168.200.190:3325<HA 角色,其他節點 IP:PORT>

說明:

  • 配置檔案中的haNodeHost為主計算節點的IP+管理端口,隻需在備計算節點上配置該參數即可。
  • 啟動主備服務時,如果haState的角色為master則會開啟服務端口(3323)、管理端口(3325);如果是 Backup

    角色,則隻會開啟管理端口(3325)。

  • 當 master服務故障後,keepalived 檢測到服務不可用,會自動切換 vip 到 backup 所在的伺服器,并啟用 backup 的服務端口(3323),保證服務不中斷。

    -

    2.1.2.2. Keepalived

  1. 安裝keepalived

    可用yum方式安裝keepalived,也可在keepalived官網https://www.keepalived.org/download.html下載下傳安裝tar包。

    yum方式安裝keepalived(主備計算節點所在伺服器上執行keepalived安裝指令)

    #yum -y install keepalived

    啟動或關閉keepalived

    #service keepalived start / server keepalived stop

    檢視keepalived運作狀态

    #service keepalived status

  2. 修改keepalived配置檔案

    Keepalived配置檔案預設存放在/etc目錄下為“keepalived.conf”,将下列執行個體内容複制替換到對應的keepalived配置檔案中,并按照标紅位置進行實際修改。

主計算節點:192.168.200.190的keepalived配置資訊:

! Configuration File for keepalived

global_defs {

router_id HotDB Server-ha

}

vrrp_script check_HotDB Server_process {

script “/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_p

rocess.sh process”

interval 5

fall 2

rise 1

weight -10

}

vrrp_script check_HotDB Server_connect_state {

state

code

script “/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_p

rocess.sh connect_master”

interval 5

fall 3

rise 1

timeout 5

weight -10

}

vrrp_instance VI_1 {

state BACKUP

interface eth1

virtual_router_id 89

nopreempt

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

track_script {

check_HotDB Server_process

check_HotDB Server_connect_state

}

#be careful in red hat

track_interface {

eth1

}

virtual_ipaddress {

192.168.200.140/24 dev eth1 label eth1:1

}

notify_master “/bin/bash /usr/local/hotdb/hotdb-server/bin/chec

k_hotdb_process.sh master_notify_master”

notify_backup “/bin/bash /usr/local/hotdb/hotdb-server/bin/chec

k_hotdb_process.sh master_notify_backup”

notify_fault “/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_process.sh master_notify_backup”

}

備計算節點:192.168.200.191的keepalived配置資訊:

! Configuration File for keepalived

global_defs {

router_id HotDB Server-ha

}

vrrp_script check_HotDB Server_process {

script “/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_p

rocess.sh process”

interval 5

fall 2

rise 1

weight -10

}

vrrp_script check_HotDB Server_connect_state {

state

code

script “/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_p

rocess.sh connect_backup”

interval 5

fall 3

rise 1

timeout 5

weight -10

}

vrrp_instance VI_1 {

state BACKUP

interface eth0

virtual_router_id 89

priority 95

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

track_script {

check_HotDB Server_process

check_HotDB Server_connect_state

}

#be careful in red hat

track_interface {

eth0

}

virtual_ipaddress {

192.168.200.140/24 dev eth0 label eth0:1

}

notify_master “/bin/bash /usr/local/hotdb/hotdb-server/bin/chec

k_hotdb_process.sh backup_notify_master”

notify_backup “/bin/bash /usr/local/hotdb/hotdb-server/bin/chec

k_hotdb_process.sh backup_notify_backup”

notify_fault “/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_process.sh backup_notify_backup”

}

**注:**主備 keepalived 的相關配置也可參考計算節點安裝目錄 conf 目錄下的keepalived.conf.master, keepalived.conf.backup 腳本,紅色區域需要根據實際資訊修改其他使用預設即可。

**關于自定義修改内容說明:**
           
  1. script 腳本路徑為計算節點實際安裝路徑,調用的 master/backup 腳本根據實際的主備角色進行配置
  2. interface:綁定的網卡
  3. nopreempt:設定是否開啟搶占模式。添加此參數,将不開啟搶占模式;否則開啟搶占模式。例如主的參數值是 priority100,備的參數值是 priority 95, 該參數隻需要在主 keepalived 配置腳本設定
  4. priority:優先級,優先級高的為 master
  5. virtual_ipaddress:instance 綁定的 vip(vip 需與計算節點所在的ip 同網段)
  6. Label:給本地網卡起一個虛拟名稱,用于綁定虛拟網卡 IP ,例如把虛拟網卡 eth0:1 綁定到本地網卡 eth0 上
  7. Script:判斷服務是否正常的腳本路徑,通常存放在 HotDB Server 的 bin目錄下,

    例如:/usr/local/hotdb/hotdb-server/bin/check_hotdb_process.sh,該腳本可檢查

    HotDB Serve 主備服務的程序是否存在,主備 HotDB Serve 的 3323端口和 3325 端口的狀态是否正常

3. 啟動說明

由于兩台機器上的 HotDB Server 互為主備關系,在服務啟動的時,需要注

意啟動的順序問題,如下為标準啟動順序:

先啟動主(192.168.200.190)的keepalived,待ping通vip後再啟動主計算節點服務

啟動主keepalived服務

#service keepalived start

Ping通vip後再啟動主計算節點服務

#sh /usr/local/hotdb/hotdb-server/bin/hotdb_server start

ip a可檢視目前主的keepalived VIP是已綁定成功

熱璞資料庫HotDB Server 安裝部署手冊

主計算節點服務啟動完等待20秒後再啟動備(192.168.200.191)的keepalived,keepalived啟動完成後等待10秒再啟動備計算節點服務

啟動備keepalived服務

#service keepalived start

啟動備計算節點服務

#sh /usr/local/hotdb/hotdb-server/bin/hotdb_server start

2.1.2.3. 高可用切換說明

當主機192.168.200.190服務上的計算節點服務故障時,檢測腳本(vrrp_scripts)檢測到計算節點主服務端口不可通路或 hacheck 連續失敗超過 3 次時,主keepalived優先級會進行自動調整,變成 90(weight -10),備機 192.168.200.191服務上的 keepalived 收到比自己優先級低的 vrrp 包(192.168.200.191 上優先級為 95)後,将切換到 master 狀态,搶占 vip(192.168.200.140),同時在進入 master 狀态後,執行 notify_master 腳本,通路備服務 3325 端口執行online 指令啟動并初始化備計算節點服務端口,若 192.168.200.191 的計算節點啟動成功,則主備切換成功後繼續提供服務。如下圖:

熱璞資料庫HotDB Server 安裝部署手冊

Keepalived 的 VIP 此時已在 192.168.200.191 伺服器上

熱璞資料庫HotDB Server 安裝部署手冊

2.1.2.4. 高可用重建說明

具體可參考《分布式事務資料庫HotDB Server【管理平台】功能使用手冊》中的高可用重建章節,通過該功能可實作:當192.168.200.190伺服器上計算節點發生故障切換後,手動觸發計算節點高可用重建功能,即可修複 192.168.200.190 伺服器上計算節點服務及主備關系,當 192.168.200.191 伺服器上計算節點再發生故障時,可自動進行回切到 192.168.200.190上。

3.1.1. NDB SQL服務

NDB SQL服務可用于在分布式環境下幫助計算節點完成相對複雜的SQL查詢語句計算。關于NDB SQL服務詳細介紹可參考《分布式事務資料庫産品HotDB Server -【标準】功能使用手冊》中說明。目前NDB SQL服務支援使用一鍵部署安裝腳本方式與管理平台“叢集部署”、“單機部署”功能自動部署方式進行安裝。以下将介紹通過腳本方式對NDB SQL服務的安裝部署。

1. 手動安裝前須知

  • NDB SQL服務與計算節點服務是一一對應的,即每台計算節點所在伺服器如果需要使用NDB SQL服務支援都需部署該服務程式。
  • 與NDB SQL服務對應的計算節點版本必須是V2.5.2及以上版本,否則不支援NDB SQL服務。
  • 推薦NDB SQL服務與計算節點一次性跟随部署,若目前已有計算節點需要追加NDB

    SQL服務則需要嚴格注意:–install-ntpd、–ntpdate-server-ip、–ntpdate-server-host傳參問題,需要同目前部署的叢集同步時間配置一緻。

    2. 計算節點與NDB SQL一同部署過程說明

    目前以主備模式叢集為例示範使用腳本安裝計算節點與MDB SQL服務,具體步驟說明如下:

  • 登入每台計算節點伺服器,進入一鍵部署資源包目錄Install_Package下執行安裝指令。

    1.登入主計算節點伺服器,進入一鍵部署預設安裝目錄執行:

    sh hotdbinstall_v2.42.sh --install-hotdb-server=yes --hotdb-version=2.5 --install-ndbsql=yes --install-ntpd=yes --ntpdate-server-host=182.92.12.11**

2.登入備計算節點伺服器,進入一鍵部署預設安裝目錄執行:

sh hotdbinstall_v2.42.sh --install-hotdb-server=yes --hotdb-version=2.5 --install-ndbsql=yes --ntpdate-server-host=主計算節點伺服器IP位址

  • 單獨部署NDB SQL過程說明

    若已安裝好計算節點,但後期需要追加安裝NDB SQL服務則可通過腳本單獨部署NDB SQL方式進行操作,或通過管理平台“單機部署”功能實作。本示例以單節點叢集為例說明後期追加部署NDB SQL服務的操作。

  • 登入計算節點伺服器,進入一鍵部署資源包目錄Install_Package下執行安裝指令。

    示例:

    sh hotdbinstall_v2.xx.sh --install-ndbsql=yes –ntpdate-server-host=182.92.12.11

注意:

  1. 安裝NDB SQL指定伺服器時間同步位址時使用的時間同步參數需要與上一次安裝計算節點時保持一緻即當時使用的是ntpdate-server-ip還是ntpdate-server-host參數,兩次必須一緻
  2. 時間同步位址參數值需與上一次安裝計算節點時使用的時間同步位址一緻,如果叢集内已有NTP服務則參數值應該是NTP服務所在伺服器的IP位址。

4. NDB SQL配置說明

  1. NDBSQL服務安裝完成後需要在對應的計算節點安裝conf目錄下修改server.xml檔案配置。需将配置檔案中的ndbSqlMode修改為local。具體如下所示:
    熱璞資料庫HotDB Server 安裝部署手冊

    5. NDB SQL啟動關閉說明

    NDB SQL服務不需要單獨啟動關閉,啟動計算節點時會同時啟動NDB SQL服務,關閉計算節點時也會同步關閉NDB SQL服務。

2.2. 自動部署

自動部署為管理平台在界面中支援自動化安裝部署計算節點叢集的功能。目前管理平台從V2.5.0及以後擁有“叢集部署”、“單機部署”兩個自動化安裝功能。“叢集部署”适合從0開始一次性部署整套計算節點叢集的場景,“單機部署”适合再已部署好的叢集上新增個别叢集元件的場景。

2.2.2. 叢集部署

叢集部署每次部署任務是以一套叢集為機關進行,一次部署最少需要包含:計算節點、配置庫、keepalived(主備節點模式需要安裝),其他元件:存儲節點、LVS(多節點模式)、NTPD可根據需要安裝。支援“單節點、主備節點、多節點”不同叢集模式的安裝。安裝完的叢集自動根據配置搭建好高可用、自動啟動。

2.2.2.1. 術語說明

叢集部署相關術語請參照《分布式事務資料庫HotDB Server【名詞解釋】功能使用手冊》

2.2.2.2. 功能使用須知

  • 叢集部署隻支援CentOS6\7 RHEL6\7,MySQL 5.6\5.7\8.0,HotDB-Server2.4,HotDB-Server2.5;
  • 超過2EB的硬碟可能會出現計算錯誤;
  • 不支援一台伺服器上安裝多個計算節點或多個管理平台或多個備份程式;
  • 建議添加幹淨的作業系統環境伺服器;
  • 伺服器的SSH資訊須使用root權限的使用者進行配置;
  • 添加的伺服器要求已配置可用的yum源或安裝腳本目錄下有對應作業系統版本的iso鏡像檔案;
  • 安裝部署包名稱預設以“auto_hotdbinstall”開頭,請不要随意更改伺服器下部署包名稱;
  • 程式預設上傳部署包存放路徑為 /usr/local/hotdb ;
  • MySQL預設可安裝5.6.41、5.7.25、8.0.16版本,如需要安裝其他版本,自行在安裝目錄下替換相關安裝包即可;
  • 管理平台在部署叢集前需确認在管理平台伺服器以下任一目錄中存在叢集安裝部署包資源。叢集部署時會在以下目錄尋找資源包上傳至目标伺服器/usr/local/hotdb路徑下。(查找優先級按以下為準)

/opt

/opt/hotdb

/usr/local

/usr/local/hotdb

2.2.2.3. 部署管理平台

  • 将部署安裝包上傳至伺服器,并解壓到指定目錄

    #mkdir /usr/local/hotdb

    #tar -zxvf auto_hotdbinstall_HotDB2.*.tar.gz -C /usr/local/hotdb/

  • 執行安裝腳本安裝管理平台

    #cd /usr/local/hotdb/Install_Package/

    #sh hotdbinstall_v*.sh --ntpdate-server-ip=182.92.12.11 --mysql-version=5.7 --hotdb-config-port=3316 --hotdb-version=2.5 --install-hotdb-server-management=yes

  • 檢視安裝日志擷取安裝進度

    tail -f /usr/local/hotdb/Install_Package/hotdbinstall.log

  • 日志列印如下标記則為安裝成功正常結束

    [INFO] hotdbinstall finished without error, but you should check if there is any warn

    ings

  • 啟動管理平台

    sh /usr/local/hotdb/hotdb-management/bin/hotdb_management start

  • 浏覽器打開管理平台

    啟動成功後 打開浏覽器輸入:

    http://伺服器的IP位址:3324/page/index.html成功打開頁面後登入賬号到管理者界面。(管理者使用者名密碼預設為 admin|admin)

2.2.2.4. 叢集部署功能說明

**說明:**本次以“多節點”模式的叢集部署為例,展示叢集部署中的完整過程以及對應說明。

  • 添加叢集部署任務

    admin使用者登入管理平台後進入“叢集管理->計算節點叢集”,點選【叢集部署】按鈕進入叢集部署功能頁面。

    熱璞資料庫HotDB Server 安裝部署手冊
  • 選擇部署的叢集模式

    叢集分為單節點、主備節點、多節點三種模式,選擇好叢集模式後點選【參數配置】按鈕進入叢集部署參數配置頁面。

    熱璞資料庫HotDB Server 安裝部署手冊
  • 叢集模式說明:

    單節點:單節點指整個叢集中隻有一個計算節點的叢集模式。無需安裝Keepalived或LVS等高可用元件。

    熱璞資料庫HotDB Server 安裝部署手冊
    主備節點:主備模式也稱HA模式,即通過Keepalived元件進行高可用搭建的叢集模式。在叢集中存在主、備兩個計算節點。
    熱璞資料庫HotDB Server 安裝部署手冊

    ① 主備節點模式的叢集,需要填寫2台伺服器的配置資訊。

    ② Keepalived的virtual_ipaddress(簡稱VIP)要求為沒有被伺服器或其他應用所占用且和計算節點伺服器在相同網段上。格式為VIP+子網路遮罩長度,例:192.168.200.120/24。

    ③ virtual_router_id的值可自行在範圍【0-255】標明一個值,但該值要求在叢集使用的網段内是唯一的,即不與其他應用服務選擇的值沖突。

    ④ 主備Keepalived伺服器網關裝置名稱是Keepalived所在伺服器的網卡裝置名稱,該名稱必須填寫正确,格式為網卡名稱+ :1 例:”eth0:1”。(網關裝置名稱可通過“ip a”指令檢視)

    **

  • 多節點:多節點模式也叫作負載均衡模式,是通過LVS元件或其他負載均衡元件來控制分發業務流量到叢集中的多個計算節點上的一種架構模式。多節點模式中計算節點個數不能低于3個或超過9個。
熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊

① 多節點模式中,計算節點個數預設為3個,且計算節點版本必須為2.5。

② 叢集網段為計算節點安裝伺服器所在網段,格式為:網段+子網路遮罩長度,例:192.168.200.0/24。

③ 通信端口為叢集内各計算節點進行通信時所用端口,預設為3326.無特殊要求時不建議修改。

④ LVS是多節點模式中實作負載均衡的元件,也可以關閉【安裝】選擇其他負載均衡方式代替LVS。

⑤ LVS_vip為LVS元件中所配置的虛拟IP位址(簡稱VIP),要求必須為沒有被伺服器或其他應用所占用且和計算節點伺服器在相同網段上。格式為VIP+子網路遮罩長度,例:192.168.200.120/24。

⑥ virtual_router_id的值可自行在範圍【0-255】標明一個值,但該值要求在叢集使用的網段内是唯一的,即不與其他應用服務選擇的值沖突。

⑦ lvs_net_interface_name是LVS元件所在伺服器的網卡名稱,該名稱必須填寫正确,格式為網卡名稱+ :2 例:”eth0:2”。(網關裝置名稱可通過“ip a”指令檢視)。

  • 叢集部署參數配置

(一) 計算節點參數

以下将以計算節點叢集模式為多節點為例介紹計算節點的參數配置。

熱璞資料庫HotDB Server 安裝部署手冊

① 計算節點個數預設為3,設定時不能小于3或大于7個。

② 叢集名稱會自動生成,格式為:Group+四位随機數,可根據實際情況修改。

③ 可根據實際需要檢視是否要安裝NDB SQL服務,如果安裝則要求計算節點版本必須大于等于V2.5.2。

④ 叢集網段為計算節點所在伺服器的網段範圍,格式為:網段+子網路遮罩長度,例:192.168.200.0/24。

⑤ 通信端口為叢集内各計算節點進行通信時所用端口,預設為3326,無特殊要求不建議修改。

⑥ 計算節點名稱會自動生成,格式為:計算節點+編号,可根據實際情況修改。

⑦ 登入方式為管理平台連接配接部署目标伺服器的方式,預設使用“密碼”方式登入,如果使用“免密”方式則要求管理平台伺服器與目标部署伺服器之間需要打通免密通道,具體實作方式可參照“實作免密登入說明”。

⑧ 當“登入方式”為“密碼”方式時需要輸入連接配接目标伺服器的SSH資訊包括:SSH使用者、SSH密碼。端口号預設為22,無特殊要求一般無需修改。

⑨ 堆記憶體預設為4G,當設定大于8G時,會提示要求開啟“G1垃圾回收器”。該參數輸入範圍【1-64】G。

⑩ 直接記憶體預設為24G,參數輸入範圍【1-64】G。

⑪ 服務端口與管理端口預設為“3323,3325”,無特殊要求可直接使用預設值。若修改且安裝成功後計算節點的server.xml配置檔案對應參數也會同步修改。

⑫ 點選【測試連接配接】可測試目标伺服器的連接配接是否正常,判斷輸入的SSH資訊是否可用。

(二)配置庫參數

熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊

① 安裝的配置庫執行個體可選擇模式有:單庫、雙主、MGR,以選擇MGR模式為例。

② 配置庫版本會因模式而變動,選擇MGR模式時版本必須為5.7,選擇其他模 式時可選擇5.6或5.7的MySQL執行個體版本。

③ 選擇MGR模式時可編輯MGR模式下的執行個體數量,預設3個,編輯時不能少于3個或大于9個。選擇其他模式則無數量限制。

④ 建立高權限使用者開關,開關預設打開即配置庫MySQL執行個體安裝成功後會預設生成一個“hotdb_root”的賬戶,該賬戶擁有MySQL執行個體的所有權限。

⑤ 執行個體端口号預設為3306,可根據實際情況自行修改。

⑥ “磁盤裝置名稱”與“資料目錄”參數為選填項,為空時程式會自動為“磁盤裝置名稱”賦予空值,“資料目錄”賦予預設值“/data”。關于參數詳細說明,可參照“叢集部署腳本參數說明”。

⑦ 【更多參數】可為目前部署的MySQL執行個體設定更多選項參數,當參數的輸入框為空時安裝腳本會自行計算處理并給予預設值,無特殊要求時不建議修改。若需要使修改的參數适用到其他部署的配置庫執行個體上可勾選“更多參數同步到其他配置庫執行個體中”選項。

(三)LVS參數

熱璞資料庫HotDB Server 安裝部署手冊

① 叢集部署支援不安裝LVS相關元件,當選擇到不安裝時,則不需要填寫LVS配置參數

② “LVS_vip”填寫的IP,要求必須為沒有被伺服器或其他應用所占用的且和計算節點伺服器在相同網段上。格式為VIP+子網路遮罩長度,例:192.168.200.120/24

③ “virtual_router_id的值可自行在範圍【0-255】標明一個值,但該值必須在叢集使用的網段内是唯一的,即沒有與其他服務程式選取的值沖突。

④ 主備“lvs_net_interface_name”是LVS所在伺服器的網關裝置名稱,該名稱必須與實際伺服器上顯示的一緻(可通過 ip a指令檢視),格式為:網關裝置名稱+ “:2” 例如:”eth0:2”。

(四)存儲節點參數

熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊

① 存儲節點的版本可選擇“5.6、5.7”,預設為5.6。

② 節點個數為叢集中的資料節點個數。

③ 節點類型為資料節點下關聯的存儲節點複制關系類型包含:單庫、主從、雙主、MGR。

④ 點選【生成】按鈕可快速按照選填寫的參數生成存儲節點配置資訊。

⑤ “建立高權限使用者”請參照配置庫該處說明。

⑥ “節點名稱”為資料節點名稱,預設根據“節點個數”自動生成,使用者可自行修改。

⑦ “存儲節點類型”預設根據選擇的“節點類型”進行生成。例:“節點類型”為“主從”,則在每個資料節點下分别生成一個“主庫”、一個“從庫”類型的存儲節點記錄。

⑧ “安裝備份程式”開關預設打開,即在存儲節點所在伺服器上安裝HotDB Backup備份程式。

⑨ “關聯管理平台IP”,預設填充目前執行叢集部署任務的管理平台位址。該位址為備份程式啟動時需要指定所服務的管理平台位址。

⑩ 點選操作中的“增加”、“删除”可新增或去除一行存儲節點配置記錄。

⑪ 存儲節點數量過多時可考慮使用“導入”方式進行配置。導入前須先下載下傳模闆,再按照模闆說明進行填寫配置資訊,完成後再導入管理平台中。若填寫有誤時,程式會顯示導入失敗與失敗詳細資訊。

(五)時間同步參數設定

熱璞資料庫HotDB Server 安裝部署手冊

① 時間同步主要是為叢集所有伺服器指定NTP時間服務位址,保證叢集中的伺服器時間保持一緻。

② 預設在主計算節點或多節點中的第一個計算節點所在伺服器上安裝NTP服務程式。若叢集中已有可用的NTP服務,則可取消安裝。

③ 叢集中其他伺服器時間同步位址預設指向已安裝有NTP伺服器的計算節點伺服器位址,若計算節點不安裝NTP伺服器則其他伺服器與計算節點伺服器所指向的時間同步位址保持一緻。

- 參數校驗并儲存

熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊

① 僅儲存:點選【僅儲存】按鈕,程式不會驗證配置參數輸入的合法性和完整性,僅校驗必填項是否已填寫。

② 檢查并儲存:點選【檢測并儲存】按鈕,程式會校驗配置參數的合法性和完整性,并發送檢測腳本到目标伺服器上驗證是否符合叢集部署的硬體要求,不符合要求時會彈窗提示。開始部署前的叢集都需要通過【檢測并儲存】才能進入安裝。

③ 若叢集配置參數檢測未通過,需要根據報錯情況進行相應的修改,然後再進行校驗。

④ 如果因為伺服器硬體配置不滿足要求導緻未通過檢測的,建議先将配置參數通過【僅儲存】按鈕先儲存下來,然後根據提示調整目标伺服器的硬體配置或更換目标伺服器,然後再進行校驗。

熱璞資料庫HotDB Server 安裝部署手冊

⑤ 已儲存但未開始安裝的叢集在“叢集管理”頁面顯示時是未開啟監控的,且叢集部署資訊各欄資訊顯示“已配置”字樣。

熱璞資料庫HotDB Server 安裝部署手冊

- 開始部署

熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊

① 點選【開始部署】進入安裝程序,若未通過校驗的叢集點選【開始部署】則提示不允許進入部署。

② 通過部署進度條檢視目前部署狀态。

③ 部署日志會實時輸出到控制台中,總控制台可檢視所有伺服器部署完成情況。具體每台伺服器控制台可單獨檢視對應伺服器部署時的腳本執行日志資訊。

④ 可點選右上角放大按鈕,全屏檢視。

⑤ 安裝完成後可在總控制台中看到“叢集部署成功”字樣。

部署完成

熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊

① 部署成功的叢集在“叢集管理”頁面中會自動開啟監控,“叢集部署資訊”各欄顯示各元件的運作狀态資訊。

② 點選【部署拓撲】按鈕進入部署拓撲圖頁面可檢視到拓撲圖中的圖示都變成實線。

  • 執行個體密碼修改
  • 已部署完成的叢集安裝的配置庫與存儲節點執行個體都會自動生成一些賬戶。具體如下:配置庫執行個體生成 hotdb_config、dbbackup、repl、hotdb_root(視是否開啟建立高權限賬戶開關而定);存儲節點執行個體生成hotdb_datasource、dbbackup、repl、hotdb_root(視是否開啟建立高權限賬戶而定)。

因為生成的賬戶的密碼與賬号一緻,是以建議部署完成後立即進行執行個體密碼修改,以提升叢集的安全性。

熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊

① 執行個體密碼修改分為:配置庫執行個體密碼修改、存儲節點執行個體密碼修改兩部分。

② 可通過點選操作欄中【密碼修改】按鈕進行單個使用者密碼修改,也可以通過【一鍵修改密碼】按鈕批量修改使用者密碼。

③ 批量修改使用者密碼是按照使用者角色進行劃分顯示,例如配置庫執行個體中對repl賬戶修改密碼,則配置庫所有執行個體中的repl賬戶密碼都同步修改。存儲節點也如此。

④ 對于具有複制關系的執行個體,修改使用者的密碼會将與其有複制關系的執行個體的用密碼一同修改,例如具有MGR關系的存儲節點執行個體(192.168.210.81:3311,192.168.210.82:3311,192.168.210.83:3311),修改192.168.210.81:3311執行個體上的hotdb_root使用者密碼為admin,程式會将另外兩個執行個體的hotdb_root使用者修改為admin。

⑤ 送出密碼修改後執行個體密碼修改頁面會進行頁面加載,此時請勿重新整理頁面或進行其他操作。

  • 2.2.3. 單機部署

    單機部署功能可以為使用者在已有叢集中繼續添加新的元件。此外它也可以從零開始部署一套新的叢集,因為除安裝功能以外它還提供高可用搭建、一鍵啟動等功能,但相對“叢集部署”功能來說“單機部署”更适合部署單個元件。

- 2.2.3.1. 術語說明

單機部署相關術語請參照《分布式事務資料庫HotDB Server【名詞解釋】功能使用手冊》

  • 2.2.3.2. 功能使用須知

    單機部署功能使用須知同“叢集部署功能使用須知”一緻,參照該描述即可。

- 2.2.3.3. 部署管理平台

單機部署屬于管理平台中的功能,在使用前需要先安裝好管理平台。安裝步驟說明請參照“叢集部署功能管理平台部署說明”。

  • 2.2.3.4. 單機部署元件安裝

    說明:本次将通過“單機部署”功能為大家展示部署一個主備模式的叢集。Keepalived虛拟位址(VIP)使用“192.168.200.112”;主備計算節點服務分别安裝在“192.168.200.45、192.168.200.46”伺服器上。同時在伺服器“192.168.200.47、192.168.200.48”中各安裝4個存儲節點MySQL執行個體。

添加部署任務

通過admin使用者登入到管理平台後,選擇“計算節點叢集->單機部署”點選【添加部署任務】

熱璞資料庫HotDB Server 安裝部署手冊
  • 部署計算節點與配置庫
    熱璞資料庫HotDB Server 安裝部署手冊
    熱璞資料庫HotDB Server 安裝部署手冊

    ① 伺服器角色選擇“計算節點”時,“軟體安裝資訊及配置資訊”中預設自動勾選“計算節點服務、Keepalived、配置庫MySQL執行個體、NTPD服務”。該角色選擇隻為引導安裝對實際安裝不會産生影響,使用者也可根據實際情況選擇其他元件。

    ② 目标部署伺服器可通過“密碼、免密”兩種方式登入,若使用免密則需要提前手動建立伺服器間的免密通道,具體參見“實作免密登入說明”。使用“密碼”方式登入則需要輸入SSH連接配接使用者名與密碼。

    ③ 點選【測試連接配接】可測試管理平台伺服器與目标部署伺服器間是否正常可連接配接。

    ④ 使用密碼方式登入時,為了保障SSH資訊安全管理平台隻會儲存24小時,過期後若需要重新連接配接目标伺服器則需要點選【編輯】重新儲存。

熱璞資料庫HotDB Server 安裝部署手冊

① 計算節點可選擇版本有“2.4、2.5”,2.4代表安裝2.4.X版本的計算節點,具體版本号需以安裝包内提供的為準。使用者可根據實際情況進行選擇。

② 計算節點的主備選擇需要根據目前規劃的實際情況,主備模式中需要有一個主計算節點服務,一個備計算節點服務。

③ 服務端口與管理端口預設為“3323、3325”,如無特殊要求可直接使用預設值。

④ 若計算節點與配置庫安裝在同一台伺服器,則配置庫相關資訊可以直接使用預設值但配置庫位址IP需要填寫實際值;若計算節點與配置庫不在同一台伺服器,則配置庫資訊需要根據實際情況做修改。

⑤ 堆記憶體與直接記憶體預設為“4G、24G”,使用者也可以根據實際情況進行調整但輸入範圍不得超過【1-64】G。當堆記憶體大于8G時,建議打開G1垃圾回收器。

熱璞資料庫HotDB Server 安裝部署手冊

① 主備模式的叢集,在計算節點伺服器上必須安裝Keepalived元件,否則計算節點無法搭建高可用。

② Keepalived的virtual_ipaddress(簡稱VIP)要求為沒有被内網伺服器或其他應用所占用且和計算節點伺服器在相同網段上。格式為VIP+子網路遮罩長度,例:192.168.200.120/24。此處我們填寫之前規劃的VIP位址“192.168.200.112/24”。

③ virtual_router_id的值可自行在範圍【0-255】標明一個值,但該值必須在叢集使用的網段内是唯一的,即未與其他服務程式選取的值産生沖突。

④ keepalived_net_interface_name是Keepalived所在伺服器的網卡名稱,該名稱必須填寫正确,格式為網卡名稱+ :1 例:”eth0:1”。(網關裝置名稱可通過“ip a”指令檢視)。

熱璞資料庫HotDB Server 安裝部署手冊

① 配置庫MySQL執行個體可與計算節點安裝在同一台伺服器上,也可以分開安裝。預設與計算節點安裝在一台伺服器上。

② 版本為配置庫MySQL執行個體的版本号,可選擇“5.6、5.7”。

③ MySQL安裝參數中需要關注“MySQL執行個體端口”,預設3306,若該預設值被占用需要修改端口。

④ 其他參數如無特殊要求可直接使用預設值,為空的輸入框程式會根據伺服器情況自動計算并給出預設值。

⑤ 若同一台伺服器上同時安裝配置庫與存儲節點,則配置庫參數配置隻能修改 “MySQL執行個體端口”參數,其他更多參數隻能在存儲節點中設定。(原因:一台伺服器隻能設定一份MySQL參數)

熱璞資料庫HotDB Server 安裝部署手冊

① 當伺服器中安裝了主計算節點服務時,“NTPD服務”會自動勾選安裝,若已有NTP時間伺服器,此處可去除勾選安裝。

② 每台目标部署伺服器都需要指定時間同步位址。

 若該伺服器上安裝NTPD服務則伺服器時間同步位址建議填寫阿裡雲時間同步位址“182.92.12.11”

 若該伺服器上未安裝NTPD服務則伺服器時間同步位址應當指定為内網中已安裝NTPD服務的伺服器位址

③ 點選【儲存資訊】則将配置資訊儲存可供後期安裝、點選【開始安裝】則直接進入安裝程序。

熱璞資料庫HotDB Server 安裝部署手冊

① 首次安裝時需要将安裝部署包從管理平台伺服器上傳至目标部署伺服器,是以必須點選【确定上傳】。關于管理平台伺服器存放資源包說明請參照“叢集部署的功能使用須知”最後一條。

② 若人為手動将安裝包上傳至目标伺服器/usr/local/hotdb中或之前已完成包資源上傳可點選【直接開始安裝】跳過上傳安裝包的動作。

熱璞資料庫HotDB Server 安裝部署手冊

① 進入安裝程序後,頁面底部會實時輸出安裝日志與安裝結果。安裝日志“hotdbinstall.log”在目标伺服器“/usr/local/hotdb/ Install_Package”目錄下。

② 安裝過程中如果有error資訊會用紅色字型辨別,warning資訊用橙色辨別。出現error資訊則意味着此次安裝任務失敗,需要根據提示資訊進行修改再嘗試安裝。

③ 成功安裝完成可以根據安裝日志是否出現:“hotdbinstall finished without error, but you should check if there is any warnings”字樣判斷。也可以根據右側安裝結果判斷。

熱璞資料庫HotDB Server 安裝部署手冊

① 正在安裝的任務可放至背景運作,繼續添加新的安裝任務,待安裝任務完成後重新整理頁面即可看到安裝的元件完成狀态。

② 已儲存或已安裝的任務都可以進行“克隆”,點選【克隆】即将該任務的所有配置參數複制到一個新的部署任務中,可适當減少重複配置。

熱璞資料庫HotDB Server 安裝部署手冊

① 備計算節點的安裝可通過克隆之前主計算節點的安裝任務,然後修改“主機名”、“計算節點角色”等參數。其他參數視實際情況進行修改。

② 注意安裝備計算節點時無需勾選“NTPD服務”隻需将“伺服器時間同步位址”填寫成主計算節點伺服器IP位址即可或指向内網中已安裝NTPD服務的IP位址。

- 部署存儲節點執行個體

熱璞資料庫HotDB Server 安裝部署手冊

① 選擇“伺服器角色”為存儲節點伺服器,并填寫存儲節點的目标安裝伺服器SSH資訊。

② 根據角色,安裝元件将自動勾選“存儲節點MySQL執行個體、存儲節點備份程式”。

③ 根據部署要求在192.168.200.48中安裝4個存儲節點MySQL執行個體,是以“執行個體數”選擇4。

④ 伺服器時間同步位址填寫主計算節點伺服器IP(192.168.200.45)。

熱璞資料庫HotDB Server 安裝部署手冊

① 點選【開始安裝】并上傳安裝包至存儲節點目标部署伺服器中。

② 可檢視日志安裝的實時進度。

③ 通過【克隆】按鈕将部署存儲節點的任務克隆到“192.168.200.48”中,修改SSH資訊即可進入安裝。

  • 2.2.3.5. 單機部署高可用搭建

    高可用搭建可在單機部署功能中為已安裝好的元件進行高可用自動搭建服務,包括計算節點高可用、存儲節點高可用、配置庫高可用搭建。

  • 計算節點高可用搭建
    熱璞資料庫HotDB Server 安裝部署手冊
    ① 點選【高可用搭建】按鈕進入高可用搭建頁面,在“計算節點高可用搭建”子產品點選【添加】可彈出添加計算節點高可用的配置視窗。
    熱璞資料庫HotDB Server 安裝部署手冊

    ① 彈窗中選擇“高可用”則為計算節點搭建HA高可用關系,若選擇“單執行個體”則表示計算節點為單節點模式。

    ② 叢集名稱為主備計算節點所在叢集的名稱,此處可自定義命名但不允許與已有叢集名稱重複。

    ③ Master為主計算節點,若之前主計算節點安裝成功且未經過搭建的則下拉框會顯示出來。

    ④ Backup為備計算節點,若頂部選擇的為“單執行個體”則Backup無需選擇。

    ⑤ Master名稱與Backup名稱為計算節點的備注名稱,可自定義命名但不允許與已有的計算節點重名。

    ⑥ 點選【儲存】即開始為主備計算節點搭建高可用關系。

    熱璞資料庫HotDB Server 安裝部署手冊
  • 存儲節點高可用搭建
    熱璞資料庫HotDB Server 安裝部署手冊
    熱璞資料庫HotDB Server 安裝部署手冊

    ① 點選“節點高可用搭建”子產品中【批量添加】按鈕,若計算節點高可用未搭建或沒有搭建的曆史記錄,則點選【批量搭建】會提示“請先搭建一個計算節點叢集”(因為存儲節點高可用搭建需要選擇所屬哪個計算節點叢集)。

    ② 添加存儲節點高可用配置需要先選擇“計算節點叢集”,可選擇剛搭建好的計算節點叢集。

    ③ 節點名稱為存儲節點所屬的資料節點名稱(dataNode),可自定義命名但不能與已有資料節點重名。

    ④ 複制模式指在同一資料節點下的存儲節點以何種方式存在,目前支援資料節點下的存儲節點可以為“單庫、主從、雙主”三種複制形式。

    ⑤ 添加多條節點高可用記錄時,點選“+”即可新增配置記錄。

    ⑥ 填寫好節點高可用配置後,點選【開始搭建】則自動為存儲節點搭建高可用複制關系。

    熱璞資料庫HotDB Server 安裝部署手冊
    ① 存儲節點搭建完成會以資料節點為機關進行記錄顯示,對于搭建失敗的記錄可以點選【編輯】按鈕重新修改參數再進行搭建。

配置庫高可用搭建

熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊

① 選擇已安裝好的配置庫執行個體,并選擇所屬叢集,點選【搭建】按鈕開始搭建。

② 搭建完成後,程式會将具有雙主關系的配置庫位址修改到server.xml檔案中。

熱璞資料庫HotDB Server 安裝部署手冊

2.2.3.6. 單機部署啟動程式

啟動程式主要為已安裝好的元件或已搭建好高可用的叢集進行一鍵啟動服務。目前可啟動的服務主要有:“計算節點、Keepalived、備份程式、管理平台”。“存儲節點MySQL執行個體、配置庫MySQL執行個體、NTPD服務”在程式安裝完成後會直接啟動,無需再次啟動。

熱璞資料庫HotDB Server 安裝部署手冊
熱璞資料庫HotDB Server 安裝部署手冊

① 進入啟動程式頁面可通過單機部署頁面中的【啟動程式】按鈕,也可以在高可用搭建完成後右下角直接點選【啟動程式】。

熱璞資料庫HotDB Server 安裝部署手冊

① 啟動程式頁面顯示部署任務頁面中所有安裝成功的伺服器記錄,同時根據高可用搭建曆史記錄對已搭建主備的伺服器做合并顯示。

② 勾選可選擇需要啟動的元件,去除勾選則不進行啟動。

③ 第一組記錄為具有計算節點高可用搭建記錄的叢集,進行啟動時若打開“自動生成基礎配置”開關則一鍵啟動程式會将計算節點叢集、資料節點、存儲節點以及預設生成的記錄資訊寫入管理平台的配置庫中,使用者登入管理平台後便可直接檢視無需重新添加配置。

④ 第二、三組為無計算節點高可用搭建記錄的叢集,進行啟動時不會生成任何配置資訊(因為沒有配置所屬的計算節點叢集,是以無法生成資訊,啟動好後需使用者手動添加到管理平台内)。

熱璞資料庫HotDB Server 安裝部署手冊

① 若啟動項中包含存儲節點備份程式即“HotDB Backup”,則會有”啟動參數設定”的彈窗讓使用者指定備份程式啟動時關聯的管理平台IP位址。

② “備份程式IP”為需要啟動的備份程式所在伺服器IP位址,“管理平台IP位址”為備份程式啟動時關聯的管理平台IP位址(可選擇目前正在使用的管理平台IP位址)。

熱璞資料庫HotDB Server 安裝部署手冊

① 點選【一鍵啟動】進入程式啟動與配置生成程序。

2.2.3.7. 單機部署安裝NDB SQL

若已安裝好計算節點,但後期需要追加安裝NDB SQL服務則可通過單機部署功能進行操作。相關操作步驟以及注意事項如下所述:

使用須知:

  • 使用單機部署功能為已有計算節點單獨安裝NDB SQL需滿足叢集中的計算節點是通過線下手動方式進行部署的,而未使用叢集部署或單機部署功能。
  • 若計算節點是通過叢集部署或單機部署方式進行部署的,後期需要追加NDB SQL功能目前隻能通過線下手動安裝的方式進行。
  • NDB SQL必須與計算節點安裝在同一台伺服器上且計算節點版本不低于V 2.5.2。

操作步驟:

熱璞資料庫HotDB Server 安裝部署手冊
  • 填寫計算節點的伺服器位址以及SSH連接配接資訊。
  • 勾選NDB SQL服務,并注意紅色字型提示。
  • 填寫與計算節點安裝時指定的時間同步位址一緻的值

2.2.4. 實作免密登入說明

免密登入需要在兩台伺服器之間建立免密通道,具體操作如下:

以192.168.190.186與192.168.190.187實作免密連接配接為例

(一) 在192.168.190.186的伺服器上執行ssh-keygen,連續按3次回車,完成生成公鑰和私鑰,其中id_rsa為私鑰,id_rsa_pub為公鑰,到/root/.ssh目錄下可看到剛剛指令生成的私鑰和公鑰檔案。

熱璞資料庫HotDB Server 安裝部署手冊

(二) 輸入ssh-copy-id目标伺服器的IP,再輸入目标伺服器的密碼,就可以将公鑰傳到目标伺服器

熱璞資料庫HotDB Server 安裝部署手冊

(三) 在192.168.190.187伺服器上檢視從192.168.190.186伺服器上傳送過來的公鑰檔案“authorized_key”。

熱璞資料庫HotDB Server 安裝部署手冊

(四) 測試不需要輸入密碼直接從192.168.190.186伺服器ssh 到192.168.190.187伺服器是否能夠成功登入。

熱璞資料庫HotDB Server 安裝部署手冊

2.2.5. 部署腳本說明

脫離管理平台您也可以直接使用安裝腳本進行安裝,在hotdbinstall.sh腳本後添加–xxx=xxx的方式使用

2.2.5.1. 腳本參數說明

熱璞資料庫HotDB Server 安裝部署手冊

2.2.5.2. 參數使用說明

參數的組合使用:參數名=值+空格+參數名=值 ,例如:

–hotdb-heap-mem-size-gb=1 --hotdb-max-direct-mem-size-gb=1 --ntpdate-server-ip=192

.168.200.140 --rpl-semi-sync-enabled=on --mysql-version=5.7 --hotdb-config-port=3316 --install-ntpd=yes --install-hotdb-server=yes --hotdb-version=2.5 --install-hotdb-backup=yes --mysql-port-list=3307,3308 --install-hotdb-server-management=yes

運作腳本使用方法:

sh -x 腳本名稱.sh+空格+參數串

sh -x hotdbinstall_v*.sh --hotdb-heap-mem-size-gb=1 --hotdb-max-direct-mem-size-gb=1

–ntpdate-server-ip=192.168.200.140 --rpl-semi-sync-enabled=on --mysql-version=5.6 --hotdb-config-port=3316 --install-ntpd=yes --install-hotdb-server=yes --hotdb-version=2.4 --install-hotdb-backup=yes --mysql-port-list=3307,3308 --install-hotdb-server-management=yes

2.2.5.3. 腳本其他說明

  1. 因目前一鍵部署安裝腳本需要執行tune腳本,tune腳本中會修改網卡相關硬體參數,可能導緻網卡短暫失去響應或網卡内部重新開機。已知在配置了Bond的環境下,可能因為作業系統響應不夠快或交換機響應不夠快,導緻短時間内的網絡連接配接中斷,進而導緻SSH終端斷連或HotDB連接配接中斷,部分情況可通過縮短Bond 配置參數miimon=100緩解。
  2. 安裝前建議關閉伺服器自帶的防火牆與selinux功能(selinux重新開機生效)。