RUBiS安装——ServletVersion
1.下载RUBiS1.4.3http://forge.ow2.org/project/showfiles.php?group_id=44
不用1.4.1,我发现会有内存泄露的情况
2.安装tomcat和JDK以及mysql,并配置好,这个网上有很多教程
3.下载mod_jk http://tomcat.apache.org/download-connectors.cgi
4.将mod_jk放到/etc/httpd/libexec目录下,并在/etc/httpd/conf/http.conf中添加下面几行代码:
LoadModule jk_module libexec/mod_jk.so #AddModulemod_jk.c JkWorkersFile${CATALINA_HOME}/conf/workers.properties JkLogFile/etc/httpd/logs/mod_jk.log JkLogLevelinfo JkMount/ejb_rubis_web/servlet/* ajp13 JkMount/servlet/* ajp13 Include${CATALINA_HOME}/conf/auto/mod_jk.conf
5.
在
${CATALINA_HOME}/conf/server.xml中将关于AJP的那行取消注释,如:
<ConnectorclassName="org.apache.ajp.tomcat4.Ajp13Connector"port="8009" minProcessors="5" maxProcessors="75"acceptCount="10" debug="0"/>
6.
在
<Serverport="8005" shutdown="SHUTDOWN" debug="0">
下面添加:
<Contextpath="/ejb_rubis_web/servlet" docBase="path-to-rubis/RUBiS/ejb_rubis_web" crossContext="false" debug="0" reloadable="false" > <LoggerclassName="org.apache.catalina.logger.FileLogger" prefix="localhost_rubis_ejb_log."suffix=".txt" timestamp="true"/> <ListenerclassName="org.apache.ajp.tomcat4.config.ApacheConfig" append="true" /> </Context> <Contextpath="/servlet" docBase="path-to-rubis/RUBiS/Servlet_HTML" crossContext="false" debug="0" reloadable="false" > <LoggerclassName="org.apache.catalina.logger.FileLogger" prefix="localhost_rubis_servlet_log."suffix=".txt" timestamp="true"/> <ListenerclassName="org.apache.ajp.tomcat4.config.ApacheConfig" append="true" /> </Context>
7.在${CATALINA_HOME}/conf/worker.properties中加入:
workers.tomcat_home=path-to-tomcat
workers.java_home=path-to-jdk
worker.ajp13.host=machinerunning tomcat
8.需要修改的文件:
(1) RUBiS/config.mk——在CLASSPATH中添加需要的.jar包的路径,以及修改所使用的数据库
(2) RUBiS/Servlets/tomcat_start.sh——修改CLASSPATH,添加数据库驱动,以及修改TOMCAT的启动路径
(3) RUBiS/Servlets/tomcat_stop.sh——修改TOMCAT的停止路径
(4) RUBiS/Servlets/edu/rice/rubis/servlets/Config.java——修改RUBiS的文件路径
(5) RUBiS/Servlets/mysql.properties——修改数据库的用户名和密码
(6) RUBiS/Client/rubis.properties——修改各服务器的地址、RUBiS的相关路径
(7) RUBiS/Client/edu/rice/rubis/client/InitDB.java——可能要截短item的description,大概在第226行附近,因为description太长可能会导致注册失败
(8) RUBiS/bench/format_sar_output.awk——这个脚本是用来解析收集的二进制数据的,原本的版本有些错误,要根据本机SAR –f的输出格式来修改
(9) RUBiS/bench/servlets_generate_graphs.sh——这个脚本用于产生数据图片,官方版本有错误,需要根据得到的各种数据的文件名做各种修改…需要修改的地方集中在定义tmpFile之前,大概在0~55行之间
(10) RUBiS/bench/servlets.sh——这个脚本就是用于发起测试的脚本,在这个脚本里需要修改各个服务器的地址,和测试的负载
9.在RUBiS目录下执行make servlets,需要将RUBiS/Servlets目录下生成的.jar文件复制到RUBiS/Servlet_HTML/WEB-INF/lib目录下;或者将RUBiS/Servlets目录下的edu目录复制到RUBiS/Servlet_HTML/WEB-INF/classes目录中
10.在服务器端开启mysql服务,利用RUBiS/database/目录下的rubis.sql、categories.sql、regions.sql生成RUBiS的数据库;启动http服务和tomcat
11.将RUBiS复制到客户端(需要安装JAVA),RUBiS目录下执行make clients生成客户端程序,执行make initDBPARAM=”all”来在服务器端生成数据库
12.在客户端用ssh-keygen生成ssh密钥,把生成的*.pub文件复制到服务器的/root/.ssh下并重命名为authorized_keys,在客户端也复制一份
另外在RUBiS/bench/Servlets.properties目录下有一些RUBiS的配置文件,这些文件和RUBiS/Client中的rubis.properties的内容基本一致,只是有一些配置不一样,同样在使用前需要修改,主要是各种服务器的地址和RUBiS的所在目录(不知道是客户端的所在目录还是服务器端的,所以最好两边的路径一致~~~)