部署tomcat单机多实例,keepalived+mysql的互为主从高可用,mysql+keepalived高可用

要实现Tomcat单机多实例和MySQL的Keepalived高可用性配置,你需要按以下步骤操作:

  1. 安装和配置MySQL主从复制(Keepalived):

    • 安装MySQL和Keepalived。
    • 配置MySQL主从复制,确保从服务器能够接管主服务器的角色。
    • 配置Keepalived,确保服务器切换时,MySQL服务正常运行。
  2. 部署Tomcat多实例:

    • 在同一台机器上部署多个Tomcat实例,每个实例运行在不同的端口上。
    • 配置各个Tomcat实例使用不同的CATALINA_HOMECATALINA_BASE环境变量。
    • 配置各个Tomcat实例使用不同的server.xml配置文件,确保Shutdown端口和HTTP/AJP端口不冲突。
  3. 配置Tomcat连接到MySQL(使用Keepalived虚拟IP):

    • 修改Tomcat的数据源配置,让它连接到MySQL的Keepalived虚拟IP。

以下是可能的配置文件和命令示例:

MySQL配置(主服务器my.cnf):




[mysqld]
server-id=1
log_bin=mysql-bin

MySQL配置(从服务器my.cnf):




[mysqld]
server-id=2
log_bin=mysql-bin
read_only=ON

Keepalived配置(master.conf):




global_defs {
   router_id MySQL-HA
}
 
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
2.168.1.100/24 dev eth0 label eth0:1
    }
}

Keepalived配置(backup.conf):




global_defs {
   router_id MySQL-HA
}
 
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
2.168.1.100/24 dev eth0 label eth0:1
    }
}

Tomcat数据源配置(context.xml):




<Context>
    <Resource name="jdbc/MyDB" auth="Container" type="javax.sql.DataSource"
              username="user" password="pass" driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://192.168.1.100:3306/mydb"
              maxActive="20" maxIdle="10" maxWait="10000"/>
</Context>

请注意,这些配置示例可能需要根据你的实际网络环境和配置进行调整。在实际部署时,你需要确保所有的配置文件路径、端口号、服务器ID、认证密码等都是正确的。

最后修改于:2024年09月02日 09:29

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日