GNU/Linux >> Znalost Linux >  >> Linux

Migrujte webovou aplikaci Java z webových služeb Amazon

Předchozí sekce: Poskytování cloudových zdrojů při migraci z AmazonWebServices

Tento článek ukazuje, jak migrovat webovou aplikaci Spring založenou na Apache® Tomcat® a Java™ z Amazon® Web Services® (AWS) do Rackspace Cloud. Dokončení tohoto příkladu trvá asi 30 minut.

Příklad používá Spring PetClinic SampleApplication.

Následující obrázek ukazuje topologii aplikace:

Předpoklady

Abyste mohli postupovat podle příkladu v tomto článku, jsou vyžadovány následující předpoklady:

  • Instance Amazon Elastic Compute Cloud (EC2) na AWS s přístupem root, na které je spuštěna webová aplikace Spring na Apache Tomcat.
  • Platný a povolený účet v cloudu Rackspace.

Příprava

Než se pokusíte postupovat podle kroků ve cvičení, proveďte následující kroky:

  • Identifikujte prostředky, které chcete migrovat, včetně prostředků aplikací a databáze.
  • Vytvořte seznam všech nezbytných softwarových balíčků, které jsou nainstalovány ve vaší instanci EC2, jiné než je vaše aplikace Spring.
  • Vytvořte seznam všech dalších serverů Amazon, které aplikace používá (například Simple Email Server (SES) pro e-mail nebo Relational Database Service (RDS) pro databáze).
  • Pokud jste to ještě neudělali, vytvořte instanci cloudového serveru a všechny podpůrné cloudové služby Rackspace.

Instalovat softwarové balíčky

Nainstalujte následující softwarové balíčky:

  • Oracle® Open Java Development Kit (OpenJDK™)
  • Apache Tomcat
  • OpenStack® Swift (volitelné)

Instalovat OpenJDK do cloudu

Chcete-li nainstalovat OpenJDK do cloudu, proveďte následující kroky:

  1. Pomocí Secure Shell (SSH) se připojte k instanci Cloud Servers pomocí adresy URL RackspacePublicNet a hesla root.

  2. Pro přihlášení zadejte heslo uživatele root.

  3. Nainstalujte OpenJDK 7 zadáním následujícího příkazu:

    sudo yum install java-1.7.0-openjdk-devel
    
  4. Určete umístění JAVA_HOME zadáním následujícího příkazu:

    ll /etc/alternatives/java
    

    V následujícím příkladu výstupu JAVA_HOME se nachází na adrese/usr/lib/jvm/jre-1.7.0-openjdk.x86_64 :

    /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
    

Instalovat Tomcat na cloudový server

Chcete-li nainstalovat Tomcat na cloudový server, použijte následující kroky:

  1. Na stránce Tomcat 7Software Downloads klikněte pravým tlačítkem na verzi Tomcat, kterou chcete použít, a zkopírujte adresu URL tar.gz soubor (napříkladhttps://www.us.apache.org/dist/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39.tar.gz ).

  2. Chcete-li změnit adresář na /usr/share, zadejte následující příkazy (nebo adresář, který chcete použít) a stáhněte si binární soubor:

     cd /usr/share
     sudo wget https://www.us.apache.org/dist/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39.tar.gz
    
  3. Změňte oprávnění zadáním následujícího příkazu:

     sudo chmod 775 apache-tomcat-7.0.39.tar.gz
    
  4. Extrahujte obsah souboru zadáním následujícího příkazu:

     sudo tar zxvf apache-tomcat-7.0.39.tar.gz
    
  5. Po extrahování Tomcatu použijte následující příkaz k odstranění tar.gz soubor a uvolněte místo:

     sudo rm apache-tomcat-7.0.39.tar.gz
    
  6. Nastavte proměnné prostředí v catalina.sh soubor zadáním následujících příkazů:

     cd /usr/share/apache-tomcat-7.0.39/bin
     sudo vi catalina.sh
    
  7. Přidejte následující řádek do catalina.sh soubor bezprostředně za \#!/bin/sh :

     JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
    
  8. Uložte změny a ukončete soubor.

  9. Automatizujte spouštění Tomcat zadáním následujících příkazů:

     cd /etc/init.d
     sudo vi tomcat
    
  10. Přidejte do souboru následující informace. Ujistěte se, že JAVA_HOME ,TOMCAT_HOME , START_TOMCAT a STOP_TOMCAT viz správné adresáře:

    #!/bin/bash
    # chkconfig: 234 20 80
    # description: Tomcat Server basic start/shutdown script
    # processname: tomcat
    JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
    export JAVA_HOME
    TOMCAT_HOME=/usr/share/apache-tomcat-7.0.39/bin
    START_TOMCAT=/usr/share/apache-tomcat-7.0.39/bin/startup.sh
    STOP_TOMCAT=/usr/share/apache-tomcat-7.0.39/bin/shutdown.sh
    start() {
    echo -n "Starting tomcat: "
    cd $TOMCAT_HOME
    ${START_TOMCAT}
    echo "done."
    }
    stop() {
    echo -n "Shutting down tomcat: "
    
    cd $TOMCAT_HOME
    ${STOP_TOMCAT}
    echo "done."
    }
    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    stop
    sleep 10
    start
    ;;
    *)
    echo "Usage: $0 {start|stop|restart}"
    esac
    exit 0
    
  11. Uložte změny a ukončete soubor.

  12. Nastavte oprávnění k souborům, nastavte Tomcat jako systémovou službu a otestujte nastavení zadáním následujících příkazů:

    sudo chmod 755 tomcat
    sudo /sbin/chkconfig --add tomcat
    sudo /sbin/chkconfig --level 234 tomcat on
    sudo /sbin/chkconfig --list tomcat
    

    Výstup by měl být podobný následujícímu příkladu:

     tomcat 0:off 1:off 2:on 3:on 4:on 5:off 6:off
    
  13. Protože Tomcat běží na portu 8080, musíte zajistit, aby iptables nerušilo připojení.

  14. Chcete-li Tomcat otestovat, vyhledejte adresu internetového protokolu (IP) cloudového serveru v ovládacím panelu cloudu a otevřete adresu URL v prohlížeči (například https://<ipAddress>:8080/ ). Měly by se objevit vstupní stránky Apache Tomcat.

    Poznámka :Tomcat můžete zastavit a spustit pomocí následujících příkazů:

    sudo /sbin/service tomcat stop
    sudo /sbin/service tomcat start
    

Instalovat OpenStack Swift (volitelné)

Pokud plánujete k přenosu dat používat Cloud Files, musíte k povolení přístupu ze serveru použít OpenStack Swift. Při instalaci a konfiguraci OpenStack Swift postupujte podle kroků v této části.

  1. K instalaci klienta OpenStack Swift použijte následující příkaz:

     sudo yum install python-novaclient python-glanceclient swift
    
  2. Nastavte potřebné proměnné prostředí spuštěním následujících příkazů, které nahradí uživatelské jméno účtu Rackspace Cloud a klíč API:

     export ST_USER=<yourLoginUsername>
     export ST_KEY=<yourApiKey>
     export ST_AUTH=https://identity.api.rackspacecloud.com/v1.0/
    

    Možná budete chtít definovat tyto proměnné v .bashrc nebo .bash\_profile soubor. Pokud provedete tento krok, musíte znovu načíst soubor s následujícím source příkaz nahrazující .bash\_profile pro .bashrc v případě potřeby:

         source .bashrc
    
  3. Zadejte swift list a ujistěte se, že vidíte kontejner, který jste vytvořili pro uložení vašich dat.

Zálohování dat z AWS do Rackspace Cloud Files

Získejte svá data z AWS EC2. K přenosu dat můžete použít jednu z následujících metod:

  • Přenášejte data přímo pomocí rsync nebo SSH File Transfer Protocol (SFTP).
  • Pomocí klienta OpenStack Swift přeneste svá data do Cloud Files a poté přeneste data z Cloud Files na Cloud Server.

Chcete-li používat Cloud Files, proveďte následující přípravné kroky:

  1. K připojení k instanci EC2 pomocí SSH použijte následující příkazy:

    ssh -i yourPrivateKey.pem [email protected]
    
  2. Proveďte výpis databáze pomocí následujícího příkazu:

    mysqldump -h <rdsHostname> -u <rdsUsername> -p --triggers --routines --databases petclinic | gzip > ~/petclinic.sql.gz
    
  3. Pomocí následujícího příkazu zálohujte svou aplikaci a jakékoli další zdroje, které aplikace potřebuje, včetně protokolů a dalších adresářů:

    # Ensure that you have the correct tomcat7 directory
    sudo tar cvzf ~/tomcat.tar.gz /usr/share/tomcat7/webapps/*
    
  4. Pokud k přenosu souborů používáte Cloud Files, proveďte přenos jedním z následujících způsobů. Pokud přenášíte soubory přímo pomocí rsync nebo SFTP, přeskočte na poslední část tohoto článku.

    • Zadáním následujících příkazů nahrajete své archivy do kontejneru CloudFiles (Tomcat v tomto příkladu) pomocí klienta Swift:

      swift upload Tomcat petclinic.sql.gz
      swift upload Tomcat tomcat.tar.gz
      
    • Pomocí následujících kroků nahrajte svá data do Cloud Files prostřednictvím ovládacího panelu Cloud:

      1. V části Vyberte produkt v rozbalovací nabídce vyberte RackspaceCloud> Úložiště> Soubory> Název kontejneru otevřete kontejner.

      2. Klikněte na Nahrát soubory .

      3. Klikněte na Procházet , vyberte soubor nebo soubory, které chcete nahrát, a klikněte na Otevřít , Vyberte nebo Vybrat (v závislosti na prohlížeči a systému, který používáte).

      4. Klikněte na Nahrát soubor .

Obnovení dat z cloudových souborů na cloudové servery

Pokud jste svá data nahráli do Cloud Files, použijte k přenosu na váš cloudový server následující kroky:

  1. Pomocí SSH se připojte k instanci Cloud Servers pomocí PublicNetURL a hesla root.

  2. Nainstalujte a nakonfigurujte rozhraní příkazového řádku (CLI) Swift podle kroků v části „Instalace softwarových balíčků“ tohoto článku.

  3. Ujistěte se, že můžete spustit swift list a ve výsledcích uvidíte nový kontejner, který jste vytvořili.

  4. Pomocí následujících příkazů stáhněte výpis databáze ze zálohy, kterou jste pořídili v části „Zálohování dat z AWS do souborů Rackspace Cloud Files“ v tomto článku, a obnovte jej lokálně:

    swift download Tomcat petclinic.sql.gz
    gunzip < petclinic.sql.gz | mysql -u <cloudDatabaseUsername> -p -h <cloudDatabaseHostname>
    
  5. Chcete-li zastavit Tomcat a stáhnout a extrahovat soubory aplikace, použijte následující příkazy:

    sudo /sbin/service tomcat stop
    swift download Tomcat tomcat.tar.gz
    tar -zxvf tomcat.tar.gz
    
  6. Zkopírujte extrahovaný obsah webové aplikace do místníchwebapps Tomcat adresář a upravte vlastnosti aplikace (včetně jdbc.url , uživatelské jméno databáze, heslo databáze a další vlastnosti).

  7. V ukázce Spring Framework Petclinic zakomentujte následující soubory:

     petclinic/WEB-INF/classes/db/mysql/initDB.sql
     petclinic/WEB-INF/classes/db/mysql/populateDB.sql
    
  8. Pomocí následujícího příkazu restartujte Tomcat:

    sudo /sbin/service tomcat start
    

Otestujte svou aplikaci

Otevřete webovou aplikaci ve svém prohlížeči na adresehttps://<cloudServerIPAddress>:8080/petclinic .

Další krok

Aspekty po migraci při migraci z Amazon WebServices

Další scénáře migrace naleznete v následujících článcích:

  • Migrujte aplikaci .NET z Amazon WebServices
  • Migrujte aplikaci založenou na Backbone.js, Node.js a MongoDB z Amazon WebServices

Linux
  1. Kroky na vysoké úrovni pro migraci z webových služeb Amazon

  2. Mapování zdrojů Amazon Web Services na zdroje Rackspace

  3. Určení, zda je dočasné úložiště připojeno k instanci v konzole Amazon Web Services?

  1. Jak migrovat z CentOS 8 na Rocky Linux 8

  2. Sestavte svou aplikaci na cloudu Rackspace

  3. Migrace z analýzy do Rackspace

  1. Migrujte do cloudu Rackspace z webových služeb Amazon

  2. Pitchfork – webová aplikace Rackspace Cloud API

  3. Aspekty po migraci při migraci z webových služeb Amazon