1.1.1 JAVA_HOME不认
jdk安装后测试无问题java –version,但启动amoeba就是报错JAVA_HOME找不到。就修改/amoeba/bin/amoeba文件,在文件最开头直接写入JAVA_HOME环境变量。
JAVA_HOME=/usr/local/src/java/jdk1.7.0_51
1.1.2 java栈设置小
默认配置Xss比较小128k,启动时提示太小,则修改/amoeba/bin/amoeba文件,修改为256k即可。
DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss256k"
1.1.3 amoeba连接的mysql都要开放访问权限
否则访问拒绝,无法执行SQL语句
1.1.4 启动tomcat报错
错误信息:
org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/ht] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
解决办法:
tomcat 6.025以后引入了内存泄露侦测,对于垃圾回收不能处理的对像,它就会做日志。解决办法是要么用旧版本的tomcat,要么就在tomcat的server.xml文件中注释掉。
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>;
这个监听给关了。我试了把这个监听关了,就不会再报上面那个信息,但是这样子运行tomcat会不会有其他的问题,我就不得而知了。
1.1.5 Amoeba启动后进行读的操作时,刷新后没有进行库的切换
解决办法:
在dbServer.xml文件中,有一个配置项:如下
<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">slave,master,slave,master</property> </poolConfig> </dbServer>
蓝色位置选择了1,代表采用轮循的方式,这里需要将黄色处将需要轮询的数据库写两遍(测试时发现写一遍的时候,只有在重启服务器的时候才会进行换库操作)