1. 程式人生 > >Mycat十分鐘入門---上帝說要有光,於是便有了光

Mycat十分鐘入門---上帝說要有光,於是便有了光

10分鐘入門

MyCAT是使用JAVA語言進行編寫開發,使用前需要先安裝JAVA執行環境(JRE),由於MyCAT中使用了JDK7中的一些特性,所以要求必須在JDK7以上的版本上執行。
1 環境準備
1) JDK下載
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
注:必須JDK7或更高版本.
2) MySQL下載
http://dev.mysql.com/downloads/mysql/5.5.html#downloads
注:MyCAT支援多種資料庫接入,如:MySQL、SQLServer、Oracle、MongoDB等,推薦使用MySQL做叢集。
3) MyCAT專案主頁

https://github.com/MyCATApache/
注:MyCAT相關原始碼、文件都可以在此地址下進行下載。
2 環境安裝與配置
如果是第一次剛接觸MyCAT,建議先下載MyCAT-Server原始碼到本地,通過Eclipse等工具進行配置和執行,便於深入瞭解和除錯程式執行邏輯。
1) MyCAT-Server原始碼下載
由於MyCAT原始碼目前主要託管在github上,需要先在本地安裝和配置好相關環境,具體參考群共享中“github-eclipse開發指南.docx”,這說明有很詳細的配置說明,按照文件中的步驟把MyCAT-Server原始碼下載到本地即可。
MyCAT-Server倉庫地址:
https://github.com/MyCATApache/Mycat-Server.git

2) 原始碼除錯與配置
MyCAT目前主要通過配置檔案的方式來定義邏輯庫和相關配置:

  • • MYCAT_HOME/conf/schema.xml中定義邏輯庫,表、分片節點等內容.
  • • MYCAT_HOME/conf/rule.xml中定義分片規則.
  • • MYCAT_HOME/conf/server.xml中定義使用者以及系統相關變數,如埠等.

注:以上幾個檔案的具體配置請參考前面章節中的具體說明.
3) 原始碼執行
MyCAT入口程式是org.opencloudb.MycatStartup.java,右鍵run as出現下面的介面,需要設定MYCAT_HOME目錄,為你工程當前所在目錄(src/main):
這裡寫圖片描述


設定完MYCAT主目錄後即可正常執行MyCAT服務。
注:若啟動報錯,DirectBuffer記憶體不夠,則可以再加JVM系統引數:
XX:MaxDirectMemorySize=128M

服務安裝與配置

1 linux
MyCAT有提供編譯好的安裝包,支援windows、Linux、Mac、Solaris等系統上安裝與執行。
linux下可以下載Mycat-server-xxxxx.linux.tar.gz 解壓在某個目錄下,注意目錄不能有空格,在Linux(Unix)下,建議放在usr/local/Mycat目錄下,如下:
這裡寫圖片描述
下面是修改MyCAT使用者密碼的方式(僅供參考):
目錄解釋如下:
這裡寫圖片描述
這裡寫圖片描述
bin 程式目錄,存放了window版本和linux版本,除了提供封裝成服務的版本之外,也提供了nowrap的shell指令碼命令,方便大家選擇和修改,進入到bin目錄:
Linux下執行:./mycat console,首先要chmod +x *
注:mycat支援的命令{ console | start | stop | restart | status | dump }
conf目錄下存放配置檔案,server.xml是Mycat伺服器引數調整和使用者授權的配置檔案,schema.xml是邏輯庫定義和表以及分片定義的配置檔案,rule.xml是分片規則的配置檔案,分片規則的具體一些引數資訊單獨存放為檔案,也在這個目錄下,配置檔案修改,需要重啟Mycat或者通過9066埠reload.
lib目錄下主要存放mycat依賴的一些jar檔案.
日誌存放在logs/mycat.log中,每天一個檔案,日誌的配置是在conf/log4j.xml中,根據自己的需要,可以調整輸出級別為debug,debug級別下,會輸出更多的資訊,方便排查問題.
注意:Linux下部署安裝MySQL,預設不忽略表名大小寫,需要手動到/etc/my.cnf 下配置 lower_case_table_names=1 使Linux環境下MySQL忽略表名大小寫,否則使用MyCAT的時候會提示找不到表的錯誤!
2 windows
MyCAT有提供編譯好的安裝包,支援windows、Linux、Mac、Solaris等系統上安裝與執行。
windows下可以下載Mycat-server-xxxxx-win.tar.gz 解壓在某個目錄下,建議解壓到本地某個碟符根目錄下,如下:
目錄解釋如下:
這裡寫圖片描述
bin 程式目錄,存放了window版本和linux版本,除了提供封裝成服務的版本之外,也提供了nowrap的shell指令碼命令,方便大家選擇和修改,進入到bin目錄:
Windows下執行:執行: mycat.bat在控制檯啟動程式,也可以裝載成服務,若此程式執行有問題,也可以執行startup_nowrap.bat,確保java命令可以在命令執行。
Windows下將MyCAT做成系統服務:MyCAT提供warp方式的命令,可以將MyCAT安裝成系統服務並可啟動和停止。
進入bin目錄下, 輸入 ./mycat start 啟動mycat服務.
conf目錄下存放配置檔案,server.xml是Mycat伺服器引數調整和使用者授權的配置檔案,schema.xml是邏輯庫定義和表以及分片定義的配置檔案,rule.xml是分片規則的配置檔案,分片規則的具體一些引數資訊單獨存放為檔案,也在這個目錄下,配置檔案修改,需要重啟Mycat或者通過9066埠reload.
lib目錄下主要存放mycat依賴的一些jar檔案.
日誌存放在logs/mycat.log中,每天一個檔案,日誌的配置是在conf/log4j.xml中,根據自己的需要,可以調整輸出級別為debug,debug級別下,會輸出更多的資訊,方便排查問題.

服務啟動與啟動設定

1 linux
MyCAT在Linux中部署啟動時,首先需要在Linux系統的環境變數中配置MYCAT_HOME,操作方式如下:
1) vi /etc/profile,在系統環境變數檔案中增加

MYCAT_HOME=/usr/local/Mycat

2) 執行 source /etc/profile 命令,使環境變數生效。
如果是在多臺Linux系統中組建的MyCAT叢集,那需要在MyCAT Server所在的伺服器上配置對其他ip和主機名的對映,配置方式如下:

vi /etc/hosts

例如:我有4臺機器,配置如下:
IP 主機名:

192.168.100.2 sam_server_1
192.168.100.3 sam_server_2
192.168.100.4 sam_server_3
192.168.100.5 sam_server_4

編輯完後,儲存檔案。
經過以上兩個步驟的配置,就可以到/usr/local/Mycat/bin 目錄下執行:

./mycat start

即可啟動mycat服務!
2 windows
MyCAT在windows中部署時,建議放在某個碟符的根目錄下,如果不是在根目錄下,請儘量不要放在包含中文的目錄下
如:D:\Mycat-server-1.4-win\
命令列方式啟動:
從cmd中執行命令到達 D:\Mycat-server-1.4-win\bin 目錄下,執行startup_nowrap.bat 即可啟動MyCAT服務。
注:執行此命令時,需要確保windows系統中已經配置好了JAVA的環境變數,並可執行java命令。jdk版本必須是1.7及以上版本。

基於zk的啟動

1.5開始會支援本地xml啟動,以及從zk載入配置轉為本地xml的兩種方式,conf下的zk.conf檔案裡設定loadfromzk引數預設為false
如果沒有這個檔案,或者沒有loadfromzk為true的引數,即從本地載入。下面介紹從ZK啟動相關配置。
Zk-create.yaml說明
1.5正式引入zookeeper(以下簡稱zk)管理Mycat-Server,啟動server第一步是初始化zk資料,下面介紹初始化zk資料步驟,資訊在zk-create.yaml。Mycat ZK配置檔案詳解:https://github.com/MyCATApache/Mycat-doc/blob/master/%E8%AE%BE%E8%AE%A1%E6%96%87%E6%A1%A3/2.0/Mycat%20ZK%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E8%AF%A6%E8%A7%A3.docx
1、zk-create總體結構
這裡寫圖片描述
2、引數說明
2.1、zkURL,zk連線地址
2.2、mycat-cluster
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
2.3、mycat-hosts
這裡寫圖片描述
2.4、mycat-zones
這裡寫圖片描述
2.5、mycat-nodes
這裡寫圖片描述
2.6、mycat-mysqls
這裡寫圖片描述
2.7、mysql-reps
這裡寫圖片描述
Zk初始化
1、進入MYCAT/bin目錄

cd /data/test1/mycat/bin

這裡寫圖片描述
2、修改MYCAT/conf/zk-create.yaml內容
修改方法見“Zk-create.yaml說明”。
3、啟動ZK
啟動ZK: bin/zkServer.sh start
這裡寫圖片描述
登陸ZK: bin/zkCli.sh
這裡寫圖片描述
4、初始化ZK資料
sh create_zookeeper_data.sh
等待執行結束後,檢查ZK資料
5、檢查ZK資料
這裡寫圖片描述
OK,資料初始化成功。

demo使用