更新時間:2022-01-13 09:56:22 來源:動力節(jié)點(diǎn) 瀏覽1039次
本文準(zhǔn)備使用中間件的架構(gòu),實(shí)現(xiàn)分布式數(shù)據(jù)庫的構(gòu)建。簡單點(diǎn)說,調(diào)用者與中間件通信,有中間件與各個數(shù)據(jù)庫通訊,完成基本數(shù)據(jù)操作,將結(jié)果返回給調(diào)用者。
注意:本文篇幅看似短小,文字間引用的文章鏈接都是需要各位讀者詳細(xì)閱讀的。
本文使用的VM虛擬機(jī),系統(tǒng)為ubuntu 14.04,安裝好系統(tǒng)之后,通過apt安裝mysql server,比較方便。安裝完成之后,記得打開3306端口。
參考下面兩個教程步驟,完成第一步的安裝要求。
mysql安裝 (安裝完mysql即可,Apache等不需要裝)
允許遠(yuǎn)程連接
通過上一步可以構(gòu)建若干(你開心就好)Mysql數(shù)據(jù)庫,本文建了兩個僅做實(shí)驗(yàn)驗(yàn)證。完成后在本地安裝Navicat,驗(yàn)證數(shù)據(jù)連接無誤。
點(diǎn)擊【連接】按鈕,輸入上一步建立的sever的ip,用戶名和密碼。順利連接會跟下圖一樣,顯示鏈接成功。
安裝Amoeba 直接執(zhí)行以下命令即可:
wget https://jaist.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.0.1-BETA.tar.gz
mkdir /usr/local/amoeba-2.0.1
tar xf amoeba-mysql-binary-2.0.1-BETA.tar.gz -C /usr/local/amoeba-2.0.1/
配置鏈接 (配置參考鏈接中第三步之后對amoeba配置方式),連接兩個數(shù)據(jù)庫。
然后可以執(zhí)行下列代碼運(yùn)行Amoeba中間件:
/usr/local/amoeba-2.0.1/bin/amoeba start
權(quán)限問題出現(xiàn)的話,可能需要在代碼前加 sudo
順利的話可以直接連上數(shù)據(jù)庫(怎么可能這么順利吶?!),如果發(fā)生錯誤很大的可能性為常見的兩種錯誤。
參考下面鏈接的解決辦法: Amoeba報(bào)錯解決方案
ubuntu 14.04默認(rèn)java的安裝在/usr/lib/jvm/java-7-openjdk-amd64下
設(shè)置JAVA_HOME環(huán)境變量,在bashrc文件最后加上:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
重啟命令行窗口,再次運(yùn)行Amoeba
如果正確配置的話,執(zhí)行啟動amoeba命令后,會有如下面的輸出。此時amoeba對外提供MYSQL的服務(wù)可以看做是一個虛擬的MySQL數(shù)據(jù)庫。
該數(shù)據(jù)庫的地址為amoeba的ip,端口在配置過程中會有設(shè)置,默認(rèn)為8066(從下圖也能看出來)。
上一步中默認(rèn)忽略了對數(shù)據(jù)庫分片的設(shè)置。然而實(shí)際上分布式數(shù)據(jù)庫最終要的就是對水平分片和豎直分片的設(shè)置。在amoeba中,是通過對conf文件夾中rule.xml文件進(jìn)行配置實(shí)現(xiàn)的。
默認(rèn)的rule.xml文件如下圖。
所謂水平切分就是按照一定規(guī)則將記錄存儲在不同的服務(wù)器上。
而垂直區(qū)分則是將一條記錄的不同列按照約定存儲在不同服務(wù)器上,可以對敏感重要資料起到一定的保護(hù)作用。
完成以上的步驟之后,你就可以的得到一個自己的分布式數(shù)據(jù)庫,之后調(diào)用完全跟普通MYSQL數(shù)據(jù)庫一樣。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743