安裝 amoeba for mysql

來源:互聯網
上載者:User

標籤:mysql amoeba


安裝 amoeba for  mysql  


對於amoeba 的安裝是相當簡單的,基本上沒什麼安裝的,

只需要解壓檔案,然後設定下環境變數就行了


  vi /etc/profile

  export amoeba_home01=/home/software/amoeba-mysql-3.0.5-RC 

  export PATH=$PATH:$amoeba_home01/bin


  添加完環境變數周 執行 source /etc/profile 是環境變數立即生效

  

  以上是在linux上的操作  ,如果是window平台 ,

  將 /amoeba-mysql-3.0.5-RC/bin路徑添加在path環境變數就中行了 

  

配置amoeba.xml  (讀寫分離) 

在<sever></server> 節點中重點關注下port,IP,UserName ,Password

<server>

<!-- proxy server綁定的連接埠 -->  <!-- 此處的連接埠可以是amoeba所在機器上的任意的沒有被使用的連接埠-->   

<property name="port">6666</property>

<!-- proxy server綁定的IP --> <!--amoeba所在主機的IP地址,外部程式同使用這個IP連結mysql伺服器 --> 

<property name="ipAddress">192.168.53.41</property>

<!-- 對外驗證的使用者名稱 --> <!- 這個使用者名稱可以任意寫,外部程式通過amoeba訪問mysql的的使用者名稱-->

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

<!-- 對外驗證的密碼 --> <!--密碼可以任意寫-->

<property name="password">[email protected]</property>

</server>  

 

 節點connectionManagerList 可以不用管 ,預設就行

<connectionManagerList>

<connectionManager name="defaultManager" class="com.meidusa.amoeba.net.MultiConnectionManagerWrapper">

<property name="subManagerClassName">com.meidusa.amoeba.net.AuthingableConnectionManager</property>

<!-- 

 default value is avaliable Processors 

<property name="processors">5</property>

-->

</connectionManager>

</connectionManagerList> 

 

節點dbServerList 用來設定真實的mysql主機資訊

<dbServerList>

<!-- 

一台mysqlServer 需要配置一個pool,

如果多台 平等的mysql需要進行loadBalance, 

平台已經提供一個具有負載平衡能力的objectPool:com.meidusa.amoeba.mysql.server.MultipleServerPool

簡單的配置是屬性加上 virtual="true",該Pool 不允許配置factoryConfig

或者自己寫一個ObjectPool。

-->

<dbServer name="master">

<!-- PoolableObjectFactory實作類別 -->

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

<property name="manager">defaultManager</property>

<!-- 真實mysql資料庫連接埠 -->

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

<!-- 真實mysql資料庫IP -->

<property name="ipAddress">192.168.53.63</property>

<property name="schema">db_vip_act</property>

<!-- 用於登陸mysql的使用者名稱 -->

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

<!-- 用於登陸mysql的密碼 -->

<property name="password">[email protected]</property>

</factoryConfig>

<!-- ObjectPool實作類別 -->

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

<property name="maxActive">200</property>

<property name="maxIdle">200</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="slave">

<!-- PoolableObjectFactory實作類別 -->

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

<property name="manager">defaultManager</property>

<!-- 真實mysql資料庫連接埠 -->

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

<!-- 真實mysql資料庫IP -->

<property name="ipAddress">192.168.53.60</property>

<property name="schema">db_vip_act</property>

<!-- 用於登陸mysql的使用者名稱 -->

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

<!-- 用於登陸mysql的密碼 -->

<property name="password">[email protected]</property>

</factoryConfig>

<!-- ObjectPool實作類別 -->

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

<property name="maxActive">200</property>

<property name="maxIdle">200</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="multiPool" virtual="true">

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

<!-- 負載平衡參數 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->

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

<!-- 參與該pool負載平衡的poolName列表以逗號分割 -->

<property name="poolNames">slave</property>

</poolConfig>

</dbServer>

</dbServerList>

  

這個裡面重點講下 節點multiPool 

這個節點主要用來將多個主機配置成一個叢集的,

如果有多個slave主機,可以將以下節點配置成

<property name="poolNames">slave1,slave2,slave3,</property>

表示就slave1,salve2,slave3配置成一個叢集,當有請求發送到到multiPool 池的時候,

會按照一定的順序分別轉寄到相應的slave


在有的版本中對dbServer的設定單獨放置在另外一個dbServers.xml的檔案中

然後在 amoeba.xml檔案中引用   dbServers.xml 檔案中

下面的代碼是 amoeba.xml中的部分代碼

 <dbServerLoader class="com.meidusa.amoeba.context.DBServerConfigFileLoader">

                <property name="configFile">${amoeba.home}/conf/dbServers.xml</property> # 引用外部dbServers.xml檔案

 </dbServerLoader>



最後就是配置路由功能了

<queryRouter class="com.meidusa.amoeba.mysql.parser.MysqlQueryRouter">

<property name="ruleConfig">${amoeba.home}/conf/rule.xml</property>

<property name="functionConfig">${amoeba.home}/conf/functionMap.xml</property>

<property name="ruleFunctionConfig">${amoeba.home}/conf/ruleFunctionMap.xml</property>

<property name="LRUMapSize">1500</property>

<property name="defaultPool">master</property> #非讀寫操作轉寄到master

<property name="writePool">master</property> #寫(insert/update/delete)操作被轉寄到主機master

<property name="readPool">multiPool</property> # 讀(select)操作轉寄到multiPool叢集

<property name="needParse">true</property>

</queryRouter>


通過以上的設定 ,一個簡單的讀寫分離架構就搭建成功了


啟動amoeba,

amoena的可執行檔放在amoeba-mysql-3.0.5-RC/bin下,執行一下可執行檔就可以開啟amoeba。

開啟之後程式就會在後台運行

版本不同,amoeba的可執行檔名有所不同有的launcher 有的amoeba

在amoeba-mysql-3.0.5-RC/bin 下有兩個相似的可執行問檔案

-rwxr-xr-x. 1 root root  2114 Jul  5  2013 launcher

-rwxr-xr-x. 1 root root  1579 Dec 27  2012 launcher.bat

在window平台launcher.bat執行就可以開啟amoeba

在linux平台上執行launcher就可以開啟amoeba 


amoeba的使用手冊:

http://docs.hexnova.com/amoeba/

https://www.centos.bz/2012/05/amoeba-for-mysql/

http://linuxguest.blog.51cto.com/195664/584788/

本文出自 “SQLServer MySQL” 部落格,請務必保留此出處http://dwchaoyue.blog.51cto.com/2826417/1558523

安裝 amoeba for mysql

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.