• 七台虚拟机,一台主机编写html文件(编译tomcat和配置LB),两台配置LB负载均衡(keeplived),四台免密登陆并编写编译写出tomcat的剧本


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 在悄悄发光 2024-05-06 22:40 采纳率: 0% 浏览 7 首页/ 运维 / 七台虚拟机,一台主机编写html文件(编译tomcat和配置LB),两台配置LB负载均衡(keeplived),四台免密登陆并编写编译写出tomcat的剧本 linux负载均衡 七台虚拟机,一台主机编写html文件(编译tomcat和配置LB),两台配置LB负载均衡(keeplived),四台免密登陆并编写编译写出tomcat的剧本 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    5条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-06 22:40
      关注

      引自免费微信小程序:皆我百晓生

      要实现这个任务,首先我们需要在主机上安装所需的软件包,并创建一个简单的HTML文件。然后,我们需要在两台LB机器上配置Keepalived进行负载均衡。最后,在四台Tomcat服务器上设置SSH无密码登录并部署应用程序。

      以下是详细的步骤:

      主机 (Host) 配置

      1. 安装Apache Tomcat和相关依赖:
      sudo apt-get update
      sudo apt-get install -y openjdk-8-jdk tomcat9 tomcat9-admin
      
      1. 创建一个简单的HTML文件:
      echo "

      Hello, World!

      " > /var/lib/tomcat9/webapps/ROOT/index.html
      1. 启动并设置Tomcat为开机启动:
      sudo systemctl start tomcat9
      sudo systemctl enable tomcat9
      

      Keepalived 负载均衡器配置 (LB1 and LB2)

      1. 在两台LB机器上安装Keepalived:
      sudo apt-get update
      sudo apt-get install -y keepalived
      
      1. 编辑/etc/keepalived/keepalived.conf,添加以下配置(根据实际情况更改IP地址和端口号):
      global_defs {
         router_id  lb1
      }
      
      vrrp_instance VI_1 {
         state MASTER
         interface eth0
         virtual_router_id 51
         priority 100
         advert_int 1
         authentication {
             auth_type PASS
             auth_pass secretpassword
         }
         virtual_ipaddress {
             192.168.1.100/32 dev eth0
         }
         track_script {
             check_tomcat {
                 script "perl -e 'use Net::Ping; my $ping = Net::Ping->new('tcp'); return 0 unless $ping->ping(\"${tomcat_host}\", ${ping_timeout}); print 1;'"
                 interval 5
                 fall 3
                 rise 2
             }
         }
      }
      
      vrrp_instance VI_2 {
         state BACKUP
         interface eth0
         virtual_router_id 52
         priority 90
         advert_int 1
         authentication {
             auth_type PASS
             auth_pass secretpassword
         }
         virtual_ipaddress {
             192.168.1.101/32 dev eth0
         }
         track_script {
             check_tomcat {
                 script "perl -e 'use Net::Ping; my $ping = Net::Ping->new('tcp'); return 0 unless $ping->ping(\"${tomcat_host}\", ${ping_timeout}); print 1;'"
                 interval 5
                 fall 3
                 rise 2
             }
         }
      }
      
      1. 将Tomcat服务器的IP地址替换为 ${tomcat_host},将检查间隔时间替换为 ${ping_timeout}
      2. 重启Keepalived服务:
      sudo systemctl restart keepalived
      
      1. 检查状态:
      sudo keepalived -D
      

      Tomcat服务器配置 (Server1, Server2, Server3, Server4)

      1. 安装Tomcat和相关依赖: 按照主机配置中的第一步操作。

      2. 创建一个简单的HTML文件: 按照主机配置中的第二步操作。

      3. 启动并设置Tomcat为开机启动: 按照主机配置中的第三步操作。

      4. 设置SSH无密码登录:

      • 在所有Tomcat服务器上生成SSH密钥对:
      ssh-keygen -t rsa
      
      • 将公钥复制到LB1和LB2:
      ssh-copy-id user@lb1_ip
      ssh-copy-id user@lb2_ip
      
      1. 部署应用程序到Tomcat服务器:
      scp your_app.war user@server1_ip:/var/lib/tomcat9/webapps/
      

      重复此命令,将应用部署到其他三台Tomcat服务器。

      这样就完成了整个系统的配置。当访问负载均衡器的VIP地址时,请求会被自动分发到健康的Tomcat服务器上。可以通过修改Keepalived配置中的优先级来改变主从角色。记得根据实际情况调整网络配置、IP地址和端口号。

      展开全部

      评论 编辑记录
    • 笑面虎 2024-05-06 22:40
      关注

      以下内容由CHATGPT及笑面虎共同生成、有用望采纳:


      【问题概括】:这个问题的目的是要在七台虚拟机上部署一个基于Tomcat的Web应用,并实现负载均衡。一台主机用于编写HTML文件、编译Tomcat并配置负载均衡(LB),两台虚拟机用于配置Keepalived实现负载均衡,而剩下的四台虚拟机则需要实现免密登录,并编写、编译并部署Tomcat。

      【图片内容】:由于图片内容没有直接显示在文本中,我只能根据描述来推测。图片可能包含了与问题相关的配置细节,如Tomcat编译指令、负载均衡配置、免密登录设置等。

      【问题出现原因】:这个问题出现的原因是用户需要在多台虚拟机上部署Web应用,并且希望通过负载均衡来提高应用的可用性和可靠性。同时,用户希望通过免密登录来简化管理和部署流程。

      【问题解决方案】:为了解决这个问题,我们需要分几个步骤来操作:

      1. 主机上的HTML文件编写与Tomcat编译:在主机上编写HTML文件,并编译Tomcat服务器。
      2. 负载均衡配置:在两台虚拟机上安装并配置Keepalived来实现负载均衡。
      3. 免密登录设置:在四台虚拟机上设置SSH免密登录,以便于管理和部署。
      4. Tomcat部署:在四台虚拟机上部署编译好的Tomcat服务器。

      【提供代码】:由于问题描述中没有提供具体的代码错误或者具体的配置代码,我将提供一个大致的流程和一些基本的命令来指导这个过程。

      1. 编译Tomcat(示例命令,具体命令取决于Tomcat版本和编译环境):

        wget http://apache.mirrors.pair.com/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz
        tar -xzvf apache-tomcat-8.5.34.tar.gz
        cd apache-tomcat-8.5.34
        ./configure --prefix=/usr/local/tomcat
        make && make install
        
      2. Keepalived配置(示例配置片段):

        vim /etc/keepalived/keepalived.conf
        

        配置文件中需要包含虚拟IP地址和相关的负载均衡设置。

      3. SSH免密登录:使用SSH密钥对和ssh-copy-id命令来设置免密登录。

      4. Tomcat部署:将编译好的Tomcat分发到其他虚拟机并启动。

      【代码运行方式】:运行上述代码需要一个Linux环境,通过SSH连接到相应的虚拟机,并具有足够的权限来安装软件和配置系统。

      【代码预期运行结果】:如果一切配置正确,你应该能够在主机上编译Tomcat,两台虚拟机上的Keepalived服务应该能够正常启动并同步状态,四台虚拟机应该能够通过免密登录进行管理和Tomcat服务应该能够正常启动。

      【推荐相关链接】:

      展开全部

      评论 编辑记录
    • 码农阿豪 Java领域优质创作者 2024-05-06 22:41
      关注
      让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
      问题:如何在七台虚拟机上编写html文件,并编译tomcat和配置LB,同时保证负载均衡,四台机器免密登陆并编写tomcat的剧本? 回答: 一、环境准备 首先,需要7台虚拟机,其中一台主机用于编写html文件、编译tomcat和配置LB,两台用于负载均衡,四台用于运行tomcat。在主机上需要安装tomcat和LB负载均衡软件(如keepalived)。 二、编写html文件并编译tomcat 在主机上编写html文件,并使用命令行编译tomcat。具体步骤如下:
      1. 在主机上创建一个名为“test”的html文件,代码如下:
      
      
      
          Test Page
      
      
          

      Welcome to my test page

      1. 在命令行窗口中运行以下命令来编译tomcat:
      cd /home/user/tomcat/bin
      ./startup.sh
      

      其中,/home/user/tomcat是你tomcat所在的路径。如果编译成功,你应该能在浏览器中打开localhost:8080,并看到一个tomcat的默认页面。 三、LB负载均衡配置 接下来,我们需要在两台负载均衡机器上安装keepalived软件,并配置负载均衡。具体步骤如下: 1. 在两台负载均衡机器上安装keepalived:

      sudo apt-get install keepalived
      
      1. 配置keepalived。在每台负载均衡机器上创建一个名为keepalived.conf的配置文件,代码如下:
      vrrp_script chk_nginx {
              script "/usr/bin/killall -0 nginx"
              interval 2
              fall 2
              rise 2
      }
      vrrp_instance VI_1 {
              interface eth0
              state MASTER
              virtual_router_id 51
              priority 101
              advert_int 3
              authentication {
                      auth_type PASS
                      auth_pass 1111
              }
              track_script {
                      chk_nginx
              }
              virtual_ipaddress {
                      192.168.100.100/24 dev eth0
              }
      }
      
      1. 启动keepalived。在每台负载均衡机器上运行以下命令:
      sudo /etc/init.d/keepalived start
      

      四、四台机器免密登陆并编写tomcat的剧本 现在,我们需要在4台机器上进行免密登陆,并编写tomcat的剧本。具体步骤如下: 1. 在主机上创建SSH公私钥。在主机上运行以下命令:

      ssh-keygen
      
      1. 将SSH公钥复制到4台机器上。在主机上运行以下命令:
      ssh-copy-id user@192.168.0.1
      ssh-copy-id user@192.168.0.2
      ssh-copy-id user@192.168.0.3
      ssh-copy-id user@192.168.0.4
      

      其中,user是你在另外4台机器上的用户名,192.168.0.1至192.168.0.4是4台机器的IP地址。 3. 编写tomcat的剧本。在主机上创建一个名为deploy.sh的文件,代码如下:

      #!/bin/bash
      APP_NAME=myapp
      TOMCAT_PATH=/home/user/tomcat
      TOMCAT_USER=user
      TOMCAT_GROUP=user
      echo "Deploying $APP_NAME to $TOMCAT_PATH..."
      echo "Stopping tomcat..."
      $TOMCAT_PATH/bin/shutdown.sh
      echo "Backing up webapps directory..."
      mv $TOMCAT_PATH/webapps $TOMCAT_PATH/webapps.bak
      echo "Copying new webapp to tomcat webapps directory..."
      cp -R $APP_NAME.war $TOMCAT_PATH/webapps/
      echo "Changing webapp ownership to tomcat user..."
      chown -R $TOMCAT_USER:$TOMCAT_GROUP $TOMCAT_PATH/webapps/$APP_NAME
      echo "Starting tomcat..."
      $TOMCAT_PATH/bin/startup.sh
      echo "Deployment complete."
      

      其中,APP_NAME是你的webapp名称,TOMCAT_PATH是你的tomcat安装路径,TOMCAT_USER和TOMCAT_GROUP是你在tomcat上的用户名和用户组。 4. 运行剧本。在主机上运行以下命令:

      ./deploy.sh
      

      这将会将你的webapp部署到4台机器的tomcat上。 以上就是在七台虚拟机上编写html文件并编译tomcat、配置LB负载均衡,以及免密登陆并编写tomcat的剧本的全部步骤。

      展开全部

      评论
    • Kwan的解忧杂货铺 2024-05-07 01:09
      关注

      上午好☀️☀️☀️️
      本答案参考ChatGPT-3.5

      这道题目是关于如何在七台虚拟机中,通过一台主机编写html文件,并在两台配置LB负载均衡的虚拟机中配置keeplived,在四台虚拟机中免密登录并编写编译出tomcat的剧本的问题。

      解决方案如下:

      1. 在一台虚拟机中安装tomcat并编写html文件,确认tomcat可以正常运行。
      2. 拷贝这份安装好的tomcat到其它三台虚拟机中,在同一路径下解压。
      3. 配置四台虚拟机免密登录主机,这样将来可以通过主机执行剧本。
      4. 写一个编译安装tomcat的脚本,上传到主机上,通过免密登录执行脚本,这样所有虚拟机都将成功安装tomcat。
      5. 在两台虚拟机中安装并配置keeplived,以实现负载均衡。

      具体实现步骤:

      1. 安装tomcat

        在任意一台虚拟机中安装tomcat并配置好html文件,可以通过浏览器验证tomcat是否能够正常运行。

      2. 复制tomcat到其他虚拟机

        在主机上使用命令:

        scp -r /path/to/tomcat username@destination:/path
        

        将安装好的tomcat复制到其他三台虚拟机中,同时解压。

      3. 配置免密登录

        在主机上执行以下命令:

        ssh-keygen -t rsa   #按照提示设置一个新的ssh key
        ssh-copy-id username@virtual_machine  #将ssh key拷贝到虚拟机中,这样就可以实现免密登录
        
      4. 编写编译安装tomcat的脚本

        #!/bin/bash
        
        #下载tomcat并解压缩到指定位置
        wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz
        tar zxvf apache-tomcat-9.0.45.tar.gz -C /usr/local/
        
        #设定环境变量
        export CATALINA_HOME=/usr/local/apache-tomcat-9.0.45
        export PATH=$PATH:$CATALINA_HOME/bin
        
        #设定tomcat服务脚本
        echo '[Unit]
        Description=Apache Tomcat Web Application Container
        After=syslog.target network.target
        
        [Service]
        Type=forking
        
        Environment=JAVA_HOME=/usr/local/java/jdk1.8.0_181
        Environment=CATALINA_PID=/usr/local/apache-tomcat-9.0.45/temp/tomcat.pid
        Environment=CATALINA_HOME=/usr/local/apache-tomcat-9.0.45
        Environment=CATALINA_BASE=/usr/local/apache-tomcat-9.0.45
        Environment='CATALINA_OPTS=-Xms2048m -Xmx4096m -server -XX:+UseParallelGC'
        Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -Dfile.encoding=UTF-8'
        
        ExecStart=/usr/local/apache-tomcat-9.0.45/bin/startup.sh
        ExecStop=/usr/local/apache-tomcat-9.0.45/bin/shutdown.sh
        
        User=tomcat
        Group=tomcat
        
        [Install]
        WantedBy=multi-user.target' > /etc/systemd/system/tomcat.service
        
        #设定tomcat用户,设置tomcat脚本权限,启动tomcat服务
        useradd -r -s /bin/false tomcat
        chown -R tomcat:tomcat /usr/local/apache-tomcat-9.0.45/
        chmod +x /usr/local/apache-tomcat-9.0.45/bin/*.sh
        systemctl daemon-reload
        systemctl enable tomcat.service
        systemctl start tomcat.service
        
      5. 上传脚本并执行

        将脚本上传到主机中,通过ssh免密登录到虚拟机中,执行脚本即可。这样所有的虚拟机都将成功安装好tomcat。

      6. 配置keeplived

        安装keeplived并编辑配置文件,将两台虚拟机IP地址设定在同一组中,实现负载均衡。

      综上所述,七台虚拟机的主机、LB和tomcat部署都完成了,可以实现负载均衡,并在四台虚拟机中免密登录后执行tomcat脚本。

      展开全部

      评论
    • DTcode7 前端领域优质创作者 2024-05-16 12:07
      关注

      答案引用自chatgpt生成,望对题主有所帮助/启发;若有帮助,还望采纳!

      首先,我们需要了解一些基本概念和作用说明:

      1. 虚拟机:虚拟机是一种在物理主机上模拟出的计算机系统,它可以运行操作系统和应用程序,就像真实的物理机一样。虚拟机可以节省硬件成本,提高资源利用率,方便管理和维护。

      2. 主机:主机是运行虚拟机的物理机,它负责为虚拟机提供计算、存储和网络等资源。

      3. HTML文件:HTML(HyperText Markup Language)是一种用于创建网页的标准标记语言。HTML文件包含了用于描述网页结构和内容的标签和属性。

      4. Tomcat:Tomcat是一个开源的Java Web服务器,用于部署和运行Java Web应用程序。

      5. 负载均衡(Load Balancing):负载均衡是一种将网络流量分配到多个服务器的技术,以实现高性能、高可用性和扩展性。常见的负载均衡算法有轮询、加权轮询、最小连接数等。

      6. Keepalived:Keepalived是一个用于实现高可用性的软件,它可以监控服务器的状态,并在主服务器出现故障时自动切换到备用服务器。

      7. 免密登录:免密登录是指在不输入密码的情况下,通过密钥或其他身份验证方式登录远程服务器。

      接下来,我们将分步骤完成这个任务:

      1. 在一台主机上编写HTML文件并编译Tomcat。
      # 安装JDK和Tomcat
      sudo apt-get install openjdk-8-jdk tomcat8
      
      # 编写一个简单的HTML文件
      echo "

      Hello, World!

      "
      > /var/lib/tomcat8/webapps/ROOT/index.html # 启动Tomcat sudo systemctl start tomcat8
      1. 配置两台LB服务器(使用keepalived)。
      # 安装keepalived
      sudo apt-get install keepalived
      
      # 编辑keepalived配置文件
      sudo nano /etc/keepalived/keepalived.conf
      
      # 在配置文件中添加以下内容
      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 {
              192.168.1.100
          }
      }
      
      # 保存并退出编辑器
      
      # 启动keepalived服务
      sudo systemctl start keepalived
      
      1. 在四台虚拟机上免密登录并编写编译写出tomcat的剧本。
      # 生成SSH密钥对
      ssh-keygen -t rsa
      
      # 将公钥添加到远程服务器的authorized_keys文件中
      ssh-copy-id user@remote_host
      
      # 编写一个脚本来编译Tomcat
      #!/bin/bash
      cd /path/to/tomcat
      ./configure
      make
      make install
      

      将这个脚本保存为compile_tomcat.sh,然后在四台虚拟机上运行这个脚本即可。

      展开全部

      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    如何在React中监听键盘事件
    还在为没机器练手搭集群而苦恼?快进来免费领机器了!
    R语言使用qcauchy函数生成柯西分布分位数函数数据、使用plot函数可视化柯西分布分位数函数数据(Cauchy distribution)
    JAVA的分页列表+搜索
    docker实战学习2022版本(七)之docker网络学习
    K8s云原生存储Rook详解
    ROS文件系统以及相关命令
    基于STM32+RFID设计的宿舍检修管理系统
    【数据结构--排序】堆排序
    (免费领源码)SSM#mysql中学成绩管理系统98575-计算机毕业设计项目选题推荐
  • 原文地址:https://ask.csdn.net/questions/8099567