Tomcat多实例和负载均衡

文章目录

  • Tomcat多实例
    • Tomcat多实例的步骤(理论)
    • Tomcat多实例的具体实验步骤(实操)
  • Nginx+Tomcat负载均衡、动静分离
    • Nginx+Tomcat负载均衡、动静分离的步骤(理论)
    • Nginx+Tomcat负载均衡、动静分离的具体实验步骤(实操)

Tomcat多实例

Tomcat多实例的步骤(理论)

安装好 jdk和安装 tomcat

cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mkdir /usr/local/tomcat
mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1
cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2

配置 tomcat 环境变量

vim /etc/profile.d/tomcat.sh
#tomcat1
export CATALINA_HOME1=/usr/local/tomcat/tomcat1
export CATALINA_BASE1=/usr/local/tomcat/tomcat1
export TOMCAT_HOME1=/usr/local/tomcat/tomcat1

#tomcat2
export CATALINA_HOME2=/usr/local/tomcat/tomcat2
export CATALINA_BASE2=/usr/local/tomcat/tomcat2
export TOMCAT_HOME2=/usr/local/tomcat/tomcat2
source /etc/profile.d/tomcat.sh

修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号

vim /usr/local/tomcat/tomcat2/conf/server.xml
"8006" shutdown="SHUTDOWN">		#22行,修改Server prot,默认为8005 -> 修改为8006
"8081" protocol="HTTP/1.1"		#69行,修改Connector port,HTTP/1.1  默认为8080 -> 修改为8081
"8010" protocol="AJP/1.3" redirectPort="8443" />	#116行,修改Connector port AJP/1.3,默认为8009 -> 修改为8010

修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量

vim /usr/local/tomcat/tomcat1/bin/startup.sh 
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
##添加以下内容
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1

vim /usr/local/tomcat/tomcat1/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1

vim /usr/local/tomcat/tomcat2/bin/startup.sh 
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2
vim /usr/local/tomcat/tomcat2/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2

启动各 tomcat 中的 /bin/startup.sh

/usr/local/tomcat/tomcat1/bin/startup.sh 
/usr/local/tomcat/tomcat2/bin/startup.sh 

netstat -natp | grep java

浏览器访问测试

http://192.168.80.10:8080
http://192.168.80.10:8081

Tomcat多实例的具体实验步骤(实操)

第一步:放入安装关闭防火墙和selinux
Tomcat多实例和负载均衡_第1张图片
第二步:安装JDK并设置环境变量
安装JKD
Tomcat多实例和负载均衡_第2张图片
编写java脚本设置JDK环境变量
在这里插入图片描述
运行脚本文件,然后查看jdk版本
在这里插入图片描述
第三步:安装tomcat
解压缩tomcat
在这里插入图片描述
创建tomcat多实例的目录,并移动复制文件
在这里插入图片描述
第四步:配置tomcat环境变量
编写脚本
Tomcat多实例和负载均衡_第3张图片
运行脚本文件
在这里插入图片描述
第五步:修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号
修改主配置文件,修改Server prot,默认为8005 -> 修改为8006
Tomcat多实例和负载均衡_第4张图片
修改Connector port,HTTP/1.1 默认为8080 -> 修改为8081
在这里插入图片描述
修改Connector port AJP/1.3,默认为8009 -> 修改为8010
在这里插入图片描述
第六步:修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量
修改tomcat1的startup.sh
Tomcat多实例和负载均衡_第5张图片
修改tomcat1的shutdown.sh
Tomcat多实例和负载均衡_第6张图片
修改tomcat2的startup.sh
Tomcat多实例和负载均衡_第7张图片
修改tomcat2的shutdown.sh
Tomcat多实例和负载均衡_第8张图片
第七步:启动各 tomcat 中的 /bin/startup.sh
Tomcat多实例和负载均衡_第9张图片
第八步:浏览器中访问测试
Tomcat多实例和负载均衡_第10张图片

Nginx+Tomcat负载均衡、动静分离

Nginx+Tomcat负载均衡、动静分离的步骤(理论)

Nginx 服务器:192.168.80.10:80
Tomcat服务器1:192.168.80.100:80
Tomcat服务器2:192.168.80.101:8080 192.168.80.101:8081

部署Nginx 负载均衡器

systemctl stop firewalld
setenforce 0

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

useradd -M -s /sbin/nologin nginx

cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/

cd nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module

make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecrReload=/bin/kill -s HUP $MAINPID
ExecrStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

部署2台Tomcat 应用服务器

systemctl stop firewalld
setenforce 0

tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/

vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${
     JAVA_HOME}/jre
export CLASSPATH=.:${
     JAVA_HOME}/lib:${
     JRE_HOME}/lib
export PATH=${
     JAVA_HOME}/bin:$PATH
source /etc/profile

tar zxvf apache-tomcat-8.5.16.tar.gz

mv /opt/apache-tomcat-8.5.16/ /usr/local/tomcat

/usr/local/tomcat/bin/shutdown.sh 
/usr/local/tomcat/bin/startup.sh

netstat -ntap | grep 8080

动静分离配置
Tomcat1 server 配置

mkdir /usr/local/tomcat/webapps/test
vim /usr/local/tomcat/webapps/test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


JSP test1 page<<span class="token operator">/</span>title>   <span class="token comment">#指定为 test1 页面</span>
<<span class="token operator">/</span>head>
<body>
<<span class="token operator">%</span> out<span class="token punctuation">.</span>println<span class="token punctuation">(</span><span class="token string">"动态页面 1,http://www.test1.com"</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token operator">%</span>>
<<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>
</code></pre> 
  <pre><code class="prism language-powershell">vim <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>conf<span class="token operator">/</span>server<span class="token punctuation">.</span>xml
</code></pre> 
  <p>#由于主机名 name 配置都为 localhost,需要删除前面的 HOST 配置</p> 
  <pre><code class="prism language-powershell"><Host name=<span class="token string">"localhost"</span> appBase=<span class="token string">"webapps"</span> unpackWARs=<span class="token string">"true"</span> autoDeploy=<span class="token string">"true"</span> xmlValidation=<span class="token string">"false"</span> xmlNamespaceAware=<span class="token string">"false"</span>>
	<Context docBase=<span class="token string">"/usr/local/tomcat/webapps/test"</span> path=<span class="token string">""</span> reloadable=<span class="token string">"true"</span>>
	<<span class="token operator">/</span>Context>
<<span class="token operator">/</span>Host>
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>bin<span class="token operator">/</span>shutdown<span class="token punctuation">.</span>sh 
<span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>bin<span class="token operator">/</span>startup<span class="token punctuation">.</span>sh 
</code></pre> 
  <p>Tomcat2 server 配置</p> 
  <pre><code class="prism language-powershell">mkdir <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat1<span class="token operator">/</span>webapps<span class="token operator">/</span>test <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat2<span class="token operator">/</span>webapps<span class="token operator">/</span>test

vim <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat1<span class="token operator">/</span>webapps<span class="token operator">/</span>test<span class="token operator">/</span>index<span class="token punctuation">.</span>jsp
</code></pre> 
  <pre><code class="prism language-powershell"><<span class="token operator">%</span>@ page language=<span class="token string">"java"</span> import=<span class="token string">"java.util.*"</span> pageEncoding=<span class="token string">"UTF-8"</span><span class="token operator">%</span>>
<html>
<head>
<title>JSP test2 page<<span class="token operator">/</span>title>   <span class="token comment">#指定为 test2 页面</span>
<<span class="token operator">/</span>head>
<body>
<<span class="token operator">%</span> out<span class="token punctuation">.</span>println<span class="token punctuation">(</span><span class="token string">"动态页面 2,http://www.test2.com"</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token operator">%</span>>
<<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>


vim <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat1<span class="token operator">/</span>conf<span class="token operator">/</span>server<span class="token punctuation">.</span>xml
</code></pre> 
  <p>删除前面的 HOST 配置</p> 
  <pre><code class="prism language-powershell"><Host name=<span class="token string">"localhost"</span> appBase=<span class="token string">"webapps"</span> unpackWARs=<span class="token string">"true"</span> autoDeploy=<span class="token string">"true"</span> xmlValidation=<span class="token string">"false"</span> xmlNamespaceAware=<span class="token string">"false"</span>>
	<Context docBase=<span class="token string">"/usr/local/tomcat/tomcat1/webapps/test"</span> path=<span class="token string">""</span> reloadable=<span class="token string">"true"</span> <span class="token operator">/</span>>
<<span class="token operator">/</span>Host>
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat1<span class="token operator">/</span>bin<span class="token operator">/</span>shutdown<span class="token punctuation">.</span>sh 
<span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat1<span class="token operator">/</span>bin<span class="token operator">/</span>startup<span class="token punctuation">.</span>sh 


vim <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat2<span class="token operator">/</span>webapps<span class="token operator">/</span>test<span class="token operator">/</span>index<span class="token punctuation">.</span>jsp
</code></pre> 
  <pre><code class="prism language-powershell"><<span class="token operator">%</span>@ page language=<span class="token string">"java"</span> import=<span class="token string">"java.util.*"</span> pageEncoding=<span class="token string">"UTF-8"</span><span class="token operator">%</span>>
<html>
<head>
<title>JSP test3 page<<span class="token operator">/</span>title>   <span class="token comment">#指定为 test3 页面</span>
<<span class="token operator">/</span>head>
<body>
<<span class="token operator">%</span> out<span class="token punctuation">.</span>println<span class="token punctuation">(</span><span class="token string">"动态页面 3,http://www.test3.com"</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token operator">%</span>>
<<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>
</code></pre> 
  <pre><code class="prism language-powershell">vim <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat2<span class="token operator">/</span>conf<span class="token operator">/</span>server<span class="token punctuation">.</span>xml
</code></pre> 
  <p>#删除前面的 HOST 配置</p> 
  <pre><code class="prism language-powershell"><Host name=<span class="token string">"localhost"</span> appBase=<span class="token string">"webapps"</span> unpackWARs=<span class="token string">"true"</span> autoDeploy=<span class="token string">"true"</span> xmlValidation=<span class="token string">"false"</span> xmlNamespaceAware=<span class="token string">"false"</span>>
	<Context docBase=<span class="token string">"/usr/local/tomcat/tomcat2/webapps/test"</span> path=<span class="token string">""</span> reloadable=<span class="token string">"true"</span> <span class="token operator">/</span>>
<<span class="token operator">/</span>Host>
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat2<span class="token operator">/</span>bin<span class="token operator">/</span>shutdown<span class="token punctuation">.</span>sh 
<span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat2<span class="token operator">/</span>bin<span class="token operator">/</span>startup<span class="token punctuation">.</span>sh 
</code></pre> 
  <p>Nginx server 配置<br> #准备静态页面和静态图片</p> 
  <pre><code class="prism language-powershell"><span class="token function">echo</span> <span class="token string">'<html><body><h1>这是静态页面</h1></body></html>'</span> > <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>nginx<span class="token operator">/</span>html<span class="token operator">/</span>index<span class="token punctuation">.</span>html
mkdir <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>nginx<span class="token operator">/</span>html<span class="token operator">/</span>img
<span class="token function">cp</span> <span class="token operator">/</span>root<span class="token operator">/</span>game<span class="token punctuation">.</span>jpg <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>nginx<span class="token operator">/</span>html<span class="token operator">/</span>img

vim <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>nginx<span class="token operator">/</span>conf<span class="token operator">/</span>nginx<span class="token punctuation">.</span>conf
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
http <span class="token punctuation">{
     </span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
	<span class="token comment">#gzip on;</span>
	
	<span class="token comment">#配置负载均衡的服务器列表,weight参数表示权重,权重越高,被分配到的概率越大</span>
	upstream tomcat_server <span class="token punctuation">{
     </span>
		server 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>80<span class="token punctuation">.</span>100:8080 weight=1<span class="token punctuation">;</span>
		server 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>80<span class="token punctuation">.</span>101:8080 weight=1<span class="token punctuation">;</span>
		server 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>80<span class="token punctuation">.</span>101:8081 weight=1<span class="token punctuation">;</span>
	<span class="token punctuation">}</span>
	
	server <span class="token punctuation">{
     </span>
		listen 80<span class="token punctuation">;</span>
		server_name www<span class="token punctuation">.</span>kgc<span class="token punctuation">.</span>com<span class="token punctuation">;</span>
	
		charset utf<span class="token operator">-</span>8<span class="token punctuation">;</span>
	
		<span class="token comment">#access_log logs/host.access.log main;</span>
		
		<span class="token comment">#配置Nginx处理动态页面请求,将 .jsp文件请求转发到Tomcat 服务器处理</span>
		location ~ <span class="token punctuation">.</span><span class="token operator">*</span>\<span class="token punctuation">.</span>jsp$ <span class="token punctuation">{
     </span>
			proxy_pass http:<span class="token operator">/</span><span class="token operator">/</span>tomcat_server<span class="token punctuation">;</span>
<span class="token comment">#设置后端的Web服务器可以获取远程客户端的真实IP</span>
<span class="token comment">##设定后端的Web服务器接收到的请求访问的主机名(域名或IP、端口),默认HOST的值为proxy_pass指令设置的主机名。如果反向代理服务器不重写该请求头的话,那么后端真实服务器在处理时会认为所有的请求都来在反向代理服务器,如果后端有防攻击策略的话,那么机器就被封掉了。</span>
			proxy_set_header HOST <span class="token variable">$host</span><span class="token punctuation">;</span>
<span class="token comment">##把$remote_addr赋值给X-Real-IP,来获取源IP</span>
			proxy_set_header X<span class="token operator">-</span>Real<span class="token operator">-</span>IP <span class="token variable">$remote_addr</span><span class="token punctuation">;</span>
<span class="token comment">##在nginx 作为代理服务器时,设置的IP列表,会把经过的机器ip,代理机器ip都记录下来</span>
			proxy_set_header X<span class="token operator">-</span>Forwarded<span class="token operator">-</span><span class="token keyword">For</span> <span class="token variable">$proxy_add_x_forwarded_for</span><span class="token punctuation">;</span>
		<span class="token punctuation">}</span>
		
		<span class="token comment">#配置Nginx处理静态图片请求</span>
		location ~ <span class="token punctuation">.</span><span class="token operator">*</span>\<span class="token punctuation">.</span><span class="token punctuation">(</span>gif<span class="token punctuation">|</span>jpg<span class="token punctuation">|</span>jpeg<span class="token punctuation">|</span>png<span class="token punctuation">|</span>bmp<span class="token punctuation">|</span>swf<span class="token punctuation">|</span>css<span class="token punctuation">)</span>$ <span class="token punctuation">{
     </span>
			root <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>nginx<span class="token operator">/</span>html<span class="token operator">/</span>img<span class="token punctuation">;</span>
			expires 10d<span class="token punctuation">;</span>
		<span class="token punctuation">}</span>
		
		location <span class="token operator">/</span> <span class="token punctuation">{
     </span>
			root html<span class="token punctuation">;</span>
			index index<span class="token punctuation">.</span>html index<span class="token punctuation">.</span>htm<span class="token punctuation">;</span>
		<span class="token punctuation">}</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
	<span class="token punctuation">}</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
<span class="token punctuation">}</span>
</code></pre> 
  <blockquote> 
   <p>测试效果<br> 测试静态页面效果<br> 浏览器访问 http://192.168.80.10/<br> 浏览器访问 http://192.168.80.10/game.jpg</p> 
  </blockquote> 
  <blockquote> 
   <p>测试负载均衡效果,不断刷新浏览器测试<br> 浏览器访问 http://192.168.80.10/index.jsp</p> 
  </blockquote> 
  <h2>Nginx+Tomcat负载均衡、动静分离的具体实验步骤(实操)</h2> 
  <p>第一步:准备好Nginx服务器(192.168.80.100)<br> <a href="http://img.e-com-net.com/image/info8/e19c39f239134aea8f177f0dac142e2f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/e19c39f239134aea8f177f0dac142e2f.jpg" alt="Tomcat多实例和负载均衡_第11张图片" width="650" height="145" style="border:1px solid black;"></a><br> 第二步:准备好tomcat服务器(192.168.80.150:8080)<br> <a href="http://img.e-com-net.com/image/info8/a3a0197ff016460588c87cdfb7b87725.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/a3a0197ff016460588c87cdfb7b87725.jpg" alt="Tomcat多实例和负载均衡_第12张图片" width="650" height="263" style="border:1px solid black;"></a><br> 第三步:准备好tomcat服务器的两个实例(192.168.80.200:8080和192.168.80.200:8081),具体步骤参考本文第一段<br> <a href="http://img.e-com-net.com/image/info8/51846835bd06410f9d91ca2266920d9e.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/51846835bd06410f9d91ca2266920d9e.jpg" alt="Tomcat多实例和负载均衡_第13张图片" width="650" height="289" style="border:1px solid black;"></a><br> 第四步:动静分离Tomcat1 server 配置<br> 配置Tomcat1的动态网页显示内容<br> <a href="http://img.e-com-net.com/image/info8/8234035ad05c44bf95999fff13d5b441.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/8234035ad05c44bf95999fff13d5b441.jpg" alt="Tomcat多实例和负载均衡_第14张图片" width="650" height="149" style="border:1px solid black;"></a><br> 添加新的host内容<br> <a href="http://img.e-com-net.com/image/info8/34aa117286d6478ea746d9b27c167571.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/34aa117286d6478ea746d9b27c167571.jpg" alt="Tomcat多实例和负载均衡_第15张图片" width="650" height="295" style="border:1px solid black;"></a><br> 重启服务<br> <a href="http://img.e-com-net.com/image/info8/b055819f241145fea92d08bc7589fc91.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/b055819f241145fea92d08bc7589fc91.jpg" alt="Tomcat多实例和负载均衡_第16张图片" width="650" height="180" style="border:1px solid black;"></a><br> 第五步:Tomcat2 server 配置(实例一)<br> 创建Tomcat实例1和Tomcat实例2的网页测试目录test和测试网页文件<br> <a href="http://img.e-com-net.com/image/info8/40623c2160b245f69fa77436aa623a83.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/40623c2160b245f69fa77436aa623a83.jpg" alt="Tomcat多实例和负载均衡_第17张图片" width="650" height="179" style="border:1px solid black;"></a><br> Tomcat1主配置删除前面的 HOST 配置,添加新的HOST配置<br> <a href="http://img.e-com-net.com/image/info8/4ff4d7ab22434944a62c58c00ad7eded.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/4ff4d7ab22434944a62c58c00ad7eded.jpg" alt="Tomcat多实例和负载均衡_第18张图片" width="650" height="298" style="border:1px solid black;"></a><br> 重启服务<br> <a href="http://img.e-com-net.com/image/info8/ede667975c8344d1b66e8a46caa104ab.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/ede667975c8344d1b66e8a46caa104ab.jpg" alt="Tomcat多实例和负载均衡_第19张图片" width="650" height="156" style="border:1px solid black;"></a><br> 第五步:Tomcat2 server 配置(实例二)<br> 创建Tomcat实例2的测试网页文件<br> <a href="http://img.e-com-net.com/image/info8/6cbd6b878bbe473d8facb534c7af1367.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/6cbd6b878bbe473d8facb534c7af1367.jpg" alt="Tomcat多实例和负载均衡_第20张图片" width="650" height="183" style="border:1px solid black;"></a><br> Tomcat2主配置删除前面的 HOST 配置,添加新的HOST配置<br> <a href="http://img.e-com-net.com/image/info8/5a965ae722824670bb2f5a8678b18a74.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/5a965ae722824670bb2f5a8678b18a74.jpg" alt="Tomcat多实例和负载均衡_第21张图片" width="650" height="288" style="border:1px solid black;"></a><br> 重启服务<br> <a href="http://img.e-com-net.com/image/info8/9fc9be6e16134bef8afb39718b493d89.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/9fc9be6e16134bef8afb39718b493d89.jpg" alt="Tomcat多实例和负载均衡_第22张图片" width="650" height="165" style="border:1px solid black;"></a><br> 第六步:Nginx server 配置(192.168.80.100)<br> 准备网页显示相关内容<br> <a href="http://img.e-com-net.com/image/info8/58ca8b4a7adf421eac95441fad779b76.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/58ca8b4a7adf421eac95441fad779b76.jpg" alt="Tomcat多实例和负载均衡_第23张图片" width="650" height="130" style="border:1px solid black;"></a><br> 修改配置<br> <a href="http://img.e-com-net.com/image/info8/222301f236a94668a5dfc676f13c647f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/222301f236a94668a5dfc676f13c647f.jpg" alt="Tomcat多实例和负载均衡_第24张图片" width="650" height="230" style="border:1px solid black;"></a><br> 添加新的HOST<br> <a href="http://img.e-com-net.com/image/info8/744ba2b5ca14441ba6eb25f78ab90d1f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/744ba2b5ca14441ba6eb25f78ab90d1f.jpg" alt="Tomcat多实例和负载均衡_第25张图片" width="650" height="277" style="border:1px solid black;"></a><br> 重新服务<br> <a href="http://img.e-com-net.com/image/info8/5de1cb38bb3d4f128c0d26ba8f54c7c3.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/5de1cb38bb3d4f128c0d26ba8f54c7c3.jpg" alt="在这里插入图片描述" width="650" height="52"></a><br> 第七步:浏览器中进行测试,动态页面测试进行不断刷新即可<br> 测试结果一:静态页面<br> <a href="http://img.e-com-net.com/image/info8/6d181971b1584fbe9f2209da2cc81a63.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/6d181971b1584fbe9f2209da2cc81a63.jpg" alt="Tomcat多实例和负载均衡_第26张图片" width="483" height="299" style="border:1px solid black;"></a><br> 测试结果二:动态页面test1<br> <a href="http://img.e-com-net.com/image/info8/9120220f26bc4360957ef1b09bb9cc17.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/9120220f26bc4360957ef1b09bb9cc17.jpg" alt="Tomcat多实例和负载均衡_第27张图片" width="304" height="214" style="border:1px solid black;"></a><br> 测试结果二:动态页面test3<br> <a href="http://img.e-com-net.com/image/info8/a29292b3acd54bf2a8d03e836ee48780.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/a29292b3acd54bf2a8d03e836ee48780.jpg" alt="Tomcat多实例和负载均衡_第28张图片" width="322" height="342" style="border:1px solid black;"></a></p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1461233451469451264"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(Tomcat多实例和负载均衡)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1901139305489821696.htm"
                           title="TK矩阵:提高多账号管理效率的利器" target="_blank">TK矩阵:提高多账号管理效率的利器</a>
                        <span class="text-muted">m0_74891046</span>
<a class="tag" taget="_blank" href="/search/%E7%9F%A9%E9%98%B5/1.htm">矩阵</a>
                        <div>随着TikTok的火爆,越来越多的人开始利用这个平台进行内容创作和社交互动。无论是个人创作者、品牌方,还是营销公司,TikTok都提供了巨大的机会,但同时也带来了运营上的挑战,尤其是在管理多个账户时。每个账号的维护、内容发布、互动和数据分析,都需要耗费大量的时间和精力。TK矩阵是为了应对这些挑战而推出的一款工具,它为需要操作多个TikTok账号的用户提供了一种更高效、更安全的管理方式。基于云技术和</div>
                    </li>
                    <li><a href="/article/1901138800390762496.htm"
                           title="使用Python和LangChain创建可调用工具的智能对话机器人:全面指南" target="_blank">使用Python和LangChain创建可调用工具的智能对话机器人:全面指南</a>
                        <span class="text-muted">m0_57781768</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">机器人</a>
                        <div>使用Python和LangChain创建可调用工具的智能对话机器人:全面指南在当今技术迅猛发展的时代,人工智能(AI)和自然语言处理(NLP)技术的应用范围越来越广。尤其是对话机器人,它们不仅能与人类进行自然交互,还能通过调用外部API与各种系统对接,为用户提供更加智能和灵活的服务。本文将通过一系列实例和代码演示,向您展示如何利用Python编程语言和LangChain框架,创建能够使用外部工具(</div>
                    </li>
                    <li><a href="/article/1901138801120571392.htm"
                           title="财务管理核心知识深度剖析" target="_blank">财务管理核心知识深度剖析</a>
                        <span class="text-muted">阿贾克斯的黎明</span>
<a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E5%AD%A6%E7%A7%91/1.htm">基础学科</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a>
                        <div>目录财务管理核心知识深度剖析一、财务指标计算:企业财务状况的量化洞察二、成本计算方法:企业成本管控的核心策略三、财务分析方法:解读企业财务密码的钥匙在华为财经笔试的知识体系中,第二章财务管理核心知识是重中之重,它涵盖了从基础指标计算到复杂分析方法、预算管理、资金与投资决策以及风险把控等多方面内容,对企业的财务运营和决策起着关键作用。深入理解这些知识,不仅有助于在笔试中取得优异成绩,更能为实际的财务</div>
                    </li>
                    <li><a href="/article/1901137288746823680.htm"
                           title="C/C++框架和库推荐" target="_blank">C/C++框架和库推荐</a>
                        <span class="text-muted">大王算法</span>
<a class="tag" taget="_blank" href="/search/C%2B%2B%E5%85%A5%E9%97%A8%E5%8F%8A%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98%E5%AE%9D%E5%85%B8/1.htm">C++入门及项目实战宝典</a><a class="tag" taget="_blank" href="/search/C%2FC%2B%2B%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98365/1.htm">C/C++开发实战365</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a>
                        <div>值得学习的C语言开源项目-1.WebbenchWebbench是一个在Linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写,代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210552/web</div>
                    </li>
                    <li><a href="/article/1901136591896768512.htm"
                           title="第四章:高级特性与最佳实践 - 第五节 - Tailwind CSS 代码组织和维护技巧" target="_blank">第四章:高级特性与最佳实践 - 第五节 - Tailwind CSS 代码组织和维护技巧</a>
                        <span class="text-muted"></span>

                        <div>在大型项目中,良好的代码组织和维护策略对于项目的可持续发展至关重要。本节将介绍如何在使用TailwindCSS的项目中组织和维护代码,以提高开发效率和代码质量。目录结构规范推荐的项目结构src/├──styles/│├──base/││├──typography.css││├──colors.css││└──reset.css│├──components/││├──button.css││├──c</div>
                    </li>
                    <li><a href="/article/1901135651965825024.htm"
                           title="RISC-V架构 vs ARM架构:硬件工程师的深度对比" target="_blank">RISC-V架构 vs ARM架构:硬件工程师的深度对比</a>
                        <span class="text-muted">ICGOODFIND1</span>
<a class="tag" taget="_blank" href="/search/risc-v/1.htm">risc-v</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a>
                        <div>引言在嵌入式系统和处理器设计领域,RISC-V和ARM架构是两大热门选择。作为硬件工程师,了解这两种架构的优缺点以及适用场景,对于选择合适的处理器至关重要。本文将从技术特性、生态系统、开发成本和未来趋势等方面,深入对比RISC-V和ARM架构,帮助你在项目中做出更明智的决策。1.架构设计:精简vs成熟RISC-V:开源与模块化RISC-V是一种基于精简指令集计算(RISC)原则的开源指令集架构(I</div>
                    </li>
                    <li><a href="/article/1901135581203722240.htm"
                           title="将本地文件上传到远程Linux服务器SCP的用法" target="_blank">将本地文件上传到远程Linux服务器SCP的用法</a>
                        <span class="text-muted"></span>

                        <div>服务器文件传输工具指南:SCP与rsync一、SCP的介绍SCP命令(SecureCopy)是一个用于在服务器和本地计算机之间传输文件的命令行工具。1.核心特性基于SSH协议的安全传输支持文件/目录传输保留基础文件属性2.基础语法scp[选项]源路径目标路径3.常用操作3.1通过scp实现文件上传3.1.1单文件上传#上传文件scp./local_diruser@host:/remote_dest</div>
                    </li>
                    <li><a href="/article/1901135579878322176.htm"
                           title="Omnissa Horizon 8 2412 (8.14) - 虚拟桌面基础架构 (VDI) 和应用软件" target="_blank">Omnissa Horizon 8 2412 (8.14) - 虚拟桌面基础架构 (VDI) 和应用软件</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E8%99%9A%E6%8B%9F%E5%8C%96/1.htm">虚拟化</a>
                        <div>OmnissaHorizon82412(8.14)-虚拟桌面基础架构(VDI)和应用软件之前称为VMwareHorizon,通过高效、安全的虚拟桌面交付增强您的工作空间请访问原文链接:https://sysin.org/blog/omnissa-horizon-8/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgHorizon8formerlyVMwareHorizon通过从本地</div>
                    </li>
                    <li><a href="/article/1901134391858491392.htm"
                           title="## VMware 虚拟机保姆级教程:从零开始玩转虚拟化" target="_blank">## VMware 虚拟机保姆级教程:从零开始玩转虚拟化</a>
                        <span class="text-muted">一只联想小新15呀~</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%BC%80%E5%8F%91/1.htm">运维开发</a>
                        <div>虚拟化技术已经成为现代计算不可或缺的一部分,而VMware作为虚拟化领域的领导者,其产品VMwareWorkstationPlayer和VMwareWorkstationPro更是深受广大用户喜爱。无论你是想体验不同操作系统,还是搭建测试环境,VMware都能满足你的需求。本教程将带你从零开始,一步步学习如何使用VMware虚拟机。**一、准备工作**1.**下载VMwareWorkstation</div>
                    </li>
                    <li><a href="/article/1901134013888786432.htm"
                           title="Web安全攻防入门教程——hvv行动详解" target="_blank">Web安全攻防入门教程——hvv行动详解</a>
                        <span class="text-muted">白帽子黑客罗哥</span>
<a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>Web安全攻防入门教程Web安全攻防是指在Web应用程序的开发、部署和运行过程中,保护Web应用免受攻击和恶意行为的技术与策略。这个领域不仅涉及防御措施的实现,还包括通过渗透测试、漏洞挖掘和模拟攻击来识别潜在的安全问题。本教程将带你入门Web安全攻防的基础概念、常见攻击类型、防御技术以及一些实战方法。一、Web安全基础Web应用安全的三大核心目标(CIA三原则)机密性(Confidentialit</div>
                    </li>
                    <li><a href="/article/1901132754230243328.htm"
                           title="算法题(98):大数加法" target="_blank">算法题(98):大数加法</a>
                        <span class="text-muted">被AI抢饭碗的人</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E9%A2%98/1.htm">算法题</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>审题:本题需要我们解决大数加法,大数直接运算会超出范围,所以我们需要转换成字符串一位位进行计算思路:方法一:高精度加法我们将两个大数的每一个位分别计算,然后头插到answer字符串中即可解题:1.由于我们是从个位开始计算,而字符串的存储size-1的位置才是个位的位置,我们就把j和i初始化为size-1.2.当有进位或两个大数还有数据的时候,我们进行大数加法。3.字符串的头插可以使用=和+号实现,</div>
                    </li>
                    <li><a href="/article/1901131239075672064.htm"
                           title="踩坑:VirtualBox:安装提示缺少python core和win32 api" target="_blank">踩坑:VirtualBox:安装提示缺少python core和win32 api</a>
                        <span class="text-muted">过去的了</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>一、安装OracleVirtualBox时出现以下现象内容提示:安装OracleVMVirtualBox7.0.24的Python绑定需要先安装PythonCore包和win32api绑定。如果现在继续安装OracleVMVirtualBox7.0.24的Python绑定,那么这些依赖项需要在之后手动设置。用户可以参考OracleVMVirtualBox7.0.24SDK手册获取更多信息。如果忽视</div>
                    </li>
                    <li><a href="/article/1901130921092902912.htm"
                           title="第四章:高级特性与最佳实践 - 第五节 - Tailwind CSS 代码组织和维护技巧" target="_blank">第四章:高级特性与最佳实践 - 第五节 - Tailwind CSS 代码组织和维护技巧</a>
                        <span class="text-muted"></span>

                        <div>在大型项目中,良好的代码组织和维护策略对于项目的可持续发展至关重要。本节将介绍如何在使用TailwindCSS的项目中组织和维护代码,以提高开发效率和代码质量。目录结构规范推荐的项目结构src/├──styles/│├──base/││├──typography.css││├──colors.css││└──reset.css│├──components/││├──button.css││├──c</div>
                    </li>
                    <li><a href="/article/1901130919868166144.htm"
                           title="第四章:高级特性与最佳实践 - 第四节 - Tailwind CSS CSS 提取和打包优化" target="_blank">第四章:高级特性与最佳实践 - 第四节 - Tailwind CSS CSS 提取和打包优化</a>
                        <span class="text-muted"></span>

                        <div>在现代前端工程中,CSS的提取和打包优化对于项目性能至关重要。本节将详细介绍如何在使用TailwindCSS的项目中实现CSS的高效提取和打包优化。CSS提取策略MiniCssExtractPlugin配置//webpack.config.jsconstMiniCssExtractPlugin=require('mini-css-extract-plugin')module.exports={mo</div>
                    </li>
                    <li><a href="/article/1901129349109706752.htm"
                           title="订单管理系统 大学生数据库大作业/数据库实践MYSQL" target="_blank">订单管理系统 大学生数据库大作业/数据库实践MYSQL</a>
                        <span class="text-muted">陌路物是人非</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1/1.htm">课程设计</a>
                        <div>订单管理系统从入门到入土下载Maven,Nodejs创建一个数据库sql_end,创建四个数据库表,并确保用户名为root用户密码为123456再IDEA中加载Springboot依赖(可以直接新建一个任意名称的文件夹,项目导入spring的框架),启动spring项目打开index.html输入用户名和密码,点击注册,再点击登录点击个人中心,点击修改用户信息,修改自己的余额点击逛店铺,选择一个商</div>
                    </li>
                    <li><a href="/article/1901129222634663936.htm"
                           title="Vue实现消息提示功能" target="_blank">Vue实现消息提示功能</a>
                        <span class="text-muted">陌路物是人非</span>
<a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>1.首先要先定义消息提示的组件,在这个组件中需要实现自动关闭的功能(看自己的爱好呗),并且设置自己喜欢的样式,vue中还有可以自定义进场和退场动画的样式(就是那个v-enter-active和v-leave-active)。这里还可以通过definePorps在外部设置属性值Message组件实例Ximport{ref,onMounted}from'vue';letdisplay=ref(fals</div>
                    </li>
                    <li><a href="/article/1901129221724499968.htm"
                           title="订单管理系统,大学生数据结构期末作业/C语言实践作业" target="_blank">订单管理系统,大学生数据结构期末作业/C语言实践作业</a>
                        <span class="text-muted">陌路物是人非</span>
<a class="tag" taget="_blank" href="/search/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95/1.htm">排序算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>任务:订单管理系统的设计与实现设计并实现一个订单管理系统界面分成两部分,分别是管理员和用户的界面主要功能:用户:(1)用户的登录及注册(2)用户信息修改(3)购买物品(4)充值(5)升序排序(按金额)物品管理员:(1)显示所有订单(2)插入订单信息(3)删除订单信息(4)排序订单(快排按编号)(5)统计订单信息(6)添加物品注意事项:一共需要建立4个文件(key.txt、物品清单.txt、用户信息</div>
                    </li>
                    <li><a href="/article/1901128838415446016.htm"
                           title="Python3 【项目实战】深度解析:赛跑成绩统计分析工具" target="_blank">Python3 【项目实战】深度解析:赛跑成绩统计分析工具</a>
                        <span class="text-muted">李智 - 重庆</span>
<a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E7%B2%BE%E8%AE%B2%E7%B2%BE%E7%BB%83/1.htm">精讲精练</a><a class="tag" taget="_blank" href="/search/-/1.htm">-</a><a class="tag" taget="_blank" href="/search/%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E5%AE%9E%E6%88%98/1.htm">从入门到实战</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%A1%88%E4%BE%8B%E5%AD%A6%E4%B9%A0/1.htm">案例学习</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E6%8A%80%E5%B7%A7/1.htm">编程技巧</a><a class="tag" taget="_blank" href="/search/%E6%97%B6%E9%97%B4%E5%A4%84%E7%90%86/1.htm">时间处理</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98/1.htm">项目实战</a>
                        <div>Python3【项目实战】深度解析:赛跑成绩统计分析工具一、项目概述1.开发背景:田径比赛的成绩统计需要快速准确的计算选手成绩,传统人工计时和统计效率低且易出错。本工具通过程序化处理赛跑数据,自动计算各选手成绩及整体统计指标,主要应用于:学校运动会成绩实时统计田径锦标赛的自动化成绩公示运动员训练数据分析2.技术定位:时间数据处理与统计计算的典型案例字典数据结构的实践应用面向过程编程的教学范例二、项</div>
                    </li>
                    <li><a href="/article/1901128208246435840.htm"
                           title="书籍棱面广告投放的创新设计方法.zip" target="_blank">书籍棱面广告投放的创新设计方法.zip</a>
                        <span class="text-muted">罗博深</span>

                        <div>本文还有配套的精品资源,点击获取简介:本创新方法将广告技术与传统书籍相结合,采用特殊印刷技术在书籍立体棱面上展示广告。通过材料、涂料的科技应用及光学原理,确保在不同光照下的视觉效果。设计考虑视觉吸引力、技术可行性及用户体验,可能结合AR技术增强互动性。需多方合作实现,包括印刷厂商、材料供应商和广告客户。此技术提供了新的广告展示平台,可能改变出版销售模式,并与数字营销结合。尽管面临技术挑战和成本问题</div>
                    </li>
                    <li><a href="/article/1901128081859473408.htm"
                           title="智慧运维与物联网技术在地铁车辆段的应用项目" target="_blank">智慧运维与物联网技术在地铁车辆段的应用项目</a>
                        <span class="text-muted">罗博深</span>

                        <div>本文还有配套的精品资源,点击获取简介:随着物联网技术的广泛应用,智慧运维系统通过传感器、大数据分析、云计算等技术集成,提升了地铁车辆段的运维效率和安全性。该系统可以实时监控设备状态、预测故障、提供智能决策支持、优化维护策略,并降低运营成本,同时提高乘客安全。其应用拓展至整个地铁线路,乃至与城市交通系统协同,展现了智慧运维对公共交通系统现代化的贡献。1.物联网技术基础与应用物联网(Interneto</div>
                    </li>
                    <li><a href="/article/1901127199403077632.htm"
                           title="Java多线程与并发编程实战——从基础到进阶" target="_blank">Java多线程与并发编程实战——从基础到进阶</a>
                        <span class="text-muted">AI天才研究院</span>
<a class="tag" taget="_blank" href="/search/Python%E5%AE%9E%E6%88%98/1.htm">Python实战</a><a class="tag" taget="_blank" href="/search/Java%E5%AE%9E%E6%88%98/1.htm">Java实战</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5/1.htm">编程实践</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a>
                        <div>作者:禅与计算机程序设计艺术1.简介互联网企业都在大力拓展自己的业务,而新的技术革命也带来了海量的数据量,因此,单机并发处理能力已经无法满足现代信息时代对高速数据的需求。大数据和云计算带来的分布式系统架构,让单台计算机不仅能够执行单个任务,而且可以横向扩展处理大量任务。在这种情况下,如何充分利用多核CPU、共享内存等资源并发地处理多项任务就成为现代系统设计者们必备技能之一。本书将以实操为导向,全面</div>
                    </li>
                    <li><a href="/article/1901126946725621760.htm"
                           title="2025年移动端技术探索-DeepSeek这么说" target="_blank">2025年移动端技术探索-DeepSeek这么说</a>
                        <span class="text-muted">轻口味</span>
<a class="tag" taget="_blank" href="/search/%E7%A7%BB%E5%8A%A8%E7%AB%AF/1.htm">移动端</a><a class="tag" taget="_blank" href="/search/%E7%A7%BB%E5%8A%A8%E7%AB%AF/1.htm">移动端</a><a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/HarmonyOS/1.htm">HarmonyOS</a><a class="tag" taget="_blank" href="/search/HarmonyOSNext/1.htm">HarmonyOSNext</a><a class="tag" taget="_blank" href="/search/iOS/1.htm">iOS</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a>
                        <div>随着移动互联网的逐步成熟,从增量市场向存量市场过度,对于开发的需求量大减,技术层面和业务层面的的需求量都很乏力。而且随着AI的发展,知识门槛基本消失,技能门槛也在缩短,从移动互联网向AI时代过度期间,更加比拼业务比拼创意,希望用AI重新改造某个行业。移动端方向整个24年最大的需求量是鸿蒙,2024年被称为“原生鸿蒙关键年”,华为联合头部企业(如中国移动、美团、百度等)加速构建独立生态,预计2024</div>
                    </li>
                    <li><a href="/article/1901126819235557376.htm"
                           title="kaggle-ISIC 2024 - 使用 3D-TBP 检测皮肤癌-学习笔记" target="_blank">kaggle-ISIC 2024 - 使用 3D-TBP 检测皮肤癌-学习笔记</a>
                        <span class="text-muted">supernova121</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>问题描述:通过从3D全身照片(TBP)中裁剪出单个病变来识别经组织学确诊的皮肤癌病例数据集描述:图像+临床文本信息评价指标:pAUC,用于保证敏感性高于指定阈值下的AUC主流方法分析(文本)基于CatBoost、LGBM和XGBoost三者的组合,为每个算法创建了XX个变体,总共XX个模型,进行集成学习。CatBoost在传统梯度提升决策树(GBDT)基础上,引入了一系列关键技术创新,以提升处理类</div>
                    </li>
                    <li><a href="/article/1901126820233801728.htm"
                           title="ARM嵌入式实时系统(RTOS) 中通过页表关闭DCACHE的方法" target="_blank">ARM嵌入式实时系统(RTOS) 中通过页表关闭DCACHE的方法</a>
                        <span class="text-muted">papaofdoudou</span>
<a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%B3%BB%E7%BB%9F/1.htm">嵌入式系统</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86/1.htm">内存管理</a><a class="tag" taget="_blank" href="/search/arm/1.htm">arm</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>现在的嵌入式实时系统规模越来越大,很多在linux中使用的特性,例如虚拟内存管理,动态加载等功能也加入进来,进一步增加了RTOS开发的难度.在应用开发中,和cache相关的同步问题有两个,一个是flush操作,另一个是invalidate操作,有时候为了确认问题是否和cache同步有关,需要关闭dcache来验证.这里介绍一种经过验证过的通过页表项关闭DCACHE的实践。Cortex-A7中启用c</div>
                    </li>
                    <li><a href="/article/1901125937970343936.htm"
                           title="Vue3项目基于Axios封装request请求" target="_blank">Vue3项目基于Axios封装request请求</a>
                        <span class="text-muted">洛*璃</span>
<a class="tag" taget="_blank" href="/search/Vue.js/1.htm">Vue.js</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a>
                        <div>在Vue3的项目开发中,使用Axios进行HTTP请求是非常常见的作法,为了更方便开发者更高效的进行代码编写和项目的维护,可以通过再次封装Axios来实现。在本文中,博主将详细指导你如何在自己的Vue3项目中使用Axios二次封装request请求。1.安装Axios首先,确保我们的Vue3项目已经安装了Axios。如果尚未安装Axios,则可以定位到项目根目录下(与src目录同级),运行命令行:</div>
                    </li>
                    <li><a href="/article/1901124551622848512.htm"
                           title="构建多序列比对的删除矩阵Deletion Matrix" target="_blank">构建多序列比对的删除矩阵Deletion Matrix</a>
                        <span class="text-muted">qq_27390023</span>
<a class="tag" taget="_blank" href="/search/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF%E5%AD%A6/1.htm">生物信息学</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>从多序列比对(MultipleSequenceAlignment,MSA)数据中构建删除矩阵(DeletionMatrix)是蛋白质结构预测中的一个重要步骤。删除矩阵记录了每个位置相对于参考序列的缺失(deletion)信息,这些信息对于理解蛋白质的进化关系和结构变化非常关键。以下是从A3M格式文件的MSA序列数据中构建删除矩阵的核心代码和示例解析。1.A3M格式文件(.a3m):每个序列都以>开</div>
                    </li>
                    <li><a href="/article/1901124425437212672.htm"
                           title="机器视觉|手势识别:基于YOLOv5的手部检测与MediaPipe的关键点估计" target="_blank">机器视觉|手势识别:基于YOLOv5的手部检测与MediaPipe的关键点估计</a>
                        <span class="text-muted">RockLiu@805</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E8%A7%86%E8%A7%89/1.htm">机器视觉</a><a class="tag" taget="_blank" href="/search/YOLO/1.htm">YOLO</a>
                        <div>手势识别:基于YOLOv5的手部检测与MediaPipe的关键点估计在实时计算机视觉应用中,手部检测与关键点估计是实现手势识别的重要基础。本文将介绍一种基于深度学习的手势识别技术方案,通过结合YOLOv5物体检测网络和MediaPipe关键点检测框架,实现实时的手部定位与关键点提取。技术背景gesturerecognition作为计算机视觉领域的重要研究方向,在HCI(人机交互)、遥控行为分析、虚</div>
                    </li>
                    <li><a href="/article/1901124173170798592.htm"
                           title="带大家vue + springboot/springcloud +minio(可选) 实现文件分片上传和断点续传介绍,问题,原理及 前后端完整源码 (模式2:后台集群部署模式)" target="_blank">带大家vue + springboot/springcloud +minio(可选) 实现文件分片上传和断点续传介绍,问题,原理及 前后端完整源码 (模式2:后台集群部署模式)</a>
                        <span class="text-muted">峡谷电光马仔</span>
<a class="tag" taget="_blank" href="/search/minio%E5%88%86%E7%89%87%E4%B8%8A%E4%BC%A0/1.htm">minio分片上传</a><a class="tag" taget="_blank" href="/search/springboot%E5%88%86%E7%89%87%E4%B8%8A%E4%BC%A0/1.htm">springboot分片上传</a><a class="tag" taget="_blank" href="/search/springboot%E6%96%AD%E7%82%B9%E7%BB%AD%E4%BC%A0/1.htm">springboot断点续传</a><a class="tag" taget="_blank" href="/search/springcloud%E6%96%AD%E7%82%B9%E7%BB%AD%E4%BC%A0/1.htm">springcloud断点续传</a><a class="tag" taget="_blank" href="/search/springcloud%E5%88%86%E7%89%87%E4%B8%8A%E4%BC%A0/1.htm">springcloud分片上传</a>
                        <div>回顾与介绍本文承接上文《vue+springboot/springcloud+minio(可选)实现文件分片上传和断点续传介绍,问题,原理及前后端完整源码(模式1:后台单点部署模式)》本篇主要针对后台是集群模式下部署时的分片上传方案本篇基于minio的部分可以参考,入不需要文件最后上传到文件服务器,则可忽略minio部分《从0到1手把手搭建springcloudalibaba微服务大型应用框架(九</div>
                    </li>
                    <li><a href="/article/1901123669267116032.htm"
                           title="程序调用Sql Server存储过程超时,但是数据库执行存储过程无异常的问题剖析" target="_blank">程序调用Sql Server存储过程超时,但是数据库执行存储过程无异常的问题剖析</a>
                        <span class="text-muted">.Net 爱好者</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/.netcore/1.htm">.netcore</a>
                        <div>在前端程序调用存储过程时出现执行超时,而直接在数据库中执行存储过程没有问题,这种情况可能与以下几个因素有关:1.查询计划缓存和参数嗅探SQLServer会为存储过程生成并缓存查询计划,以便在后续执行时提高性能。然而,查询计划是基于第一次执行时的参数生成的,这被称为“参数嗅探”。如果第一次执行时的参数与后续执行时的参数差异较大,可能会导致不适合的查询计划,从而影响性能。重新编译存储过程会使SQLSe</div>
                    </li>
                    <li><a href="/article/1901123417302691840.htm"
                           title="SpringCloudAlibaba:从0搭建一套快速开发框架-05 公共模块(common)编写与优化:提升开发效率实践" target="_blank">SpringCloudAlibaba:从0搭建一套快速开发框架-05 公共模块(common)编写与优化:提升开发效率实践</a>
                        <span class="text-muted">辉辉.</span>
<a class="tag" taget="_blank" href="/search/SpringCloud/1.htm">SpringCloud</a><a class="tag" taget="_blank" href="/search/2022/1.htm">2022</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a>
                        <div>序言:上篇主要介绍了OpenFeign的集成使用,本篇主要优化完善公共模块。公共模块介绍本片主要针对于我个人创建的公共模块(shine-common)展开。shine-common模块的总体功能可以概括为提供系统中的基础通用功能和工具,旨在为其他模块和服务提供一些重复使用的逻辑、工具方法以及规范化的处理方式。具体功能如下:基础常量与配置支持提供项目中需要的常量定义和全局配置项。这样可以避免硬编码常</div>
                    </li>
                                <li><a href="/article/12.htm"
                                       title="eclipse maven" target="_blank">eclipse maven</a>
                                    <span class="text-muted">IXHONG</span>
<a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a>
                                    <div>eclipse中使用maven插件的时候,运行run as maven build的时候报错 
-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match. 
  
可以设一个环境变量M2_HOME指</div>
                                </li>
                                <li><a href="/article/139.htm"
                                       title="timer cancel方法的一个小实例" target="_blank">timer cancel方法的一个小实例</a>
                                    <span class="text-muted">alleni123</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/timer/1.htm">timer</a>
                                    <div>package com.lj.timer;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class MyTimer extends TimerTask
{

	private int a;
	
	private Timer timer;
	
	pub</div>
                                </li>
                                <li><a href="/article/266.htm"
                                       title="MySQL数据库在Linux下的安装" target="_blank">MySQL数据库在Linux下的安装</a>
                                    <span class="text-muted">ducklsl</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>1.建好一个专门放置MySQL的目录 
/mysql/db数据库目录 
/mysql/data数据库数据文件目录 
 
2.配置用户,添加专门的MySQL管理用户 
 
>groupadd mysql ----添加用户组
>useradd -g mysql mysql ----在mysql用户组中添加一个mysql用户 
3.配置,生成并安装MySQL 
 
>cmake -D</div>
                                </li>
                                <li><a href="/article/393.htm"
                                       title="spring------>>cvc-elt.1: Cannot find the declaration of element" target="_blank">spring------>>cvc-elt.1: Cannot find the declaration of element</a>
                                    <span class="text-muted">Array_06</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a>
                                    <div>将-------- 
 
<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3</div>
                                </li>
                                <li><a href="/article/520.htm"
                                       title="maven发布第三方jar的一些问题" target="_blank">maven发布第三方jar的一些问题</a>
                                    <span class="text-muted">cugfy</span>
<a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a>
                                    <div>maven中发布 第三方jar到nexus仓库使用的是 deploy:deploy-file命令 
 
有许多参数,具体可查看 
 
http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html 
 
以下是一个例子: 
 
mvn  deploy:deploy-file -DgroupId=xpp3 </div>
                                </li>
                                <li><a href="/article/647.htm"
                                       title="MYSQL下载及安装" target="_blank">MYSQL下载及安装</a>
                                    <span class="text-muted">357029540</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>    好久没有去安装过MYSQL,今天自己在安装完MYSQL过后用navicat for mysql去厕测试链接的时候出现了10061的问题,因为的的MYSQL是最新版本为5.6.24,所以下载的文件夹里没有my.ini文件,所以在网上找了很多方法还是没有找到怎么解决问题,最后看到了一篇百度经验里有这个的介绍,按照其步骤也完成了安装,在这里给大家分享下这个链接的地址</div>
                                </li>
                                <li><a href="/article/774.htm"
                                       title="ios TableView cell的布局" target="_blank">ios TableView cell的布局</a>
                                    <span class="text-muted">张亚雄</span>
<a class="tag" taget="_blank" href="/search/tableview/1.htm">tableview</a>
                                    <div>  cell.imageView.image = [UIImage imageNamed:[imageArray objectAtIndex:[indexPath row]]]; 
    
  
    CGSize itemSize = CGSizeMake(60, 50); 
 
  &nbs</div>
                                </li>
                                <li><a href="/article/901.htm"
                                       title="Java编码转义" target="_blank">Java编码转义</a>
                                    <span class="text-muted">adminjun</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A0%81%E8%BD%AC%E4%B9%89/1.htm">编码转义</a>
                                    <div>    import java.io.UnsupportedEncodingException;

    /**
    * 转换字符串的编码
    */
    public class ChangeCharset {
    /** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块 */
    public static final Strin</div>
                                </li>
                                <li><a href="/article/1028.htm"
                                       title="Tomcat 配置和spring" target="_blank">Tomcat 配置和spring</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>简介 
Tomcat启动时,先找系统变量CATALINA_BASE,如果没有,则找CATALINA_HOME。然后找这个变量所指的目录下的conf文件夹,从中读取配置文件。最重要的配置文件:server.xml 。要配置tomcat,基本上了解server.xml,context.xml和web.xml。 
 
 Server.xml --  tomcat主</div>
                                </li>
                                <li><a href="/article/1155.htm"
                                       title="Java打印当前目录下的所有子目录和文件" target="_blank">Java打印当前目录下的所有子目录和文件</a>
                                    <span class="text-muted">ayaoxinchao</span>
<a class="tag" taget="_blank" href="/search/%E9%80%92%E5%BD%92/1.htm">递归</a><a class="tag" taget="_blank" href="/search/File/1.htm">File</a>
                                    <div>其实这个没啥技术含量,大湿们不要操笑哦,只是做一个简单的记录,简单用了一下递归算法。 
  
import java.io.File;

/**
 * @author Perlin
 * @date 2014-6-30
 */
public class PrintDirectory {
	
	public static void printDirectory(File f</div>
                                </li>
                                <li><a href="/article/1282.htm"
                                       title="linux安装mysql出现libs报冲突解决" target="_blank">linux安装mysql出现libs报冲突解决</a>
                                    <span class="text-muted">BigBird2012</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>linux安装mysql出现libs报冲突解决 
安装mysql出现 
file /usr/share/mysql/ukrainian/errmsg.sys from install of MySQL-server-5.5.33-1.linux2.6.i386 conflicts with file from package mysql-libs-5.1.61-4.el6.i686 
 </div>
                                </li>
                                <li><a href="/article/1409.htm"
                                       title="jedis连接池使用实例" target="_blank">jedis连接池使用实例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/jedis%E8%BF%9E%E6%8E%A5%E6%B1%A0/1.htm">jedis连接池</a><a class="tag" taget="_blank" href="/search/jedis/1.htm">jedis</a>
                                    <div>实例代码: 
package com.bijian.study;

import java.util.ArrayList;
import java.util.List;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoo</div>
                                </li>
                                <li><a href="/article/1536.htm"
                                       title="关于朋友" target="_blank">关于朋友</a>
                                    <span class="text-muted">bingyingao</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%8B%E5%8F%8B/1.htm">朋友</a><a class="tag" taget="_blank" href="/search/%E5%85%B4%E8%B6%A3%E7%88%B1%E5%A5%BD/1.htm">兴趣爱好</a><a class="tag" taget="_blank" href="/search/%E7%BB%B4%E6%8C%81/1.htm">维持</a>
                                    <div>  成为朋友的必要条件: 
   志相同,道不合,可以成为朋友。譬如马云、周星驰一个是商人,一个是影星,可谓道不同,但都很有梦想,都要在各自领域里做到最好,当他们遇到一起,互相欣赏,可以畅谈两个小时。   
  志不同,道相合,也可以成为朋友。譬如有时候看到两个一个成绩很好每次考试争做第一,一个成绩很差的同学是好朋友。他们志向不相同,但他</div>
                                </li>
                                <li><a href="/article/1663.htm"
                                       title="【Spark七十九】Spark RDD API一" target="_blank">【Spark七十九】Spark RDD API一</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a>
                                    <div>aggregate 
package spark.examples.rddapi

import org.apache.spark.{SparkConf, SparkContext}

//测试RDD的aggregate方法
object AggregateTest {
  def main(args: Array[String]) {
    val conf = new Spar</div>
                                </li>
                                <li><a href="/article/1790.htm"
                                       title="ktap 0.1 released" target="_blank">ktap 0.1 released</a>
                                    <span class="text-muted">bookjovi</span>
<a class="tag" taget="_blank" href="/search/kernel/1.htm">kernel</a><a class="tag" taget="_blank" href="/search/tracing/1.htm">tracing</a>
                                    <div>Dear,

I'm pleased to announce that ktap release v0.1, this is the first official
release of ktap project, it is expected that this release is not fully
functional or very stable and we welcome bu</div>
                                </li>
                                <li><a href="/article/1917.htm"
                                       title="能保存Properties文件注释的Properties工具类" target="_blank">能保存Properties文件注释的Properties工具类</a>
                                    <span class="text-muted">BrokenDreams</span>
<a class="tag" taget="_blank" href="/search/properties/1.htm">properties</a>
                                    <div>        今天遇到一个小需求:由于java.util.Properties读取属性文件时会忽略注释,当写回去的时候,注释都没了。恰好一个项目中的配置文件会在部署后被某个Java程序修改一下,但修改了之后注释全没了,可能会给以后的参数调整带来困难。所以要解决这个问题。 
    &nb</div>
                                </li>
                                <li><a href="/article/2044.htm"
                                       title="读《研磨设计模式》-代码笔记-外观模式-Facade" target="_blank">读《研磨设计模式》-代码笔记-外观模式-Facade</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ 
 
 



/*
 * 百度百科的定义:
 * Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,
 * 隐藏子系统的复杂性,使子系统更加容易使用。他是为子系统中的一组接口所提供的一个一致的界面
 * 
 * 可简单地</div>
                                </li>
                                <li><a href="/article/2171.htm"
                                       title="After Effects教程收集" target="_blank">After Effects教程收集</a>
                                    <span class="text-muted">cherishLC</span>
<a class="tag" taget="_blank" href="/search/After+Effects/1.htm">After Effects</a>
                                    <div>1、中文入门 
 
http://study.163.com/course/courseMain.htm?courseId=730009 
 
 2、videocopilot英文入门教程(中文字幕) 
 
http://www.youku.com/playlist_show/id_17893193.html 
英文原址: 
http://www.videocopilot.net/basic/ 
素</div>
                                </li>
                                <li><a href="/article/2298.htm"
                                       title="Linux Apache 安装过程" target="_blank">Linux Apache 安装过程</a>
                                    <span class="text-muted">crabdave</span>
<a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a>
                                    <div>Linux Apache 安装过程 
  
下载新版本: 
apr-1.4.2.tar.gz(下载网站:http://apr.apache.org/download.cgi) 
apr-util-1.3.9.tar.gz(下载网站:http://apr.apache.org/download.cgi) 
httpd-2.2.15.tar.gz(下载网站:http://httpd.apac</div>
                                </li>
                                <li><a href="/article/2425.htm"
                                       title="Shell学习 之 变量赋值和引用" target="_blank">Shell学习 之 变量赋值和引用</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%E5%8F%98%E9%87%8F%E5%BC%95%E7%94%A8/1.htm">变量引用</a><a class="tag" taget="_blank" href="/search/%E8%B5%8B%E5%80%BC/1.htm">赋值</a>
                                    <div>本文转自:http://www.cnblogs.com/papam/articles/1548679.html 
 
Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下规则: 
 
首个字符必须为字母(a-z,A-Z) 
中间不能有空格,可以使用下划线(_) 
不能使用标点符号 
不能使用bash里的关键字(可用help命令查看保留关键字) 
需要给变量赋值时,可以这么写: 
 
</div>
                                </li>
                                <li><a href="/article/2552.htm"
                                       title="Java SE 第一讲(Java SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行)" target="_blank">Java SE 第一讲(Java SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行)</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a>
                                    <div>Java SE 第一讲: 
 
Java SE:Java Standard Edition 
Java ME: Java Mobile Edition 
Java EE:Java Enterprise Edition 
 
Java是由Sun公司推出的(今年初被Oracle公司收购)。 
 
收购价格:74亿美金 
 
J2SE、J2ME、J2EE 
 
JDK:Java Development </div>
                                </li>
                                <li><a href="/article/2679.htm"
                                       title="YII给用户登录加上验证码" target="_blank">YII给用户登录加上验证码</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a>
                                    <div>1、在SiteController中添加如下代码: 
    /**
     * Declares class-based actions.
     */
    public function actions() {
        return array(
            // captcha action renders the CAPTCHA image displ</div>
                                </li>
                                <li><a href="/article/2806.htm"
                                       title="Lucene使用说明" target="_blank">Lucene使用说明</a>
                                    <span class="text-muted">dyy_gusi</span>
<a class="tag" taget="_blank" href="/search/Lucene/1.htm">Lucene</a><a class="tag" taget="_blank" href="/search/search/1.htm">search</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E8%AF%8D%E5%99%A8/1.htm">分词器</a>
                                    <div>Lucene使用说明 
1、lucene简介 
1.1、什么是lucene 
    Lucene是一个全文搜索框架,而不是应用产品。因此它并不像baidu或者googleDesktop那种拿来就能用,它只是提供了一种工具让你能实现这些产品和功能。 
1.2、lucene能做什么 
    要回答这个问题,先要了解lucene的本质。实际</div>
                                </li>
                                <li><a href="/article/2933.htm"
                                       title="学习编程并不难,做到以下几点即可!" target="_blank">学习编程并不难,做到以下几点即可!</a>
                                    <span class="text-muted">gcq511120594</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                                    <div>不论你是想自己设计游戏,还是开发iPhone或安卓手机上的应用,还是仅仅为了娱乐,学习编程语言都是一条必经之路。编程语言种类繁多,用途各 异,然而一旦掌握其中之一,其他的也就迎刃而解。作为初学者,你可能要先从Java或HTML开始学,一旦掌握了一门编程语言,你就发挥无穷的想象,开发 各种神奇的软件啦。 
1、确定目标 
学习编程语言既充满乐趣,又充满挑战。有些花费多年时间学习一门编程语言的大学生到</div>
                                </li>
                                <li><a href="/article/3060.htm"
                                       title="Java面试十问之三:Java与C++内存回收机制的差别" target="_blank">Java面试十问之三:Java与C++内存回收机制的差别</a>
                                    <span class="text-muted">HNUlanwei</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/finalize%28%29/1.htm">finalize()</a><a class="tag" taget="_blank" href="/search/%E5%A0%86%E6%A0%88/1.htm">堆栈</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AD%98%E5%9B%9E%E6%94%B6/1.htm">内存回收</a>
                                    <div>大家知道, Java 除了那 8 种基本类型以外,其他都是对象类型(又称为引用类型)的数据。 JVM 会把程序创建的对象存放在堆空间中,那什么又是堆空间呢?其实,堆( Heap)是一个运行时的数据存储区,从它可以分配大小各异的空间。一般,运行时的数据存储区有堆( Heap)和堆栈( Stack),所以要先看它们里面可以分配哪些类型的对象实体,然后才知道如何均衡使用这两种存储区。一般来说,栈中存放的</div>
                                </li>
                                <li><a href="/article/3187.htm"
                                       title="第二章 Nginx+Lua开发入门" target="_blank">第二章 Nginx+Lua开发入门</a>
                                    <span class="text-muted">jinnianshilongnian</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a>
                                    <div>Nginx入门 
本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章: 
nginx启动、关闭、重启 
http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html 
agentzh 的 Nginx 教程 
http://openresty.org/download/agentzh-nginx-tutor</div>
                                </li>
                                <li><a href="/article/3314.htm"
                                       title="MongoDB windows安装 基本命令" target="_blank">MongoDB windows安装 基本命令</a>
                                    <span class="text-muted">liyonghui160com</span>

                                    <div>  
windows安装 
  
 安装目录: 
  
D:\MongoDB\ 
  
新建目录 
  
D:\MongoDB\data\db 
  
4.启动进城: 
  
cd D:\MongoDB\bin 
  
mongod -dbpath D:\MongoDB\data\db 
  
&n</div>
                                </li>
                                <li><a href="/article/3441.htm"
                                       title="Linux下通过源码编译安装程序" target="_blank">Linux下通过源码编译安装程序</a>
                                    <span class="text-muted">pda158</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>一、程序的组成部分     Linux下程序大都是由以下几部分组成:     二进制文件:也就是可以运行的程序文件     库文件:就是通常我们见到的lib目录下的文件     配置文件:这个不必多说,都知道     帮助文档:通常是我们在linux下用man命令查看的命令的文档      
二、linux下程序的存放目录     linux程序的存放目录大致有三个地方:     /etc, /b</div>
                                </li>
                                <li><a href="/article/3568.htm"
                                       title="WEB开发编程的职业生涯4个阶段" target="_blank">WEB开发编程的职业生涯4个阶段</a>
                                    <span class="text-muted">shw3588</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a>
                                    <div>觉得自己什么都会 
2007年从学校毕业,凭借自己原创的ASP毕业设计,以为自己很厉害似的,信心满满去东莞找工作,找面试成功率确实很高,只是工资不高,但依旧无法磨灭那过分的自信,那时候什么考勤系统、什么OA系统、什么ERP,什么都觉得有信心,这样的生涯大概持续了约一年。 
 
根本不是自己想的那样 
2008年开始接触很多工作相关的东西,发现太多东西自己根本不会,都需要去学,不管是asp还是js,</div>
                                </li>
                                <li><a href="/article/3695.htm"
                                       title="遭遇jsonp同域下变作post请求的坑" target="_blank">遭遇jsonp同域下变作post请求的坑</a>
                                    <span class="text-muted">vb2005xu</span>
<a class="tag" taget="_blank" href="/search/jsonp/1.htm">jsonp</a><a class="tag" taget="_blank" href="/search/%E5%90%8C%E5%9F%9Fpost/1.htm">同域post</a>
                                    <div>今天迁移一个站点时遇到一个坑爹问题,同一个jsonp接口在跨域时都能调用成功,但是在同域下调用虽然成功,但是数据却有问题. 此处贴出我的后端代码片段 
$mi_id = htmlspecialchars(trim($_GET['mi_id ']));
$mi_cv = htmlspecialchars(trim($_GET['mi_cv '])); 
 贴出我前端代码片段: 
$.aj</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>