通常在多機環境下部署數據庫的集羣模式是比較繁瑣的,下面我來分享一個如何經過shell腳本的方式簡單、方便地部署咱們的集羣。
首先,咱們要給機器配置信任關係,這樣咱們就無需手動的輸入密碼來執行ssh和scp操做
假設咱們咱們有四臺機器:
suse1 suse2 suse3 suse4
suse1是部署控制機,suse2 suse3 suse4是須要部署的機器
suse2 suse3 suse4分別執行
ssh-keygen -d
產生祕鑰和公鑰,再將各自的公鑰存儲在suse1的authorized_keys文件中
若是suse1也是須要部署的機器,一樣也是須要創建相應的信任關係
創建好信任關係後,將四個腳本文件和SequoiaDB安裝軟件放在同一個文件夾,咱們就能夠操做部署了
我將部署的腳本分紅了四部分:
控制機執行腳本、遠程機執行腳本、函數庫腳本和部署配置腳本
控制機執行腳本 sequoiadb_deploy.sh
主要的工做是分發文件,將數據庫軟件、遠程執行腳本、函數庫腳本和配置腳本分發到遠程機器的
再通知遠程的機器執行遠程文件
遠程機執行腳本 remote_deploy.sh
主要工做
卸載舊版本的SequoiaDB數據庫,安裝新版本的SequoiaDB數據庫,配置SequoiaDB引擎啓動文件
啓動本機的SequoiaDB引擎
針對部署方案,將磁盤mount到指定的目錄,以備以後各個數據節點的數據存放
對系統的配置進行修改
包括
1 容許產生core文件,而且產生的core文件不作大小限制
2 不限制數據庫進程非配的內存大小
3 不限制數據庫進程所容許尋址的文件大小
4 不限制數據庫所容許的最大resident set大小
5 不限制數據庫進程所容許最大虛擬內存尋址空間
函數庫腳本 deploy_function.sh
編寫了整個部署過程當中須要的全部方法,這樣作的目的除了讓部署的腳本看起來更簡潔,也方便部署方案的靈活多變
1 cleanENV 卸載SequoiaDB數據庫和清理環境
2 installSoftware 安裝SequoiaDB數據庫和拷貝引擎的配置文件
3 write_coord_conf 修改引擎的配置文件
4 start_deploy 啓動SequoiaDB數據庫引擎
5 deploy_sequoiadb_env 部署數據庫集羣模式,包括啓動catalog和datanode
6 cpToMachine scp拷貝函數,方便調用
7 writeSYSFile 修改系統的內核參數
部署配置腳本 common.sh
在部署過程當中,能夠靈活的根據部署方案作出相應的改變
INSTALL_DIR 控制機的部署文件所在路徑(將四個腳本文件和SequoiaDB安裝軟件放在同一目錄)
SOFTWARE_FILE_DIR 部署機器臨時存放文件路徑
SDB_INSTALL_DIR SequoiaDB安裝路徑(不建議修改)
DATABASE_DIR 各個節點數據、信息、日誌存放路徑
INSTALL_SOFTWARE_FILE SequoiaDB安裝軟件的名字(注意:不須要填寫路徑)
SDB_CMD SequoiaDB客戶端路徑
GROUP_LIST 創建數據節點的列表
HOST? 部署的主機名(hostname)
dataNodeBasePort 數據節點的開始端口號,若是創建多個,即在此基礎上+10
DISKLIST 硬盤列表
代碼下載連接:
http://pan.baidu.com/share/link?shareid=2301605038&uk=1763139216
SequoiaDB下載地址:
Sequoiadb-1.3 for IBM Power Linux 64 Installer 202.60MB
Sequoiadb-1.3 for Linux x86_64 Installer 201.72MB
SequoiaDB Demo VMware 虛機鏡像(只能體驗功能,不能測試性能和可擴展性)
SequoiaDB教程:
SequoiaDB信息中心