1. 程式人生 > >4.5萬字手把手教你實現MySQL TB級資料儲存!!

4.5萬字手把手教你實現MySQL TB級資料儲存!!

## 寫在前面 業界對系統的高可用有著基本的要求,簡單的說,這些要求可以總結為如下所示。 * 系統架構中不存在單點問題。 * 可以最大限度的保障服務的可用性。 一般情況下系統的高可用可以用幾個9來評估。所謂的幾個9就是系統可以保證對外提供的服務的時間達到總時間的百分比。例如如果需要達到99.99的高可用,則系統全年發生故障的總時間不能超過52分鐘。 ## 系統高可用架構 我們既然需要實現系統的高可用架構,那麼,我們到底需要搭建一個什麼樣的系統架構呢?我們可以將需要搭建的系統架構簡化成下圖所示。 ![](https://img-blog.csdnimg.cn/20201124232619889.jpg) ## 伺服器規劃 由於我電腦資源有限,我這裡在4臺伺服器上搭建高可用環境,大家可以按照本文將環境擴充套件到更多的伺服器,搭建步驟都是一樣的。 | 主機名 | IP地址 | 安裝的服務 | | --------- | --------------- | ---------------------------------------------------- | | binghe151 | 192.168.175.151 | Mycat、Zookeeper、MySQL、HAProxy、Keepalived、Xinetd | | binghe152 | 192.168.175.152 | Zookeeper、MySQL | | binghe153 | 192.168.175.153 | Zookeeper、MySQL | | binghe154 | 192.168.175.154 | Mycat、MySQL、HAProxy、Keepalived、Xinetd | | binghe155 | 192.168.175.155 | MySQL | **注意:HAProxy和Keepalived最好和Mycat部署在同一臺伺服器上。** ## 安裝MySQL 小夥伴們可以關注【冰河技術】微信公眾號,參考《[MySQL之——原始碼編譯MySQL8.x+升級gcc+升級cmake(親測完整版)](https://mp.weixin.qq.com/s?__biz=Mzg4MjU0OTM1OA==&mid=2247489456&idx=1&sn=22435ebed07443ca7f990e8f28bdbfc3&chksm=cf55a0b1f82229a7cc92ef24ea59edb5abdc7db80f9e7f46fee3960fd6908aba27f9ec467c83&token=1473173499&lang=zh_CN#rd)》 ## 安裝JDK 由於Mycat和Zookeeper的執行需要JDK環境的支援,所有我們需要在每臺伺服器上安裝JDK環境。 這裡,我以在binghe151伺服器上安裝JDK為例,其他伺服器的安裝方式與在binghe151伺服器上的安裝方式相同。安裝步驟如下所示。 (1)到JDK官網下載JDK 1.8版本,JDK1.8的下載地址為:[https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)。 **注:我下載的JDK安裝包版本為:jdk-8u212-linux-x64.tar.gz,如果JDK版本已更新,大家下載對應的版本即可。** (2)將下載的jdk-8u212-linux-x64.tar.gz安裝包上傳到binghe151伺服器的/usr/local/src目錄下。 (3)解壓jdk-8u212-linux-x64.tar.gz檔案,如下所示。 ```bash tar -zxvf jdk-8u212-linux-x64.tar.gz ``` (4)將解壓的jdk1.8.0_212目錄移動到binghe151伺服器下的/usr/local目錄下,如下所示。 ```bash mv jdk1.8.0_212/ /usr/local/src/ ``` (5)配置JDK系統環境變數,如下所示。 ```bash vim /etc/profile JAVA_HOME=/usr/local/jdk1.8.0_212 CLASS_PATH=.:$JAVA_HOME/lib PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASS_PATH PATH ``` 使系統環境變數生效,如下所示。 ```bash source /etc/profile ``` (6)檢視JDK版本,如下所示。 ```bash [root@binghe151 ~]# java -version java version "1.8.0_212" Java(TM) SE Runtime Environment (build 1.8.0_212-b10) Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode) ``` 結果顯示,正確輸出了JDK的版本資訊,說明JDK安裝成功。 ## 安裝Mycat 下載Mycat 1.6.7.4 Release版本,解壓到伺服器的/usr/local/mycat目錄下,並配置Mycat的系統環境變數,隨後,配置Mycat的配置檔案,Mycat的最終結果配置如下所示。 * schema.xml `