yadianna 发表于 2018-12-26 07:27:34

38 tomcat lb cluster、memcached和msm、msm及jvm虚拟机性能监控、tcpdump和nc工具的使用

  01tomcat lb cluster
  

  配置环境
  node1192.168.1.131CentOS 7.2
  node4192.168.1.132CentOS 7.2
  node3192.168.1.133CentOS 7.2
  

  1、如何部署多个tomcat实例向用户提供服务
  

  #node4结点配置tomcat
  # tar xf apache-tomcat-8.0.38.tar.gz -C /usr/local/
  # cd /usr/local/
  # ln -s apache-tomcat-8.0.38/ tomcat
  # vim /etc/profile.d/tomcat.sh
  export CATALINA_HOME=/usr/local/tomcat
  export PATH=$CATALINA_HOME/bin:$PATH
  # . /etc/profile.d/tomcat.sh
  # catalina.sh version
  # mkdir -p /data/webapps/ROOT
  # cd tomcat/conf/
  # cp server.xml{,.bak}
  # vim server.xml
  修改
  
  为
  
  添加Host主机
  
  
  
  
  
  # mkdir /data/logs
  # catalina.sh configtest
  # mkdir -p /data/webapps/ROOT/{lib,classes,META-INF,WEB-INF}
  # vim /data/webapps/ROOT/index.jsp
  
  
  
  
  JSP Test Page on Web1
  
  
  
  
     
  # catalina.sh start
  # cat /etc/hosts
  127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  192.168.1.131   node1   node1.magedu.com
  192.168.1.132   node4   node4.magedu.com
  192.168.1.133   node3   node3.magedu.com
  

  # curl node4.magedu.com:8080
  

  #node3结点配置tomcat
  # scp apache-tomcat-8.0.38.tar.gz node3:/root
  # scp -rp /data/ node3:/data
  # tar xf apache-tomcat-8.0.38.tar.gz -C /usr/local/
  # cd /usr/local/
  # ln -s apache-tomcat-8.0.38/ tomcat
  # cd /usr/local/tomcat/conf/
  # scp server.xml node3:/usr/local/tomcat/conf/
  # cd tomcat/conf/
  # vim server.xml
  修改
  
  为
  
  修改
  node4.magedu.com
  为
  node3.magedu.com
  # scp /etc/profile.d/tomcat.sh node3:/etc/profile.d/
  # . /etc/profile.d/tomcat.sh
  # catalina.sh start
  # curl node3.magedu.com:8080
  # vim /data/webapps/ROOT/index.jsp
  
  
  
  
  JSP Test Page on Web1
  
  
  
  
     
  

  

  # yum -y install nginx
  # cd /etc/nginx/
  # cp nginx.conf{,.bak}
  # vim nginx.conf
  在server段前添加
  upstream tcsrvs {
      ip_hash;#对客户端锁定服务器
  server node4.magedu.com:8080;
  server node3.magedu.com:8080;
  }
  在server段内添加
  location ~* \.(jsp|do)$ {
  proxy_pass http://tcsrvs;
  }
  # nginx -t
  # systemctl start nginx.service
  

  2、如何使用httpd反代用户请求
  (1)方法一
  apache:
  mod_proxy
  mod_proxy_http
  mod_proxy_balancer
  tomcat:
  http connector
  
  # systemctl stop nginx.service
  # systemctl disable nginx.service
  # yum -y install httpd
  # cd /etc/httpd/conf
  # vim httpd.conf
  注释掉
  #DocumentRoot "/var/www/html"
  # cd ../conf.d/
  # vim vhost.conf
  
  BalancerMember http://192.168.1.132:8080 loadfactor=10 route=TomcatA
  BalancerMember http://192.168.1.133:8080 loadfactor=10 route=TomcatB
  
  
  ServerName web1.magedu.com
  ProxyVia On
  ProxyRequests Off
  ProxyPreserveHost On
  
  Require all granted
  
  ProxyPass / balancer://lbcluster1/
  ProxyPa***everse / balancer://lbcluster1/
  
  Require all granted
  
  
  
  如果需要会话绑定,可使用下面的内容:
  Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e;path=/" env=BALANCER_ROUTE_CHANGED
  
  BalancerMember http://192.168.1.132:8080 loadfactor=10 route=TomcatA
  BalancerMember http://192.168.1.133:8080 loadfactor=10 route=TomcatB
  ProxySet stickysession=ROUTEID
  
  
  ServerName web1.magedu.com
  ProxyVia On
  ProxyRequests Off
  ProxyPreserveHost On
  
  Require all granted
  
  ProxyPass / balancer://lbcluster1/
  ProxyPa***everse / balancer://lbcluster1/
  
  Require all granted
  
  
  
  # systemctl start httpd.service
  
  # vim server.xml
  修改
  
  为
  
  # vim server.xml
  修改
  
  为
  
  # catalina.sh stop
  # catalina.sh stop
  

  # vim /data/webapps/ROOT/index.jsp
  
  
  TomcatA
  
  TomcatA.magedu.com
  
  
  Session ID
  
  
  
  
  Created on
  
  
  
  
  
  # vim /data/webapps/ROOT/index.jsp
  
  
  TomcatB
  
  TomcatB.magedu.com
  
  
  Session ID
  
  
  
  
  Created on
  
  
  
  
  
  # catalina.sh start
  # catalina.sh start
  
  测试
  http://192.168.1.131/index.jsp
  结果:成功
  
  (2)方法二
  apache:
  mod_proxy
  mod_proxy_ajp
  mod_proxy_balancer
  tomcat:
  http connector
  

  # cp vhost.conf vhost.ajp.conf
  # mv vhost.conf vhost.http.conf.bak
  # vim vhost.ajp.conf
  #Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e;path=/" env=BALANCER_ROUTE_CHANGED
  
  BalancerMember ajp://192.168.1.132:8009 loadfactor=10 route=TomcatA
  BalancerMember ajp://192.168.1.133:8009 loadfactor=10 route=TomcatB
  #ProxySet stickysession=ROUTEID
  
  
  ServerName web1.magedu.com
  ProxyVia On
  ProxyRequests Off
  ProxyPreserveHost On
  
  Require all granted
  
  ProxyPass / balancer://lbcluster1/
  ProxyPa***everse / balancer://lbcluster1/
  
  Require all granted
  
  
  # systemctl restart httpd.service
  

  (3)方法3
  apache
  mod_jk
  tomcat:
  ajp connector
  
  # tar xf tomcat-connectors-1.2.42-src.tar.gz
  # cd tomcat-connectors-1.2.42-src/native/
  # yum -y install httpd-devel gcc glibc-devel
  # which apxs
  /usr/bin/apxs
  # ./configure --with-apxs=/usr/bin/apxs
  # make -j 4 && make install
  # cd /etc/httpd/
  

  02tomcat lb cluster
  

  1、jk_mod:额外编译安装
  

  (1)反向代理
  # cd /etc/httpd/conf.d/
  # mv vhost.ajp.conf{,.bak}
  # vim mod_jk.conf
  LoadModule jk_module modules/mod_jk.so
  JkWorkersFile/etc/httpd/conf.d/workers.properties
  JkLogFilelogs/mod_jk.log
  JkLogLeveldebug
  JkMount/*TomcatA
  JkMount/status/stat1
  # vim /etc/httpd/conf.d/workers.properties
  worker.list=TomcatA,stat1
  worker.TomcatA.port=8009
  worker.TomcatA.host=192.168.1.132
  worker.TomcatA.type=ajp13
  worker.TomcatA.lbfactor=1
  worker.stat1.type = status
  # httpd -t
  # systemctl restart httpd.service
  

  (2)负载均衡
  # cd /etc/httpd/conf.d/
  # vim mod_jk.conf
  LoadModule jk_module modules/mod_jk.so
  JkWorkersFile/etc/httpd/conf.d/workers.properties
  JkLogFilelogs/mod_jk.log
  JkLogLeveldebug
  JkMount/*lbcluster1
  JkMount/status/stat1
  # vim /etc/httpd/conf.d/workers.properties
  worker.list = lbcluster1,stat1
  worker.TomcatA.type = ajp13
  worker.TomcatA.host = 192.168.1.132
  worker.TomcatA.port = 8009
  worker.TomcatA.lbfactor = 1
  worker.TomcatB.type = ajp13
  worker.TomcatB.host = 192.168.1.133
  worker.TomcatB.port = 8009
  worker.TomcatB.lbfactor = 1
  worker.lbcluster1.type = lb
  worker.lbcluster1.sticky_session = 0
  worker.lbcluster1.balance_workers = TomcatA, TomcatB
  worker.stat1.type = status
  
  注:如果要实现会话绑定,可以设置worker.lbcluster1.sticky_session = 1
  # httpd -t
  # systemctl restart httpd.service
  
  2、Balancer内置管理功能
  # systemctl stop httpd.service
  # mv mod_jk.conf{,.bak}
  # cp vhost.ajp.conf.bak vhost.ajp.conf
  # vim vhost.ajp.conf
  添加
  
  SetHandler balancer-manager
  ProxyPass !
  Require all granted
  
  # systemctl restart httpd.service
  

  3、Session Cluster
  # catalina.sh stop
  # cd /usr/local/tomcat/conf/
  # vim server.xml
  在Host内部添加
  
  

  
  

  
  
  
  

  
  
  
  
  
  
  

  
  
  

  
  

  
  
  

  # catalina.sh stop
  # cd /usr/local/tomcat/conf/
  # vim server.xml
  在Host内部添加
  
  

  
  

  
  
  
  

  
  
  
  
  
  
  

  
  
  

  
  

  
  
  

  # cp web.xml /data/webapps/ROOT/WEB-INF/
  # vim /data/webapps/ROOT/WEB-INF/web.xml
  在web-app段内(前)添加
  
  # scp /data/webapps/ROOT/WEB-INF/web.xml node3:/data/webapps/ROOT/WEB-INF/
  # catalina.sh start
  # catalina.sh start
  # tail /usr/local/tomcat/logs/catalina.out
  # systemctl stop httpd.service
  # rm -f vhost.http.conf
  # cp vhost.ajp.conf.bak vhost.ajp.conf
  # systemctl start httpd.service
  # vim vhost.ajp.conf
  # systemctl stop httpd.service
  # rm -f vhost.ajp.conf
  # cp mod_jk.conf.bak mod_jk.conf
  # systemctl start httpd.service
  # vim workers.properties
  # systemctl stop httpd.service
  # cd /etc/nginx/
  # vim nginx.conf
  修改location段的内容为:
  location / {
  proxy_pass http://tcsrvs;
  }   
  # systemctl start nginx.service
  

  

  03memcached和msm
  

  

  # yum -y install memcached
  # systemctl start memcached.service
  # yum -y install telnet
  # telnet localhost 11211
  # systemctl stop memcached.service
  

  #显示memcached详细信息
  # memcached -u memcached -vv
  

  # vim /etc/sysconfig/memcached
  修改OPTIONS的值为
  OPTIONS="-f 1.2"
  

  # systemctl restart memcached.service
  

  

  # yum -y install memcached
  # systemctl start memcached.service
  # cd /usr/local/tomcat/lib/
  # cd /usr/local/tomcat/lib/
  # ls *
  memcached-session-manager-1.8.3.jar
  memcached-session-manager-tc8-1.8.3.jar
  msm-javolution-serializer-1.8.3.jar
  spymemcached-2.11.1.jar
  # scp * 192.168.1.132:/usr/local/tomcat/lib
  # scp * 192.168.1.133:/usr/local/tomcat/lib
  # cd ../conf/
  # vim server.xml
  删除之前配置的Cluster
  在Context内部添加
  
  # scp server.xml node3:/usr/local/tomcat/conf/
  # catalina.sh start
  # catalina.sh start
  # cd /etc/nginx/
  # rm -f /data/webapps/ROOT/WEB-INF/web.xml
  # rm -f /data/webapps/ROOT/WEB-INF/web.xml
  # catalina.sh stop
  # catalina.sh start
  # catalina.sh stop
  # catalina.sh start
  

  05tcpdump和nc工具的使用
  

  tcp协议目标端口是80
  tcpdump -i eth0 tcp dst port 80
  

  # yum -y install wireshark
  # yum -y install wireshark-gnome
  

  # yum -y install nmap
  

  # yum -y install nc
  
  




lisimba 发表于 2019-2-18 11:10:04

感谢分享,学习一下
页: [1]
查看完整版本: 38 tomcat lb cluster、memcached和msm、msm及jvm虚拟机性能监控、tcpdump和nc工具的使用