1. 程式人生 > >linux系統Amoeba+MySL主從讀寫分離配置 javaweb專案配置連線資料來源

linux系統Amoeba+MySL主從讀寫分離配置 javaweb專案配置連線資料來源

使用amoeba依賴於java環境,首先要安裝jdk、其次是配置資料庫的主從複製,搭建amoeba配置讀寫的資料庫服務

mysql配置主從可參考 http://blog.csdn.net/liqi_q/article/details/78542581

jdk安裝可參考 http://blog.csdn.net/liqi_q/article/details/72963947

關於mysql主從配置就不單獨細講了,可以參考上面的文章去配置下,下面主要講解amoeba的主要配置和安裝

兩臺伺服器 10.10.10.168(主 用來寫入)、10.10.10.171(從 用來讀取)我是把amoeba服務安裝在了10.10.10.171這臺伺服器上

安裝ameoba 
https://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/
wget https://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/2.2.x/amoeba-mysql-binary-2.2.0.tar.gz
mkdir /data/server/installSoft/amoeba-mysql-binary
tar xvf amoeba-mysql-binary-2.2.0.tar.gz -C /data/server/installSoft/amoeba-mysql-binary

cd /data/server/installSoft/amoeba-mysql-binary/conf 檢視配置檔案


amoeba.xml是主配置檔案,主要配置一些連線訪問的IP地址和訪問埠





dbServices.xml主要配置連線的資料庫(讀、寫)伺服器的IP+埠資訊和連線池資訊



執行amoeba服務 ./data/server/installSoft/amoeba-mysql-binary/bin/amoeba start & # 後臺執行

網上查了一些資料:JDK7啟動對xss引數有最小值要求,必須大於228才能啟動JVM解決:設定 -Xss256k 即可解決

JVM_OPTIONS="
-server -Xms1024m -Xmx1024m -Xss256k -XX:PermSize=16m -XX:MaxPermSize=96m"

停止服務可以使用強制殺死程序  ps -elf |grep amoeba |grep -v grep |awk '{print $4}'|xargs kill -9 

也可以使用 ./data/server/installSoft/amoeba-mysql-binary/bin/amoeba top命令

檢視服務是否正常啟動ps -elf |grep amoeba |grep -v grep


訪問amoeba服務檢視資料庫連線情況做讀寫和查詢服務測試

mysql -uroot -proot -h10.10.10.171 -P8066   (-u代表使用者名稱、-p代表密碼、-P代表埠、-h代表伺服器IP地址)

成功進入mysql介面如下


下面針對連線上的資料庫進行操作資料庫操作資料

show databases; use ameoba_study;


下面是兩個伺服器資料庫日誌檔案的log資訊  tailf /data/logs/mysql_log/mysql.log 



javaWeb專案配置連線    基於c3p0,具體資料來源配置如下:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  
    destroy-method="close">  
    <property name="driverClass" value="com.mysql.jdbc.Driver" />  
    <property name="jdbcUrl" value="jdbc:mysql://10.10.10.171:8066/amoeba_study" />  
    <property name="user" value="root" />  
    <property name="password" value="root" />  
    <property name="minPoolSize" value="1" />  
    <property name="maxPoolSize" value="1" />  
    <property name="maxIdleTime" value="1800" />  
    <property name="acquireIncrement" value="1" />  
    <property name="maxStatements" value="0" />  
    <property name="initialPoolSize" value="1" />  
    <property name="idleConnectionTestPeriod" value="1800" />  
    <property name="acquireRetryAttempts" value="6" />  
    <property name="acquireRetryDelay" value="1000" />  
    <property name="breakAfterAcquireFailure" value="false" />  
    <property name="testConnectionOnCheckout" value="true" />  
    <property name="testConnectionOnCheckin" value="false" />  
</bean>