一、啟動部署工具
Windows系統
#命令行
${安裝目錄}/ClientTools/guitools/DeployTools/deploy.exe
Linux系統
#命令行
[root@node ~]# ${安裝目錄}/ClientTools/guitools/DeployTools/deploy
二、環境配置
1.硬件要求
#都是最小配置
CPU:主流32或64位
內存:1GB以上
硬盤:1GB以上
2.系統環境配置
#以下操作都是在root用戶下執行
1.#/etc/ssh/sshd_config
修改 PermitRootLogin 的參數為 yes。
[root@node ~]# systemctl restart sshd
[root@node ~]# ssh root@192.168.40.32#注意:超過5s以上是不正常的,否則會影響部署和HA的流程。
解決方法:GSSAPIAuthentication 改為 no
和UseDNS 改為 no (謹慎)2.#/etc/security/limits.conf
*soft nofile 65536
*hard nofile 65535
*soft nproc 65536
*hard nproc 65535
*soft core unlimited
*hard core unlimited#用ulimit -n去查看3.#/etc/sysctl.conf
#增加信號量
kernel.sem = 5010 641280 5010 256
#增加系統最大打開句柄數量
fs.file-max = 2000000 #root用戶執行下面命令使其生效
sysctl -p4.#/etc/rc.d/rc.local(不操作)5.#/etc/systemd/logind.conf
RemoveIPC=no
[root@node ~]# systemctl daemon-reload
[root@node ~]# systemctl restart systemd-logind.service6.#/etc/systemd/system.conf(不操作)
三、集群部署(通用機)
1、創建項目
#啟動
[kingbase@node ~]$ /home/kingbase/Kingbase/ES/V8/ClientTools/guitools/DeployTools/deploy
2、創建集群
輸入項 | 描述 |
---|---|
選擇數據庫 zip 包 | 點擊選擇按鈕,選擇 db.zip。 |
大小寫不敏感 | 默認不勾選,即大小寫敏感 |
max_connections | 數據庫最大連接數,默認 100 個,不能為空。參數最小值不能小于 100,最大值無限制。 |
listenerPort | 數據庫監聽端口號,默認 54321,不能為空。 |
dbUser | 數據庫用戶名,默認 system,不能為空。 |
dbPassword | 數據庫密碼,默認 12345678ab,不能為空。 |
synchronous | 集群同異步控制參數。sync,同步集群,第一個正常的備庫為同步備庫;async,異步集群,所有備庫為異步;quorum,優選同步集群,所有備庫中最先同步完成的為同步備庫;all,動態全同步集群,所有備庫為同步備庫;custom,自定義同異步模式集群,支持自定義集群中每個節點的同異步類型。 |
archive_path | 數據庫歸檔路徑。 |
dbmode | 數據庫兼容模式,Oracle、PostgreSQL、MySQL 三種模式,默認兼容 Oracle。 |
加密算法 | 數據庫認證采取的加密方式,scram-sha-256、md5、scram-sm3、sm4,默認是 scram-sha-256。 |
使用已存在的 data 目錄 | on:主節點創建時使用指定的 data 目錄進行集群的部署,后面輸入框狀態變更為可輸入,必須配置為絕對路徑;當前頁面中的 dbmode、加密算法、大小寫不敏感變為灰色,無法選擇或勾選。高級設置頁面中的審計表空間加密、db_other_options、encoding、waldir 變為灰色無法勾選。off:后面的輸入框為灰色不可輸入,后面輸入框中默認顯示的內容等同于下面的 data_directory 的值。 |
ip 類型 | 支持 IPV4 和 IPV6 兩種地址類型。 |
trust_server | 集群的信任網關,網關可以填寫多個用英文逗號分隔,多個信任網關中有一個可用即可。 |
使用 hostname | 開啟后工具支持多網域域名部署 |
使用多網冗余部署 | 開啟后 connection_timeout 參數改為 10,關閉為 5。此功能需開啟“使用 hostname”才可使用。 |
ping_path | 系統環境中 ping 指令所在路徑。 |
hamgr_dbname | 默認是 esrep,且不可修改。repmgr 所依賴的表就存放在此數據庫中。 |
hamgr_dbuser | 默認是 esrep,且不可修改。登錄 esrep 數據庫的用戶為 esrep。 |
data_directory | 集群數據庫 data 存放路徑。 |
sys_bindir | 集群數據庫 bin 存放路徑。 |
repmgrd_pid_file | 記錄 repmgrd pid 文件路徑,默認值:${cluster_path}/kingbase/etc/repmgrd.pid,參數值不允許修改。寫入 repmgr.conf 文件,參數名為:repmgrd_pid_file |
kbha_pid_file | 記錄 kbha pid 文件路徑,默認值:${cluster_path}/kingbase/etc/kbha.pid,參數值不允許修改。寫入 repmgr.conf 文件,參數名為:kbha_pid_file |
repmgrd_log_file | 記錄 repmgrd 日志文件路徑,默認值:${cluster_path}/kingbase/log/hamgr.log,參數值不允許修改。寫入 repmgr.conf 文件,參數名為:log_file |
kbha_log_file | 記錄 kbha 日志文件路徑,默認值:${cluster_path}/kingbase/log/kbha.log,參數值不允許修改。寫入 repmgr.conf 文件,參數名為:kbha_log_file |
running_under_failure_trusted_servers | 網關故障后數據庫是否繼續運行,可選值為 on 或 off,默認為 on。on:網關故障后,數據庫不受影響,正常運行;off:網關故障后,集群會關閉數據庫保證數據不發生分歧。 |
data_checksums | 用于控制是否開啟數據校驗和功能,默認是開啟狀態。on:開啟數據校驗和功能;off:關閉數據校驗和功能;寫入 repmgr_config.conf 文件,參數名為:data_checksums。 |
archive_mode | on:開啟 WAL 日志歸檔;off:不歸檔。在開啟歸檔時,always:在普通操作期間,與 on 參數沒有區別。但是當設置為 always 時,重做日志歸檔進程在歸檔恢復或者后備模式下也會被啟用,所有從歸檔恢復或者用流復制傳來的重做日志文件文件將被(再次)歸檔。作用:可在誤操作或者數據損壞的情況下,通過物理備份和歸檔進行數據恢復。 |
流復制通信超時時間 | 流復制之間的數據傳輸超時時間,超過這個時間沒有數據傳輸則表示流復制斷開了,會進行重連。 |
注意:
- max_connections 的值只能修改為更大的值,不能修改為更小的值。
- 利用which ping 命令,查看操作系統中真實的 ping_path 路徑
- 集群部署完成后,不要修改repmgrd_pid_file、kbha_pid_file 參數的值,修改后可能會造成同時啟動多個 kbha 或 repmgrd 進程。
輸入項 | 描述 |
---|---|
wal_keep_segments | 最小預留 xlog 文件個數,默認為 512 個,不能為空。 |
max_wal_senders | 支持最大集群備機個數,默認為 32,此配置項不能大于 max_connections,最少是 n+4 個(n 為集群節點個數),不能為空。 |
hot_standby_feedback | 備機讀事務時避免主機 vacuum 造成的數據無法查詢的取消沖突,默認為 on,開啟狀態。 |
control_file_copy | 控制文件多副本,最多可配置 8 個文件,寫入到 es_rep.conf 里 |
審計表空間加密 | 若勾選,則初始化數據庫時增加-t 作為參數執行;若輸入框中輸入內容,則初始化數據庫時增加-t -K ${輸入的內容} 作為參數執行。 |
log_checkpoints | 數據庫日志中記錄檢查點和重啟點(包括統計信息、寫入緩沖區的數據及耗時),取值 on/off,默認為 on。 |
log_replication_commands | 數據庫日志中記錄每一個復制命令,取值 on/off,默認為 on。 |
wal_compression | 打開后減小 WAL 空間(無不可恢復數據損壞風險),但增加 CPU 開銷(壓縮/解壓 WAL 記錄),取值 on/off,默認為 on。 |
db_other_options | Oracle 兼容模式下,initdb 需添加 -scenario-tuning 參數,調用 scenario_tuning.sql 生成 V7 兼容視圖/字段。 |
encoding | 模板數據庫編碼格式,未選時不可選 locale;選 default 時為 SQL_ASCII,默認為 utf8。 |
locale | Collate 和 CType 的統一值(如 “C” 表示二進制比較規則),初始化后不可修改。 |
virtual_ip | DB 節點虛擬 IP(切換時跟隨主 DB),多 cluster 時可空;填寫需為有效、不可 ping 通的 IP。 |
virtual_ip_mask | 虛擬 IP 掩碼長度,默認 24,需與加載虛擬 IP 的網卡實際掩碼一致。 |
ip_path | 系統環境中 ip 指令所在路徑。 |
auto_cluster_recovery_level | 全故障自動恢復配置:0(關閉)、1(打開),默認為 1。 |
use_check_disk | 磁盤故障后是否關閉數據庫:off(關閉)、on(開啟),默認為 off。 |
waldir | 指定 wal 日志軟鏈接目錄,將 data 目錄中 sys_wal 作為軟連接存在。 |
scmd_options | 集群節點 ssh 通信配置項,連接超時 10 秒。 |
conn_options | 集群節點連接配置項。 |
failover | 節點故障自動切換模式:automatic(默認)、manual。 |
服務可用優先 / 數據保護優先 | 單選項,影響 reconnect_attempts /reconnect_interval /recovery /synchronous_commit 默認值,默認數據保護優先。 |
reconnect_attempts | 集群連接重試次數:服務可用優先默認 3,數據保護優先默認 10。 |
reconnect_interval | 集群連接重試間隔(最小值 3):服務可用優先默認 5,數據保護優先默認 6。 |
recovery | 節點故障自動恢復模式:manual(關閉)、standby(備機恢復)、automatic(全部恢復);服務可用優先默認 automatic,數據保護優先默認 standby。 |
synchronous_commit | 事務提交前是否等待 WAL 寫入磁盤:on/off/local/remote_write/remote_apply;服務可用優先默認 on,數據保護優先默認 remote_apply。 |
注意:在使用 NetworkManager 管理網絡服務的情況下,你手動刪除了 virtual_ip 所在網卡上所有的物理
IP,有可能導致 virtual_ip 丟失,且在物理 IP 被重新添加上之前,virtual_ip 不會自動添加。
3、新增節點
輸入項 | 描述 |
---|---|
使用 ssh 啟動 securecmd | 單選項,默認選中。此項選中時,需配置 ssh 端口 、root 密碼 、選擇 securecmd 文件 、securecmd 路徑 四項;支持通過 ssh 方式上傳并啟用 securecmd。 |
主機名或 IP 地址 | 當前節點(服務器)的 IP 地址或主機名;若“開啟 hostname”未勾選,此處顯示為 IP 地址。 |
ssh 端口 | 節點所在物理機器的 ssh 端口,默認 22,不可為空。 |
用戶名 | 下拉框單選項:部署主節點時默認 root ,可選物理機的 root 或常規用戶;部署備節點時,與主節點部署用戶一致。 |
用戶密碼 | 節點物理機的 root 或常規用戶密碼,需與“用戶名”匹配,不能為空。 |
選擇 securecmd 文件 | securecmd 安裝包,不可為空。 |
securecmd 路徑 | 節點服務器上 securecmd 的部署路徑,不可為空;必須位于 /home/${常規用戶} 目錄下。 |
使用已部署的 securecmd | 單選項,默認不選中;選中后需手動在節點服務配置 securecmd,可點擊“下一步”進入節點配置頁。 |
輸入項 | 描述 |
---|---|
securecmd 版本檢查 | 下拉框選項,可選值為 “自動檢查”、“指定版本”。選擇 “指定版本” 時需填寫版本號。 |
securecmd 版本號 | 當 “securecmd 版本檢查” 選擇 “指定版本” 時,需填寫此選項,格式為 X.Y.Z(如 1.2.3)。 |
加密方式 | 下拉框單選項,可選值為 “AES-256”、“RSA-2048”、“SM4”,默認為 “AES-256”。 |
密鑰長度 | 根據所選加密方式自動調整,如 AES 可選 128/192/256 位,RSA 可選 1024/2048/4096 位。 |
連接超時時間(秒) | 整數輸入框,范圍 1-300,默認 30 秒,用于設置 securecmd 連接超時時間。 |
心跳檢測間隔(秒) | 整數輸入框,范圍 5-300,默認 60 秒,用于設置 securecmd 心跳檢測頻率。 |
最大并發連接數 | 整數輸入框,范圍 1-1000,默認 100,限制同時連接到 securecmd 的最大客戶端數量。 |
日志級別 | 下拉框單選項,可選值為 “ERROR”、“WARN”、“INFO”、“DEBUG”,默認為 “INFO”。 |
日志保存路徑 | 節點服務器上 securecmd 日志文件的保存路徑,默認為 /var/log/securecmd/ ,需確保目錄可寫。 |
自動更新 | 開關選項,默認關閉。開啟后,securecmd 將自動檢測并下載官方更新補丁。 |
更新時間窗口 | 當 “自動更新” 開啟時顯示,下拉框選項,可選 “凌晨 0-2 點”、“凌晨 2-4 點” 等維護時間段。 |
節點環境檢測
- 點擊檢查按鈕–>黃色提示為警告內容
- 點擊一鍵修改系統參數,可解決
- 點擊關閉防火墻
4、新增Witneess節點
集群里主庫、備庫可能因網絡問題 “鬧別扭”(比如備庫突然連不上主庫,但主庫其實還活著 ),Witness 節點負責當 “裁判”,判斷到底誰該當主、誰該當備,避免出現 “腦裂”(多節點都自認主庫,互相沖突,數據亂套)。
輸入項 | 描述 |
---|---|
Witness 名稱 | 用戶自定義的 Witness 節點名稱(服務器的別名),最終將會顯示在左側的樹形菜單中。 |
主機名或 IP 地址 | 當前節點(服務器)的 IP 地址或主機名。當“開啟 hostname”選項未勾選時,此處名稱為 IP 地址。 |
securecmd 端口、常規用戶、默認路徑 | 此三項均來自通用配置中,無需再次填寫,且無法修改。詳細介紹參見通用配置參數介紹。 |
系統節點名稱 | 系統節點名稱是用于記錄在數據庫配置文件中的節點(服務器)別名,目前采用 node + ip 最后一段的拼接的方式命名。 |
選擇 license 文件 | 此項主要是針對非保密機集群。需要填寫集群節點所需要的 license 的上傳路徑。 |
5、刪除節點
鼠標右鍵點擊需要刪除的節點。當 synchronous 為非 custom 模式時,節點狀態需正常才能進行刪除節點。
6、日志查詢功能
輸入項 | 描述 |
---|---|
顯示名稱 | 新建的日志節點名稱,只能是英文、數字、下劃線或者三者組合,不能為空。 |
主機名或 IP 地址 | 當前節點(服務器)的 IP 地址或主機名。當“開啟 hostname”選項未勾選時,此處名稱為 IP 地址。 |
securecmd 端口 | 工具連接節點或者直接向節點發起指令時,創建連接所使用到的 securecmd 服務端口號,默認為 8890,可根據環境修改 |
securecmd 用戶名 | 工具連接節點需要通過指定用戶連接的用戶名 |
securecmd 密碼 | 對應用戶名的用戶密碼 |
數據庫 Data 路徑 | 節點所安裝的數據庫對應的 Data 目錄的路徑 |
日志查看
7、開發者模式
-
此模式的功能:啟動此節點數據庫、恢復至集群、提升為主庫、保留此主庫。但是有丟數據的風險。
-
輸入密碼“rdjc12#$”,選擇“正常”開啟開發者模式。
8、集群管理
8.1 集群查看
8.2 恢復至集群(需開啟開發者模式)
原主機宕機或異常,右鍵異常的原主節點,”恢復
至集群”按鈕變為可點擊狀態
8.3 提升為主庫(需開啟開發者模式)
8.4 保留此主庫(需開啟開發者模式)
8.5 節點查看
左鍵雙擊需要查看的節點名稱,查看節點信息
8.6 啟動/關閉集群
鼠標右鍵選擇集群,選擇菜單中的停止集群
8.7 暫停/恢復功能
圖中有復選框 dry-run,如果勾選復選框,工具會先嘗試執行一次暫停自動功能的操作,嘗試成功則直接執行暫停指令。反之,失敗則不執行暫停指令。如果未勾選復選框,工具會直接執行暫停集群功能的指令。暫停狀態會被現實成紅色。
8.8 主備切換功能
8.9 一鍵檢查功能
8.10 修改參數配置
輸入項 | 描述 |
---|---|
參數名稱 | 下拉選項(包括可配置的數據庫參數) |
參數值 | 輸入參數名稱對應的值 |
說明 | 參數值范圍等相關說明 |
8.11 修改集群密碼
輸入數據庫超級用戶(管理員)的用戶名及密碼,并輸入 esrep 用戶的新密碼兩遍,實現對 esrep 用戶的密碼修改。
8.12 啟動此節點數據庫(需開啟開發者模式)
點擊節點–>啟動此節點數據庫
四、集群部署(專機)
集群部署工具安裝后,使用前,需要自己手動啟動節點服務器上的 securecmd 服務,并刪除安裝后生成的 data目錄。
所有內容都和通用機一樣,區別在于集群管理中的一鍵檢查功能沒有