溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL分布式集群MyCAT(一) 簡介及安裝

發(fā)布時間:2020-08-08 00:04:05 來源:ITPUB博客 閱讀:172 作者:bestpaydata 欄目:MySQL數據庫


MyCAT背景

      MyCAT的前身,是阿里巴巴于2012年6月19日,正式對外開源的數據庫中間件Cobar,Cobar的前身是早已經開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內部考慮到Amoeba的穩(wěn)定性、性能和功能支持,以及其他因素,重新設立了一個項目組并且更換名稱為Cobar。Cobar是由 Alibaba 開源的 MySQL 分布式處理中間件,它可以在分布式的環(huán)境下看上去像傳統(tǒng)數據庫一樣提供海量數據服務。

      Cobar自誕生之日起, 就受到廣大程序員的追捧,但是自2013年后,幾乎沒有后續(xù)更新。在此情況下,MyCAT應運而生,它基于阿里開源的Cobar產品而研發(fā),Cobar的穩(wěn)定性、可靠性、優(yōu)秀的架構和性能,以及眾多成熟的使用案例使得MyCAT一開始就擁有一個很好的起點,站在巨人的肩膀上,MyCAT能看到更遠。


MyCAT關鍵特性

·  遵守Mysql原生協(xié)議,跨語言,跨平臺,跨數據庫的通用中間件代理。
·  支持SQL92標準。

·  基于心跳的自動故障切換,支持讀寫分離,支持MySQL主從,以及galera cluster集群。

·  支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster。

·  基于Nio實現,有效管理線程,高并發(fā)問題。

·  支持數據的多片自動路由與聚合,支持sum,count,max等常用的聚合函數。

·  支持單庫內部任意join,支持跨庫2表join,甚至基于caltlet的多表join。

·  支持通過全局表,ER關系的分片策略,實現了高效的多表join查詢。

·  支持多租戶方案。

·  支持分布式事務(弱xa)。

·  支持全局序列號,解決分布式下的主鍵生成問題。

·  分片規(guī)則豐富,插件化開發(fā),易于擴展。

·  強大的web,命令行監(jiān)控。

·  支持前端作為MySQL通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。

·  支持密碼加密

·  支持服務降級

·  支持IP白名單

·  支持SQL黑名單、sql注入攻擊攔截

·  支持分表(1.6)/li>

·  集群基于ZooKeeper管理,在線升級,擴容,智能優(yōu)化,大數據處理(2.0開發(fā)版)。


MyCAT架構

 MySQL分布式集群MyCAT(一) 簡介及安裝



    總體上分成三個部分,最前端的是連接器,線程管理使用了資源池,并且默認采用了AIO的方式(這些基本信息可以再啟動日志里面看到)。
     中間層在圖中已經描述的很清楚了,SQL解析器+SQL路由,SQ,DataNode和心跳檢測算是中間層實現的兩個組件,一個是和MySQL的庫(注意,不是實例)相關,一個是常見的監(jiān)測機制的功能模塊。
     最下層的存儲就是是MySQL的集群了,如何使用MySQL的集群,由我們自己決定。

MyCAT配置項

MyCAT目前通過配置文件的方式來定義邏輯庫和相關配置,主要是包括三個文件:
                    MYCAT_HOME/conf/schema.xml中定義邏輯庫,表、分片節(jié)點等內容。
                    MYCAT_HOME/conf/rule.xml中定義分片規(guī)則。
                    MYCAT_HOME/conf/server.xml中定義用戶以及系統(tǒng)相關變量,如端口等。

MyCAT部署

部署mycat軟件,如下:

1、卸載舊jdk

yum remove java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64 java-1.7.0-openjdk-devel-1.7.0.65-2.5.1.2.el6_5.x86_64

2、安裝jdk

rpm -ivh jdk-8u45-linux-x64.rpm

3、解壓mycat軟件,移動到相應目錄

tar -zxvf Mycat-server-1.4-RELEASE-20150901112004-linux.tar.gz

mv mycat /usr/local

4、創(chuàng)建mycat用戶,軟件目錄,修改密碼

useradd mycat

chown -R mycat.mycat /usr/local/mycat

chmod -R 750 /usr/local/mycat

passwd mycat               

5、測試啟動mycat

./mycat console start


Running Mycat-server...

wrapper  | --> Wrapper Started as Console

wrapper  | Launching a JVM...

jvm 1    | Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0

jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org

jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

jvm 1    | 

jvm 1    | log4j 2015-11-10 14:32:23 [./conf/log4j.xml] load completed.

jvm 1    | MyCAT Server startup successfully. see logs in logs/mycat.log  

--啟動成功

                                                                                                                                            --liuyu


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI