亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Amoeba for MySQL MySql集群軟件

系統 1843 0

一, Amoeba簡述 ??? Amoeba for MySQL致力于MySQL的分布式數據庫前端代理層,它主要在應用層訪問MySQL的時候充當query 路由功能,專注 分布式數據庫 proxy 開發。座落與Client、DB Server(s)之間。對客戶端透明。具有負載均衡、高可用性、Query過濾、讀寫分離、可路由相關的query到目標數據庫、可并發請求多臺數據庫合并結果。 在Amoeba上面你能夠完成多數據源的高可用、負載均衡、數據切片的功能。目前在很多企業的生產線上面使用。

二, Amoeba使用指南

說明文檔見: http://docs.hexnova.com/amoeba/

三, 安裝小結

(1)目前可以有三種解決方式實現mysql讀寫分離

1 程序修改mysql操作類

優點:直接和數據庫通信,簡單快捷的讀寫分離和隨機的方式實現的負載均衡,權限獨立分配 缺點:自己維護更新,增減服務器在代碼處理

2 amoeba

參考官網: http://amoeba.meidusa.com/

優點:直接實現讀寫分離和負載均衡,不用修改代碼,有很靈活的數據解決方案 缺點:自己分配賬戶,和后端數據庫權限管理獨立,權限處理不夠靈活

3 mysql-proxy

參考 mysql-proxy。

優點:直接實現讀寫分離和負載均衡,不用修改代碼,master和slave用一樣的帳號 缺點:字符集問題,lua語言編程,還只是alpha版本,時間消耗有點高

如果你不能安裝軟件來解決讀寫分離,那可以嘗試阿權的項目解決思路。

如果你可以安裝軟件,那amoeba是不錯的,mysql-proxy不太建議,目前只有alpha版本,效率還不太理想,amoeba目前在阿里巴巴是內部項目,正在生產環境使用的。

?

(2)amoeba的安裝使用

1 安裝java環境,需要Java SE 1.5 或以上

2 配置xml文件

下載地址: http://www.sf.net/projects/amoeba

解壓就可以使用的,順便說一下,打包的習慣似乎不是太好,最好解壓后是自己的文件夾,如用tar -zxpf amoeba-mysql-binary-2.1.0-RC5.tar.gz -C /usr/local/amoeba-mysql

運行很簡單 bin/amoeba 即可,后臺運行 bin/amoeba &

如果沒有配置JAVA_HOME,則會有如下提示:

[root@aslibra amoeba-mysql]# bin/amoeba

Error: JAVA_HOME environment variable is not set.

如果你是比1.5低,比如1.4的,運行會有錯誤提示:

[root@aslibra amoeba-mysql]# bin/amoeba

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/meidusa/amoeba/mysql/server/MysqlProxyServer (Unsupported major.minor version49.0)

??????? at java.lang.ClassLoader.defineClass0(Native Method)

??????? at java.lang.ClassLoader.defineClass(ClassLoader.java:539)

??????? at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)

..... 下載jdk1.5以上的版本,壓縮版解壓后設置好環境變量即可 可以編輯 /etc/profile以便啟動時變量生效,末尾加上 ##############? java? ###########

JAVA_HOME=/usr/java/jdk PATH=$PATH:JAVA_HOME/bin export JAVA_HOME PATH

用bin/amoeba start即可啟動amoeba 如bin/amoeba start > /dev/null &

配置amoeba: conf/amoeba.xml 配置mysql數據庫,簡單說明一下:

1 server節點定義amoeba為接受client訪問的數據庫,可以當作是mysql看待的,用戶名和密碼是訪問時使用的,這個似乎不能定義多個用戶名密碼,也就是只有一個權限控制,這個對于多應用似乎不大方便。

2 dbServerList里面可以定義很多實際的mysql數據庫,增加dbServer節點即可,這里的用戶名密碼是作為amoeba操作數據庫使用的,要有足夠權限。dbServer可以是虛擬的,比如要做負載均衡時可用定義多個數據庫歸屬到此虛擬數據庫。2.1RC版的dbServer已移到dbServers.xml文件中配置。

3 queryRouter節點定義讀寫的分配情況,也就是讀寫該發往那個dbServer。

4 amoeba.xml 修改主配置文件

4.1)把默認端口8066改成3306 <property name="port">3066</property>

4.2)把默認連接用戶名和密碼改成自己的 <property name="user">sky</property> <property name="password">123456</property>

4.3)把默認的客戶端線程數,請求數及服務端回應數改成200,300,300 <property name="readThreadPoolSize">200</property> ?<!-- proxy server client process thread size --> ?<property name="clientSideThreadPoolSize">300</property> ?<!-- mysql server data packet process thread size --> ?<property name="serverSideThreadPoolSize">300</property

4.4)把默認注釋掉的讀寫分離選項,把注釋去掉并readpool修改成server2

<!--? --> <property name="writePool">server1</property> <property name="readPool">server2</property>

提示:readPool或writePool可以是dbServers中的multiPool名稱,用multiPool來設置負載均衡。

5. vi dbServers.xml 增加SEVER2模塊,里面的連接用戶名密碼及地址都表示兩臺MYSQL的物理機器,192.168.1.11和192.168.1.13 另SERVER1是寫,SERVER是讀

<?xml version="1.0" encoding="gb2312"?>

<amoeba:dbServers xmlns:amoeba=" http://amoeba.meidusa.com/ ">

? <!--Each dbServer needs to be configured into a Pool, If you need to configure multiple dbServer with load balancing that can be simplified ????? by the following configuration:?add attribute with name virtual = "true" in dbServer, but the configuration does not allow the element with name factoryConfig such as 'multiPool' dbServer ? -->

? <dbServer name="abstractServer" abstractive="true">

??? <factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">

????? <property name="manager">${defaultManager}</property>

????? <property name="sendBufferSize">64</property>

????? <property name="receiveBufferSize">128</property>

????? <!-- mysql port -->

????? <property name="port">3306</property>

????? <!-- mysql schema -->

????? <property name="schema">test</property>

????? <!-- mysql user -->

????? <property name="user">root</property>

????? <!--??? mysql password -->

????? <property name="password">123456</property>

??? </factoryConfig>

??? <poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool">

????? <property name="maxActive">500</property>

????? <property name="maxIdle">500</property>

????? <property name="minIdle">10</property>

????? <property name="minEvictableIdleTimeMillis">600000</property>

????? <property name="timeBetweenEvictionRunsMillis">600000</property>

????? <property name="testOnBorrow">true</property>

????? <property name="testWhileIdle">true</property>

??? </poolConfig>

? </dbServer>

? <dbServer name="server1" parent="abstractServer">

??? <factoryConfig>

????? <!-- mysql ip -->

????? <property name="ipAddress">192.168.2.11</property>

??? </factoryConfig>

? </dbServer>

? <dbServer name="server2" parent="abstractServer">

??? <factoryConfig>

????? <!-- mysql ip -->

????? <property name="ipAddress">192.168.2.13</property>

??? </factoryConfig>

? </dbServer>

? <dbServer name="multiPool" virtual="true">

??? <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">

????? <!-- Load balancing strategy: 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->

????? <property name="loadbalance">1</property>

????? <!-- Separated by commas,such as: server1,server2,server1 -->

????? <property name="poolNames">server1</property>

??? </poolConfig>

? </dbServer>

</amoeba:dbServers>

6:修改log4j.xml 取消日志文件生成,如做pdf時(太大了,磁盤很容易滿)

<param name="file" value="${amoeba.home}/logs/project.log"/>

改成 <param name="file" value="<![CDATA[${amoeba.home}/logs/project.log>/dev/null]]>"/> 注意:我在2.1-rc5版本下第6條的設置JAVA運行時報警,無法通過。

7:性能優化,打開bin/amoeba DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k"

改成

DEFAULT_OPTS="-server -Xms2048m -Xmx2048m -Xmn1000m -Xss2048k"

8:啟動amoeba nohup /usr/local/amoeba/bin/amoeba start 2>&1 >/dev/null &

Amoeba for MySQL MySql集群軟件


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 乱色欧美videos黑人 | 99re这里只有精品66 | 99资源在线| 久久资源365 | 亚洲视频污 | 成人影院wwwwwwwwwww | 久久香蕉国产线看观看精品yw | 99久久精品费精品国产 | 久久这里精品 | 国产高清国内精品福利99久久 | 亚洲第一页色 | 欧美成人a| 一本久久道| 国语精品视频在线观看不卡 | 欧美巨大xxxx做受孕妇视频 | 免费香蕉依人在线视频久 | 午夜三级做爰视频在线看 | 中文字幕曰韩一区二区不卡 | 色综合社区 | 尹人香蕉久久99天天拍欧美p7 | 色老老精品偷偷鲁 | 亚洲伦理精品久久 | 伊人久久婷婷丁香六月综合基地 | 亚洲最新在线视频 | 久久精品这里精品 | 亚洲精品一区二区三区网址 | 亚洲一区二区三区在线免费观看 | 亚洲爱爱久久精品 | 888奇米| 久99视频 | 午夜二级| 国产com | 国产精品9999久久久久 | 香蕉视频网站免费观视频 | 黄色日比视频 | 欧美色精品天天在线观看视频 | 激情综合色综合久久综合 | 日日摸夜夜添夜夜添一区二区 | 亚洲综合中文 | 久久伊人免费 | 青青青手机版视频在线观看 |