我已经设置了 apache-tomcat 集群(Ubuntu Server),我使用了 tomcat 支持的集群技术和 mod_jk链接。我已经设置了一个负载均衡器和两个 Web 服务器。
主要问题是部署 WAR 文件以及部署到哪个 Web 服务器?我了解了 Farmed Deployment,它将 war 文件部署到集群中的其他 tomcat 服务器,但我还没有让它工作。我在两个 Web 服务器上的元素中以以下方式使用了场部署器。
网络服务器 1(192.168.1.101)
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/usr/share/tomcat/temp/"
deployDir="/usr/share/tomcat/webapps/"
watchDir="/usr/share/tomcat/watch/"
watchEnabled="true"/>
Run Code Online (Sandbox Code Playgroud)
网络服务器 2(192.168.1.102)
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/usr/share/tomcat/temp/"
deployDir="/usr/share/tomcat/webapps/"
watchDir="/usr/share/tomcat/webapps/"
watchEnabled="false"/>
Run Code Online (Sandbox Code Playgroud)
我将 WAR 放在 web 服务器 1 上的 watch 目录中,但它没有部署到其他服务器。任何人都得到了这个工作,我做错了什么?,请告诉我!
谢谢!
更新:1
我可以在 catalina.out 日志中的任何一台机器中看到以下信息,
14 Aug, 2011 9:12:11 PM org.apache.catalina.ha.deploy.FarmWarDeployer start
SEVERE: FarmWarDeployer can only work as host cluster subelement!
Run Code Online (Sandbox Code Playgroud)
它甚至不部署到 webserver1,也不部署到 webserver2。访问网站时出现 404 错误。还有什么帮助...?还有一件事,我没有从 apt 存储库安装 tomcat,而是从源代码构建它,这对于我们的 Java 应用程序来说非常完美。
我已经mod_jk在 ubuntu 服务器上设置了 apache-tomcat 集群。我在FarmDeployer将 war 文件部署到集群中的其他 Web 服务器时遇到了一些问题,我希望它能像我发布的那样工作并使 FarmDeployer 在这里工作。
战争部署器与帖子中的以下配置完美配合,但不能可靠地工作,因为它有时会在访问页面时出现 404 错误:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="192.168.1.4"
port="4000"
selectorTimeout="100"
maxThreads="6"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor">
<Member className="org.apache.catalina.tribes.membership.StaticMember"
port="4000"
securePort="-1"
host="192.168.1.2"
domain="staging-cluster"
uniqueId="{0,1,2,3,4,5,6,7,8,9}"/>
</Interceptor>
</Channel>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/usr/share/tomcat/temp/"
deployDir="/usr/share/tomcat/webapps/"
watchDir="/usr/share/tomcat/watch/"
watchEnabled="true"/>
</Cluster>
</Host>
Run Code Online (Sandbox Code Playgroud)
以下是完美适用于 HA 和 LB 集群的配置(来自 tomcat cluster docs)。But it fails in Farm Deployer并且日志中没有任何说明农场部署程序不工作的原因。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"> …Run Code Online (Sandbox Code Playgroud) 背景:
我在工作中使用计算集群(4 个从节点和 1 个头节点),它使用 SGE 作业调度程序。最近我们一直在运行一些执行大量 IO 的作业,它一直在减慢 shell/vim 的使用(小 IO,但我们需要它 24/7 平稳运行)。我找到了 ionice,它似乎是一台计算机的完美解决方案,但我不确定它对集群是否有帮助......
题:
如果我通过带有 ionice 设置(-c2 -n0)的头节点运行一个进程(比如 vim),它是否仍然比其他计算机上的进程(从属设备上的高 IO -c2 -n4)上的进程优先于共享 HD ?
谢谢你的时间!
我在下面有一些问题——我尽量把它们说出来。如果您对我的帖子投反对票,请发表评论,解释您投反对票的原因,以便我在以后发帖时可以做得更好。这是我的问题(我的大问题是第二段):
如果我们使用 Server 2012,在运行 VDI 和 RDS 的大规模虚拟化环境中,我们能否在没有 SAN 的情况下获得高可用性 (HA) 和可靠性?
我们有使用 Microsoft SQL 的高事务应用程序,例如需要 HA 和可靠性的 Exchange、SharePoint 等——是否有另一种方法可以在不使用 SAN 的情况下获得它?(编辑:或者我想我想说的是——我们可以消除 SAN 并且仍然具有 Microsoft SQL 和 Exchange 的 HA 和可靠性吗?Hyper-V 在 2012 年是否与此有关?)
我的主管听说使用 Server 2012 可以做类似的事情,将两台服务器连接在一起,同时实现 HA 和可靠性——这是真的吗?它是如何工作的?谢谢!
我正在阅读有关高可用性的内容,但我无法理解我阅读的以下内容:故障转移时,主 IP 迁移到备份服务器,但 MAC 地址也必须如此。
具体来说,我读到每台机器都有一个唯一的地址 MAC,机器中的所有接口都可以使用它。我不明白这部分。MAC不属于网卡吗?这句话中的接口是什么意思?
同样在故障转移时,客户端必须更新其 IP/MAC 映射,并为此找到了 3 种方法,其中之一是使用自定义 MAC,并将其与公共 IP 一起从主要移动到备份。这怎么可能?高可用性软件(例如 Pacemaker)能做到这一点吗?如何?
我正在寻找有关 2012 年 Microsoft 故障转移群集实施的一些输入。要使用存储和池,如果您使用的是 raid 卡,它显然必须具有 JBODS。但是我们使用的LSI卡(lsi megaraid SAS 9260cv-4i)不做JBODS。对于故障转移集群 在本地 SAN 服务器(我们有 2 个)上获取这些磁盘并希望在存储上具有高可用性并在故障转移集群中使用它的最佳方法是什么。可以在集群中使用吗?
我们应该不在集群中使用它并呈现 Iscsi 目标吗?在这种情况下,最佳做法是什么?
任何帮助是极大的赞赏。
例如,对于haproxy(第7层)负载均衡,只需要配置VIP(即集群IP)后面的“真实服务器”或“后端”即可。例如:
listen smtp 192.168.3.10:25
mode tcp
balance roundrobin
server smtp1 192.168.3.1:25 check
server smtp1 192.168.3.2:25 check
Run Code Online (Sandbox Code Playgroud)
但是,对于lvs(第 4 层),我需要:
lvs机设置为路由器,实现“NAT路由”lvs机和后端都配置有与后端的一些ARP MODS的VIP如果没有更复杂的配置,第 7 层负载平衡如何设法做到这一点?我在这里误解或遗漏了一些基本的东西吗?
我正在将我们的集群迁移到新硬件。我们使用裸机服务器,没有虚拟化。
目前,我们有大约 30 个“应用程序”服务器。当我们进行更新时,我们将更改推送到一台机器,然后使用 lsync(rsync 的一个分支)将新文件推送到集群中的所有机器。
我的新想法是使用 SAN 和 iSCSI 来简单地从一个位置跨所有服务器“共享”应用程序。我几乎不知道你真的不能开箱即用。每台机器切出自己的 SAN 部分,但机器无法看到彼此的文件。
解决这个问题的最佳方法是什么?我们在所有机器上运行 Centos 6.4。我偶然发现了这一点,但听说过关于运行集群文件系统的不同说法http://ricardobaylon.wordpress.com/2013/11/11/centos-6-4-cluster-gfs-iscsi/
我正在考虑为我客户的网站创建一个 HA Linux 机器。我有哪些主要选择,或者我可以找到更多信息的地方/文章是什么?
如果它也是单个图像,我会很高兴,这样现有的软件就可以正常工作。
任何帮助表示赞赏。
谢谢!
我在集群上有一组 4 个 Linux Web 服务器,它们都具有相同的挂载点:
/folder
Run Code Online (Sandbox Code Playgroud)
这/folder是 NAS 上的 NFS 挂载共享,但已满并且没有更多的 LUN/磁盘可用于扩展 NFS。我有另一个 NAS 有足够的空间来解决这个问题,但是内部开发的软件通过 .jpg 文件搜索 JPG 文件/folder。我想知道是否可以将另一个 NFS 共享从另一个 NAS 挂载到同一目录以获得更多空间?无论写入文件的新路径是/folder/newshare.