5分钟设置Tomcat集群





5.00/5 (2投票s)
描述如何安装和使用Bear来设置和管理Tomcat集群
引言
在这个技巧中,我将展示如何使用 Bear 来
- 在你的集群上安装 JDK、Maven 和 Tomcat
- 为每个主机配置 Tomcat 多实例
- 启动、停止并检查 Tomcat 服务的状态
- 运行远程命令来手动测试一切是否正常
背景
Bear 是一个轻量级的 Groovy/Java/JVM 远程自动化工具。Bear 与其他现有工具的区别在于它使用程序化方法。 在 Bear 中,你的部署是一个普通的 Java 类,可以通过 main()
运行。 Bear 喜欢 static
类型安全、链式方法调用、FP 和流畅的编程技术。
安装 Bear
Bear 需要- 1 台或多台带有 Linux 的远程机器,标准密码认证
- JDK 8 EA (推荐用于 UI), JDK 7+ 运行控制台/UI
- Maven 3+。
mvn
必须在命令行中可用。 如何在 Windows 上安装 Maven
要安装 Bear,在命令行中输入(可能需要管理员权限)
$ mvn com.chaschev:installation-maven-plugin:1.4:install -Dartifact=com.chaschev:bear
创建项目
为你部署创建一个目录或使用一个已有的目录,然后:
$ mkdir tomcat-demo
$ cd tomcat-demo
# generates a new project for your hosts, i.e. vm04, vm05, vm06
$ bear --create tomcat-demo --template java.tomcat --hosts="vm04,vm05,vm06" --user your-ssh-user --password your-pass
这里 java
和 tomcat
是将功能添加到生成的项目的标签。
注意: 如果你计划使用不是最新的 JDK 版本(在撰写本文时为 7u51),你需要通过提供 --oracleUser
和 --oraclePassword
来指定你的 Oracle.com 凭据。
指定版本
在 .bear/TomcatDemoProject.groovy
中打开生成的项目并编辑配置以设置要安装的工具的版本
@Override
protected GlobalContext configureMe(GlobalContextFactory factory) throws Exception {
java.acceptLicense.set true
java.version.set "7u51"
tomcat.version.set "7.0.50"
maven.version.set "3.1.1"
bear.appStartTimeoutSec.set(600) // override startup timeout for Tomcat
...
添加 Tomcat 实例
通过简单地枚举端口来添加实例。 所有其他内部 Tomcat 端口将根据每个实例进行相应调整
tomcat.instancePorts.set "8080, 8081"
运行安装
现在我们准备运行安装。 为了获得最佳结果,请确保你的机器上没有安装 JDK。 如果有,你可能想要卸载它们,或者你可以保持原样,Bear 将覆盖诸如 /usr/bin/java
和 /usr/bin/javac
之类的引用
$ bear tomcat-demo.setup
tomcat-demo 是我们项目的名称,setup 是此类中的方法名称(实际上是超类的方法)。 此任务将安装 JDK、Maven、Tomcat,还将创建服务和快捷方式以运行脚本。 还有 关于如何通过 IDE 运行项目的说明。 如果一切正常,你应该在屏幕截图中看到 Bear 的 UI

启动 & 停止 Tomcat 实例
在 UI 中,单击状态选项卡并在提示符中键入
tomcat-start
tomcat-status
要检查状态或停止实例,请使用 tomcat-status
或 tomcat-stop
。 单击任何主机选项卡,在滚动条的底部你应该看到

注意: 通常在部署项目时,你只需执行 $ bear tomcat-demo.deploy
即可部署它并重新启动服务。
手动验证
对于那些像我一样好奇整个事情如何工作和配置的人,选择任何主机选项卡并输入:
ls /var/lib/bear/tools/tomcat/current/ -w 1
..
bin
conf
instances
lib
logs
webapps
work
给你 Tomcat 主目录的列表。 一切如常,除了 instances
文件夹,它包含每个实例的运行时和配置
$ ls /var/lib/bear/tools/tomcat/current/ -w 1
tomcat-8080
tomcat-8081
$ ls /var/lib/bear/tools/tomcat/current/tomcat-8080 -w 1
conf
logs
webapps
要手动启动/停止实例或编辑 upstart 脚本,请键入
# Prints the service commands for your OS
cat `which tomcat-status`
# Prints the status for an instance
sudo service tomcat-8080 status
sudo service tomcat-8080 stop
# Will print the upstart script content
cat /etc/init/tomcat-8080.conf
结果
在本技巧中,我向你展示了如何使用 Bear 快速设置 Tomcat 环境。 因此,你现在可以将你的 WAR 放入创建的 webapps 中以部署你的项目。 你也可以使用 Bear 来完成此操作,它将允许你执行其他操作,例如从版本控制中检出你的项目、构建你的 WAR、为其创建发布文件夹、回滚到以前的版本之一。
祝你的部署愉快!
Andrey