发表于: 2018-03-07 22:53:00

1 551


今天完成的事情:
首先是完成redis的配置和安装。
然后是关于负载均衡。
首先呢,是配置好两台Tomcat服务器:
第一步:因为tomcat的进程不共存,启动一个就会关闭第二个。所以先要配置两台Tomcat的环境变量:
##########first tomcat###########
CATALINA_BASE=/usr/local/tomcat
CATALINA_HOME=/usr/local/tomcat
TOMCAT_HOME=/usr/local/tomcat
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
##########first tomcat############
##########second tomcat##########
CATALINA_2_BASE=/usr/local/tomcat2
CATALINA_2_HOME=/usr/local/tomcat2
TOMCAT_2_HOME=/usr/local/tomcat2
export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME
##########second tomcat##########
保存退出。
再输入:source /etc/profile使得环境变量生效。
第二步:
第一个tomcat,保持解压后的原状不用修改,
来到第二个tomcat的bin目录下
打开catalina.sh ,找到下面红字,# OS specific support.  $var _must_ be set to either true or false.
在下面增加如下代码
export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME
第三步:
修改 tomcat6-2/conf  下的 service.xml 文件,修改(三个地方)如下
1.修改关闭端口:
<Server port="8005" shutdown="SHUTDOWN">    8005 改为 8006(其他不用的端口也可以)
2.修改运行端口:
<Connector port="8080" protocol="HTTP/1.1"   connectionTimeout="20000"  redirectPort="8443" />  
     8080 改为 8081(其他不用的端口也可以)
3.<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 
然后分别启动两个tomcat就好。
结果如下:

    

明天计划的事情:部署负载均衡,学习压力测试。

遇到的问题:
1.Invalid property 'maxActive' of bean class [redis.clients.jedis.JedisPoolConfig]: Bean property 'maxActive' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
maxActive没有set方法。


这里相关的属性是报红的。

2.Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.jnshu.Utils.RedisTemplateUtil]: No default constructor found; nested exception is java.lang.NoSuchMethodException: com.jnshu.Utils.RedisTemplateUtil.<init>()
RedisTemplate没有对应的无参构造方法。
添加上无参构造方法就好。
原因是虽然是同一个类,但是因为使用的版本不一样,类里的方法发生了变化。有些方法被抽离和取消了。
3.读取缓存的时候,总是报空指针。
和东林交流之后,想起来读取缓存只会报null,而不会出现空指针。
重新审视一下逻辑之后发现,我是对着null读取值,也就导致了程序异常。
收获:
1.学会了有时候要去看看官方的源码。

返回列表 返回列表
评论

    分享到