4.5萬字手把手教你實現MySQL TB級資料儲存!!
阿新 • • 發佈:2021-01-10
## 寫在前面
業界對系統的高可用有著基本的要求,簡單的說,這些要求可以總結為如下所示。
* 系統架構中不存在單點問題。
* 可以最大限度的保障服務的可用性。
一般情況下系統的高可用可以用幾個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
`