Tutorial: Instalar manualmente o Oracle WebLogic Server nas Máquinas Virtuais do Azure

Este tutorial mostra as etapas para instalar o Oracle WebLogic Server (WLS) e configurar um cluster WebLogic em Máquinas Virtuais (VMs) do Azure, no Windows ou GNU/Linux.

Neste tutorial, você aprenderá a:

  • Crie uma rede virtual personalizada e crie as VMs dentro da rede.
  • Provisione VMs com JDK e WLS desejados instalados.
  • Configure um domínio WLS e um cluster WLS usando o Assistente de Configuração Oracle.
  • Implemente e execute um aplicativo Java EE no cluster.
  • Exponha o aplicativo à Internet pública por meio do Gateway de Aplicativo do Azure.
  • Valide a configuração bem-sucedida.

Se você preferir uma solução totalmente automatizada que faça todas essas etapas em seu nome em VMs GNU/Linux, diretamente do portal do Azure, consulte Guia de início rápido: implantar o WebLogic Server na máquina virtual do Azure usando o portal do Azure. Você pode encontrar essas ofertas no Azure Marketplace com uma consulta por "imagem base do WebLogic".

Pré-requisitos

Preparar o ambiente

Nesta seção, você configura a infraestrutura na qual instala o JDK e o WLS.

Suposições

Neste tutorial, você configura um cluster WLS com um servidor de administração e dois servidores gerenciados em um total de três VMs. Para configurar o cluster, você precisa criar as três VMs do Azure a seguir no mesmo conjunto de disponibilidade:

  • A VM de administração (nome adminVMda VM) tem o servidor de administração em execução.
  • As VMs gerenciadas (nomes mspVM1 de VM e mspVM2) têm dois servidores gerenciados em execução.

Entrar no Azure

Se você ainda não tiver feito isso, entre em sua assinatura do Azure usando o comando az login e siga as instruções na tela.

az login

Observação

Se vários locatários do Azure estiverem associados às suas credenciais do Azure, você deverá especificar em qual locatário deseja entrar. Você pode fazer isso usando a opção --tenant. Por exemplo: az login --tenant contoso.onmicrosoft.com.

Criar um grupo de recursos

Crie um grupo de recursos com az group create. Os nomes de grupo de recursos devem ser exclusivos globalmente em uma assinatura. Por esse motivo, considere colocar pendente algum identificador exclusivo para qualquer nome criado que deva ser exclusivo. Uma técnica útil é usar suas iniciais seguidas da data de hoje no formato mmdd. Este exemplo cria um grupo de recursos nomeado abc1110rg no eastus local:

export RESOURCE_GROUP_NAME=abc1110rg

az group create \
    --name ${RESOURCE_GROUP_NAME} \
    --location eastus

Criar uma rede virtual

Os recursos que compõem o cluster do WebLogic Server devem se comunicar entre si e com a Internet pública, usando uma rede virtual. Para obter um guia completo para planejar sua rede virtual, consulte o guia Cloud Adoption Framework for Azure Plan virtual networks. Para obter mais informações, consulte Perguntas frequentes sobre a Rede Virtual do Azure.

O exemplo nesta seção cria uma rede virtual com espaço 192.168.0.0/16 de endereço e cria uma sub-rede usada para VMs.

Primeiro, crie uma rede virtual usando az network vnet create. O exemplo a seguir cria uma rede chamada myVNet:

az network vnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myVNet \
    --address-prefixes 192.168.0.0/24

Crie uma sub-rede para o cluster WLS usando az network vnet subnet create. O seguinte exemplo cria uma sub-rede chamada mySubnet:

az network vnet subnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mySubnet \
    --vnet-name myVNet \
    --address-prefixes 192.168.0.0/25

Crie uma sub-rede para o Gateway de Aplicativo usando az network vnet subnet create. O seguinte exemplo cria uma sub-rede chamada wlsVMGateway:

az network vnet subnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name wlsVMGateway \
    --vnet-name myVNet \
    --address-prefixes 192.168.0.128/25

Criar um conjunto de disponibilidade

Crie um conjunto de disponibilidade usando az vm availability-set create, conforme mostrado no exemplo a seguir. A criação de um conjunto de disponibilidade é opcional, mas é recomendável. Para obter mais informações, consulte Exemplo de passo a passo de infraestrutura do Azure para VMs do Windows.

az vm availability-set create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAvailabilitySet \
    --platform-fault-domain-count 2 \
    --platform-update-domain-count 2

As seções a seguir descrevem as etapas para instalar o WLS no GNU/Linux ou Windows Server. Você pode escolher o sistema operacional, a versão do JDK e a versão do WLS de acordo com seus requisitos, mas deve verificar se eles estão disponíveis nas Configurações do sistema suportadas pelo Oracle Fusion Middleware. Além disso, considere cuidadosamente os requisitos específicos do sistema e da plataforma antes de prosseguir. Para obter mais informações, consulte Requisitos e especificações do sistema. Selecione a guia do sistema operacional escolhido.

Este artigo usará uma imagem de VM do Azure mantida pela Oracle e pela Microsoft que contém a versão mais recente com suporte do software. Para obter a lista completa de imagens base do WLS mantidas pela Oracle e pela Microsoft, consulte Azure Marketplace. Se você quiser usar o sistema operacional Windows, as instruções começarão com uma VM base do Windows e o guiarão pelas etapas de instalação de todas as dependências necessárias.

A imagem do Marketplace que você usa para criar as VMs neste artigo é Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest.

Observação

Você pode consultar todas as imagens disponíveis do Oracle WebLogic fornecidas pela Oracle com az vm image listaz vm image list --publisher oracle --output table --all | grep "weblogic". Para obter mais informações, consulte Imagens de VM Oracle e sua implantação no Microsoft Azure.

Criar uma máquina Oracle Linux para servidor de administração

Nesta seção, você cria máquinas Oracle Linux com JDK 11 e WebLogic 14.1.1.0 instalados, para o servidor de administração e servidores gerenciados.

Crie uma VM usando az vm create. Execute o servidor de administração nesta VM.

O exemplo a seguir cria VMs Oracle Linux usando o par de nome de usuário e senha para a autenticação. Se desejar, você pode usar a autenticação SSL/TLS.

export VM_URN=Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest

az vm create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name adminVM \
    --availability-set myAvailabilitySet \
    --image ${VM_URN} \
    --size Standard_DS1_v2  \
    --admin-username azureuser \
    --admin-password Secret123456 \
    --public-ip-address "" \
    --nsg ""

Criar uma VM do Windows e configurar o X-server

Este tutorial usa a interface gráfica do WebLogic Server para concluir a instalação e configuração. Use uma VM do Windows como uma "caixa de salto" e execute um servidor X Windows System para exibir os instaladores gráficos nas três VMs do cluster WLS.

Siga estas etapas para provisionar um computador Windows 10 e instalar um servidor X. Se você já tiver uma máquina Windows na mesma rede que a máquina Oracle Linux, não será necessário provisionar uma nova do Azure. Você pode ir para a seção que instala o X-server.

  1. Use as seguintes etapas para criar uma VM do Windows 10 a partir do portal do Azure:

    1. Abra o grupo abc1110rg de recursos no portal do Azure.
    2. Escolha Criar para criar o recurso.
    3. Selecione Computação, procure o Windows 10 e, em seguida, selecione Microsoft Windows 10.
    4. Selecione o plano desejado e selecione Criar.
    5. Use os seguintes valores para configurar a VM:
      • Nome da máquina virtual: myWindowsVM
      • Imagem: Windows 10 Pro
      • Nome de usuário: azureuser
      • Senha: Secret123456
    6. Marque a caixa de seleção em Licenciamento.
    7. Selecione Examinar + Criar e, em seguida, selecione Criar.

    A criação da VM e dos recursos de suporte demora alguns minutos.

    Após a conclusão da implantação, instale o servidor X e use-o para configurar o WebLogic Server nas máquinas Oracle Linux usando uma interface gráfica.

  2. Use as seguintes etapas para instalar e iniciar o servidor X:

    1. Use a Área de Trabalho Remota para se conectar ao myWindowsVM. Para obter um guia detalhado, consulte Como se conectar usando a Área de Trabalho Remota e fazer logon em uma máquina virtual do Azure executando o Windows. Você deve executar as etapas restantes nesta seção em myWindowsVM.
    2. Baixe e instale o VcXsrv Windows X Server.
    3. Desabilite o firewall. Para permitir a comunicação das VMs Linux, use as seguintes etapas para desativar o Firewall do Windows Defender:
      1. Procure e abra o Firewall do Windows Defender.
      2. Localize Ativar ou desativar o Firewall do Windows Defender e selecione Desativar em Configurações de rede privada. Você pode deixar as configurações de rede pública sozinhas.
      3. Selecione OK.
      4. Feche o painel de configurações do Firewall do Windows Defender.
    4. Selecione X-launch na área de trabalho.
    5. Para configurações de exibição, defina o número de exibição como -1 para usar várias janelas e selecione Avançar.
    6. Em Selecionar como iniciar clientes, selecione Iniciar nenhum cliente e, em seguida, selecione Avançar.
    7. Para configurações extras, selecione Área de Transferência e Seleção Primária, Opengl nativo e Desativar controle de acesso.
    8. Selecione Avançar para concluir.

    Uma caixa de diálogo Alerta de Segurança do Windows pode aparecer com esta mensagem: "Permitir que o VcXsrv windows X-server se comunique nessas redes". Selecione Permitir acesso.

Criar máquinas Oracle Linux para servidores gerenciados

Crie duas VMs usando az vm create. Executar os servidores gerenciados nesta VM.

O exemplo a seguir cria VMs Oracle Linux usando o par de nome de usuário e senha para a autenticação. Se desejar, você pode usar a autenticação SSL/TLS.

export VM_URN=Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest

az vm create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM1 \
    --availability-set myAvailabilitySet \
    --image ${VM_URN} \
    --size Standard_DS1_v2  \
    --admin-username azureuser \
    --admin-password Secret123456 \
    --public-ip-address "" \
    --nsg ""

az vm create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM2 \
    --availability-set myAvailabilitySet \
    --image ${VM_URN} \
    --size Standard_DS1_v2  \
    --admin-username azureuser \
    --admin-password Secret123456 \
    --public-ip-address "" \
    --nsg ""

Use os seguintes comandos para obter e mostrar os endereços IP privados, que você usa em seções posteriores:

export ADMINVM_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name adminVM \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export ADMINVM_IP=$(az network nic show \
    --ids ${ADMINVM_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
export MSPVM1_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM1 \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export MSPVM1_IP=$(az network nic show \
    --ids ${MSPVM1_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
export MSPVM2_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM2 \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export MSPVM2_IP=$(az network nic show \
    --ids ${MSPVM2_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
echo "Private IP of adminVM: ${ADMINVM_IP}"
echo "Private IP of mspVM1: ${MSPVM1_IP}"
echo "Private IP of mspVM2: ${MSPVM2_IP}"

Agora, você está pronto para se conectar à máquina Oracle Linux para configurar um cluster WebLogic com interface gráfica.

Configurar o domínio e o cluster do WebLogic Server

Um domínio do WebLogic Server é um grupo logicamente relacionado de instâncias do WebLogic Server e os recursos em execução e conectados a elas, que podem ser gerenciados como uma única unidade administrativa. Para obter mais informações, consulte Domínios do WebLogic Server.

A base da alta disponibilidade no WebLogic Server é o cluster. Um cluster do WebLogic Server é um grupo de instâncias do WebLogic Server em execução simultânea e trabalhando juntas para fornecer maior escalabilidade e confiabilidade. Para obter mais informações, consulte Oracle WebLogic Cluster.

Há dois tipos de cluster, conforme descrito na lista a seguir. Para obter mais informações, consulte Sobre clusters dinâmicos.

  • Cluster dinâmico: um cluster que contém uma ou mais instâncias de servidor (dinâmicas) geradas com base em um único modelo de servidor compartilhado. Quando você cria um cluster dinâmico, os servidores dinâmicos são pré-configurados e gerados automaticamente para você, permitindo que você escale facilmente o número de instâncias de servidor em seu cluster dinâmico quando precisar de outra capacidade de servidor. Você pode iniciar os servidores dinâmicos sem precisar primeiro configurá-los manualmente e adicioná-los ao cluster.
  • Cluster configurado: um cluster no qual você configura e adiciona manualmente cada instância do servidor. Você precisa configurar e adicionar uma nova instância de servidor para aumentar a capacidade do servidor.

Para mostrar como formar um cluster WebLogic, este tutorial orienta você pelo processo de criação de um cluster configurado.

Criar o domínio usando o assistente de configuração

Você continua usando o X-server e o Assistente de Configuração Oracle para criar o domínio WLS.

A seção a seguir mostra como criar um novo domínio WLS no adminVM. Verifique se você ainda está em sua máquina Windows, se não, conecte-se remotamente ao myWindowsVM.

  1. Conecte-se a adminVM partir de um prompt de comando.

    Execute os seguintes comandos em sua máquina myWindowsVMWindows:

    set ADMINVM_IP="192.168.0.4"
    ssh azureuser@%ADMINVM_IP%
    
  2. Use os seguintes comandos para inicializar a pasta para configuração de domínio:

    sudo su
    
    export DOMAIN_PATH="/u01/domains"
    mkdir -p ${DOMAIN_PATH}
    chown oracle:oracle -R ${DOMAIN_PATH}
    
  3. Use os seguintes comandos para instalar a dependência para X-server:

    # install dependencies for X-server
    sudo yum install -y libXtst libSM libXrender
    # install dependencies to run a Java GUI client
    sudo yum install -y fontconfig urw-base35-fonts
    
  4. Use os seguintes comandos para se tornar o oracle usuário e definir a DISPLAY variável:

    sudo su - oracle
    
    export DISPLAY=<my-windows-vm-private-ip>:0.0
    #export DISPLAY=192.168.0.5:0.0
    
  5. Execute o seguinte comando para iniciar o Assistente de Configuração do Oracle:

    bash /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin/config.sh
    

O Assistente de Configuração do Oracle é iniciado e direciona você para configurar o domínio. A página a seguir solicita o tipo de domínio e o local. Selecione Criar um novo domínio e defina o local do domínio como /u01/domains/wlsd. A configuração do domínio é salva nesta pasta.

Screenshot of Oracle Configuration Wizard - Create Domain.

Selecione Avançar e, em seguida, selecione Criar domínio usando modelos de produto. Mantenha o modelo selecionado padrão, conforme mostrado na captura de tela a seguir:

Screenshot of Oracle Configuration Wizard - Templates.

Selecione Avançar e insira Conta de Administração. Defina o Nome como weblogic e Senha como Secret123456.

Screenshot of Oracle Configuration Wizard - Administration Account.

Selecione Avançar. Para o modo de domínio, selecione Produção. Para JDK, mantenha a opção padrão.

Screenshot of Oracle Configuration Wizard - Domain Mode and JDK.

Selecione Avançar. Para configurações avançadas, selecione Servidor de Administração, Gerenciador de Nó e Topologia.

Screenshot of Oracle Configuration Wizard - Advanced Configurations.

Selecione Avançar e preencha o nome do Servidor de Administração com admin. Preencha o endereço IP de escuta com o IP privado de adminVM. O valor é 192.168.0.4 neste exemplo.

Screenshot of Oracle Configuration Wizard - Administration Server.

Selecione Avançar. Em Tipo de Gerenciador de Nós, selecione Local Personalizado Por Domínio e preencha o local com /u01/domains/wlsd/nodemanager. Para Credenciais do Gerenciador de Nós, o nome de usuário é weblogic e a senha é Secret123456.

Screenshot of Oracle Configuration Wizard - Node Manager.

Selecione Avançar. Para servidores gerenciados, adicione os seguintes itens. Use os endereços IP descobertos anteriormente:

Nome do servidor Ouvir endereço Porta de escuta
msp1 O endereço IP privado do mspVM1. 8001
msp2 O endereço IP privado do mspVM2. 8001

Screenshot of Oracle Configuration Wizard - Managed Servers.

Selecione Avançar e crie um cluster com o nome cluster1.

Screenshot of Oracle Configuration Wizard - Cluster.

Selecione Avançar. Não altere os valores de Modelos de Servidor e Servidores Dinâmicos. Os padrões são aceitáveis para um cluster dinâmico.

Para Atribuir servidores a clusters, atribua ambos msp1 e msp2 a cluster1.

Screenshot of Oracle Configuration Wizard - Assign Servers to Clusters.

Selecione Avançar. Adicione as máquinas adminVM, mspVM1e mspVM2. Use os endereços IP descobertos anteriormente.

Nome Endereço de escuta do gerenciador de nós Porta de escuta do gerenciador de nós
mspVM1 O endereço IP privado do mspVM1. 5556
mspVM2 O endereço IP privado do mspVM2. 5556
adminVM O endereço IP privado do adminVM. 5556

Screenshot of Oracle Configuration Wizard - Machines.

Selecione Avançar. Para Atribuir Servidores a Máquinas, atribua o servidor admin a , msp1 a e msp2 a mspVM1adminVMmspVM2.

Screenshot of Oracle Configuration Wizard - Assign Servers to Machines.

Selecione Avançar. É mostrado o Resumo da Configuração, que deve se parecer com a seguinte captura de tela:

Screenshot of Oracle Configuration Wizard - Configuration Summary.

Selecione Criar. A página Progresso da Configuração mostra o progresso. Todos os itens listados devem ser configurados com êxito.

Screenshot of Oracle Configuration Wizard - Configuration Progress.

Finalmente, há uma página Fim da Configuração para mostrar a URL do Servidor de Administração.

Screenshot of Oracle Configuration Wizard - End.

O Servidor de Administração não está em execução, portanto, a URL não resolve. Selecione Avançar e Concluir. Agora você terminou de configurar o wlsd domínio com um cluster cluster1 que inclui dois servidores gerenciados.

Em seguida, aplique a configuração de domínio a mspVM1 e mspVM2.

Use o comando pack and unpack para estender o domínio.

Criar réplicas usando o comando pack and unpack

Este tutorial usa o comando pack and unpack do WLS para estender o domínio. Para obter mais informações, consulte Visão geral dos comandos Empacotar e Descompactar.

  1. Ative a configuração adminVM do domínio com as seguintes etapas, supondo que você ainda esteja conectado e conectado adminVM com o oracle usuário:

    cd /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin
    bash pack.sh -domain=/u01/domains/wlsd -managed=true -template=/tmp/cluster.jar -template_name="wlsd"
    

    Se o comando for concluído com êxito, você verá uma saída semelhante ao exemplo a seguir:

    [oracle@adminVM bin]$ bash pack.sh -domain=/u01/domains/wlsd -managed=true -template=/tmp/cluster.jar -template_name="wlsd"
    << read domain from "/u01/domains/wlsd"
    >>  succeed: read domain from "/u01/domains/wlsd"
    << set config option Managed to "true"
    >>  succeed: set config option Managed to "true"
    << write template to "/tmp/cluster.jar"
    ..............................
    >>  succeed: write template to "/tmp/cluster.jar"
    << close template
    >>  succeed: close template
    

    Use os seguintes comandos para copiar /tmp/cluster.jar para mspVM1 e mspVM2 usando scpo . Se for solicitada a impressão digital da chave, digite yes. Digite a senha Secret123456 quando solicitado.

    scp /tmp/cluster.jar azureuser@<mspvm1-private-ip>:/tmp/cluster.jar
    scp /tmp/cluster.jar azureuser@<mspvm2-private-ip>:/tmp/cluster.jar
    #scp /tmp/cluster.jar azureuser@192.168.0.6:/tmp/cluster.jar
    #scp /tmp/cluster.jar azureuser@192.168.0.7:/tmp/cluster.jar
    
  2. Use as instruções a seguir para aplicar a configuração de domínio a:mspVM1

    Abra um novo prompt de comando e use os seguintes comandos para se conectar ao mspVM1. Substitua 192.168.0.6 pelo seu mspVM1 endereço IP privado:

    set MSPVM1_IP="192.168.0.6"
    ssh azureuser@%MSPVM1_IP%
    

    Será solicitada a senha da conexão. Para este exemplo, a senha é Secret123456.

    Agora você está conectado com o mspVM1 usuário azureuser. Em seguida, use os seguintes comandos para se tornar o usuário raiz e atualizar a propriedade do arquivo /tmp/cluster.jar a ser de propriedade de:oracle

    sudo su
    
    chown oracle:oracle /tmp/cluster.jar
    
    export DOMAIN_PATH="/u01/domains"
    mkdir -p ${DOMAIN_PATH}
    chown oracle:oracle -R ${DOMAIN_PATH}
    

    oracle Como usuário, use os seguintes comandos para aplicar a configuração de domínio:

    sudo su - oracle
    
    cd /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin
    bash unpack.sh -domain=/u01/domains/wlsd -template=/tmp/cluster.jar
    

    Se o comando for concluído com êxito, você verá uma saída semelhante ao exemplo a seguir:

    [oracle@mspVM1 bin]$ bash unpack.sh -domain=/u01/domains/wlsd -template=/tmp/cluster.jar
    << read template from "/tmp/cluster.jar"
    >>  succeed: read template from "/tmp/cluster.jar"
    << set config option DomainName to "wlsd"
    >>  succeed: set config option DomainName to "wlsd"
    >>  validateConfig "KeyStorePasswords"
    >>  succeed: validateConfig "KeyStorePasswords"
    << write Domain to "/u01/domains/wlsd"
    ..................................................
    >>  succeed: write Domain to "/u01/domains/wlsd"
    << close template
    >>  succeed: close template
    
  3. Use as instruções a seguir para aplicar a configuração de domínio a:mspVM2

    Conecte-se mspVM2 em um novo prompt de comando. Substitua 192.168.0.7 pelo seu mspVM2 endereço IP privado:

    set MSPVM2_IP="192.168.0.7"
    ssh azureuser@%MSPVM2_IP%
    

    Será solicitada uma senha para a conexão. Para este exemplo, a senha é Secret123456.

    Agora você está conectado com o mspVM2 usuário azureuser. Use os seguintes comandos para alterar para o usuário raiz e atualizar a propriedade do arquivo /tmp/cluster.jar e inicializar a pasta para configuração de domínio:

    sudo su
    
    chown oracle:oracle /tmp/cluster.jar
    
    export DOMAIN_PATH="/u01/domains"
    mkdir -p ${DOMAIN_PATH}
    chown oracle:oracle -R ${DOMAIN_PATH}
    
    sudo su - oracle
    
    cd /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin
    bash unpack.sh -domain=/u01/domains/wlsd -template=/tmp/cluster.jar
    

Agora você replicou a configuração do domínio em mspVM1 e , e mspVM2está pronto para iniciar os servidores.

Iniciar servidores

As etapas nesta seção direcionam você a executar as duas tarefas a seguir:

  1. Faça com que o administrador e os servidores gerenciados sejam iniciados automaticamente após a reinicialização do servidor.
  2. Inicie os servidores para uso imediato.

Essas duas tarefas não são facilmente separadas, portanto, as etapas para as duas tarefas são misturadas.

Iniciar administrador

Volte para o prompt de comando que se conecta ao adminVM. Se você o perdeu, execute o seguinte comando para se conectar a ele:

set ADMINVM_IP="192.168.0.4"
ssh azureuser@%ADMINVM_IP%

Se você não estiver trabalhando com o oracle usuário, faça login com oracle:

sudo su - oracle

O comando a seguir mantém a conta em /u01/domains/wlsd/servers/admin/security/boot.properties para habilitar a admin inicialização automática do admin servidor sem solicitar credenciais:

Substitua o nome de usuário e a senha pelo seu.

mkdir -p /u01/domains/wlsd/servers/admin/security

cat <<EOF >/u01/domains/wlsd/servers/admin/security/boot.properties
username=weblogic
password=Secret123456
EOF

Use os comandos a seguir para inspecionar o arquivo. Certifique-se de que ele tenha a propriedade, permissões e conteúdo corretos.

ls -la /u01/domains/wlsd/servers/admin/security/boot.properties
cat /u01/domains/wlsd/servers/admin/security/boot.properties

A saída deve parecer quase idêntica ao exemplo a seguir:

[oracle@adminVM bin]$ ls -la /u01/domains/wlsd/servers/admin/security/boot.properties
-rw-rw-r--. 1 oracle oracle 40 Nov 28 17:00 /u01/domains/wlsd/servers/admin/security/boot.properties
[oracle@adminVM bin]$ cat /u01/domains/wlsd/servers/admin/security/boot.properties
username=weblogic
password=Secret123456

Habilitar o servidor de administração e o gerenciador de nós para iniciar automaticamente após a reinicialização da VM

Crie um serviço Linux para o servidor de administração do WLS e o gerenciador de nós, para iniciar o processo automaticamente após a reinicialização. Para obter mais informações, consulte Usar systemd no Oracle Linux.

Saia do oracle usuário e entre com o root usuário.

exit

sudo su

Crie o serviço Linux para o gerenciador de nós:

cat <<EOF >/etc/systemd/system/wls_nodemanager.service
[Unit]
Description=WebLogic nodemanager service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Note that the following three parameters should be changed to the correct paths
# on your own system
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/bin/startNodeManager.sh"
ExecStop="/u01/domains/wlsd/bin/stopNodeManager.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF

Crie o serviço Linux para o servidor de administração:

cat <<EOF >/etc/systemd/system/wls_admin.service
[Unit]
Description=WebLogic Adminserver service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/startWebLogic.sh"
ExecStop="/u01/domains/wlsd/bin/stopWebLogic.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
EOF

Agora você está pronto para iniciar o gerenciador de nós e o servidor adminVM de administração usando os seguintes comandos:

sudo systemctl enable wls_nodemanager
sudo systemctl enable wls_admin
sudo systemctl daemon-reload
sudo systemctl start wls_nodemanager
sudo systemctl start wls_admin

Verifique o estado do servidor de administração com sudo systemctl status wls_admin -lo . O Servidor de Administração deve estar pronto quando você encontrar logs semelhantes:

[root@adminVM wlsd]# sudo systemctl status wls_admin -l
● wls_admin.service - WebLogic Adminserver service
Loaded: loaded (/etc/systemd/system/wls_admin.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2022-09-26 07:47:34 UTC; 54s ago
Main PID: 26738 (startWebLogic.s)
    Tasks: 61 (limit: 20654)
Memory: 649.2M

... ...

Sep 26 07:48:15 adminVM startWebLogic.sh[26802]: <Sep 26, 2022, 7:48:15,411 AM Coordinated Universal Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>

Pressione Q para sair do modo de monitoramento de log.

Não é possível acessar o servidor de administração antes de abrir portas 7001 e 5556. Execute o seguinte comando para abrir portas:

sudo firewall-cmd --zone=public --add-port=7001/tcp
sudo firewall-cmd --zone=public --add-port=5556/tcp
sudo firewall-cmd --runtime-to-permanent
sudo systemctl restart firewalld

Neste ponto, você pode acessar o servidor de administração no navegador de myWindowsVM com a URL http://<adminvm-private-ip>:7001/console. Verifique se você pode exibir o servidor de administração, mas ainda não faça login. Se o servidor de administração não estiver em execução, solucione e resolva o problema antes de continuar. O servidor de administração não está acessível fora do Azure.

Iniciar msp1

Volte para o prompt de comando que se conecta ao mspVM1. Se você o perdeu, execute o seguinte comando para se conectar a ele:

set MSPVM1_IP="192.168.0.6"
ssh azureuser@%MSPVM1_IP%

Se você não estiver trabalhando com usuário, faça login com oracleoracle:

sudo su - oracle

Mantenha a conta em /u01/domains/wlsd/servers/msp1/security/boot.properties para ativar a admin inicialização msp1 automática sem solicitar credenciais. Substitua o nome de usuário e a senha pelo seu.

mkdir -p /u01/domains/wlsd/servers/msp1/security

cat <<EOF >/u01/domains/wlsd/servers/msp1/security/boot.properties
username=weblogic
password=Secret123456
EOF

Agora, você cria um serviço Linux para o gerenciador de nós, para iniciar o processo automaticamente na reinicialização da máquina. Para obter mais informações, consulte Usar systemd no Oracle Linux.

Saia do oracle usuário e entre com o root usuário.

exit

#Skip this command if you are root
sudo su

Crie o serviço Linux para o gerenciador de nós:

cat <<EOF >/etc/systemd/system/wls_nodemanager.service
[Unit]
Description=WebLogic nodemanager service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Note that the following three parameters should be changed to the correct paths
# on your own system
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/bin/startNodeManager.sh"
ExecStop="/u01/domains/wlsd/bin/stopNodeManager.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF

Em seguida, inicie o gerenciador de nós.

sudo systemctl enable wls_nodemanager
sudo systemctl daemon-reload
sudo systemctl start wls_nodemanager

Se o gerenciador de nós estiver sendo executado com êxito, você verá logs semelhantes ao exemplo a seguir:

[root@mspVM1 azureuser]# systemctl status wls_nodemanager -l
● wls_nodemanager.service - WebLogic nodemanager service
Loaded: loaded (/etc/systemd/system/wls_nodemanager.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-09-27 01:23:42 UTC; 19s ago
Main PID: 107544 (startNodeManage)
    Tasks: 15 (limit: 20654)
Memory: 146.7M

... ...

Sep 27 01:23:45 mspVM1 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:45 AM Coordinated Universal Time> <INFO> <Server Implementation Class: weblogic.nodemanager.server.NMServer$ClassicServer.>
Sep 27 01:23:46 mspVM1 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:46 AM Coordinated Universal Time> <INFO> <Secure socket listener started on port 5556, host /192.168.0.6>

Pressione Q para sair do modo de monitoramento de log.

Você deve abrir a porta 8001 para acessar o aplicativo implantado no cluster e 5556 para comunicação dentro do domínio. Execute o seguinte comando para abrir portas:

sudo firewall-cmd --zone=public --add-port=8001/tcp
sudo firewall-cmd --zone=public --add-port=5556/tcp
sudo firewall-cmd --runtime-to-permanent
sudo systemctl restart firewalld

Iniciar msp2

Volte para o prompt de comando que se conecta ao mspVM2. Se você o perdeu, execute o seguinte comando para se conectar a ele:

set MSPVM2_IP="192.168.0.7"
ssh azureuser@%MSPVM2_IP%

Se não estiver a trabalhar com o oracle utilizador, inicie sessão com oracle:

sudo su - oracle

Mantenha a admin conta em /u01/domains/wlsd/servers/msp2/security/boot.properties para ativar a inicialização msp2 automática sem solicitar credenciais. Substitua o nome de usuário e a senha pelo seu.


mkdir -p /u01/domains/wlsd/servers/msp2/security

cat <<EOF >/u01/domains/wlsd/servers/msp2/security/boot.properties
username=weblogic
password=Secret123456
EOF

Em seguida, crie um serviço Linux para o gerenciador de nós.

Saia do oracle usuário e entre com o root usuário.

exit

#SKip this command if you are in root
sudo su

Crie o serviço Linux para o gerenciador de nós:

cat <<EOF >/etc/systemd/system/wls_nodemanager.service
[Unit]
Description=WebLogic nodemanager service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Note that the following three parameters should be changed to the correct paths
# on your own system
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/bin/startNodeManager.sh"
ExecStop="/u01/domains/wlsd/bin/stopNodeManager.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF

Inicie o gerenciador de nós.

sudo systemctl enable wls_nodemanager
sudo systemctl daemon-reload
sudo systemctl start wls_nodemanager

Se o gerenciador de nós estiver sendo executado com êxito, você verá logs semelhantes ao exemplo a seguir:

[root@mspVM2 azureuser]# systemctl status wls_nodemanager -l
● wls_nodemanager.service - WebLogic nodemanager service
Loaded: loaded (/etc/systemd/system/wls_nodemanager.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-09-27 01:23:42 UTC; 19s ago
Main PID: 107544 (startNodeManage)
    Tasks: 15 (limit: 20654)
Memory: 146.7M

... ...

Sep 27 01:23:45 mspVM2 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:45 AM Coordinated Universal Time> <INFO> <Server Implementation Class: weblogic.nodemanager.server.NMServer$ClassicServer.>
Sep 27 01:23:46 mspVM2 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:46 AM Coordinated Universal Time> <INFO> <Secure socket listener started on port 5556, host /192.168.0.6>

Pressione Q para sair do modo de monitoramento de log.

Abra a porta 8001 e 5556.

sudo firewall-cmd --zone=public --add-port=8001/tcp
sudo firewall-cmd --zone=public --add-port=5556/tcp
sudo firewall-cmd --runtime-to-permanent
sudo systemctl restart firewalld

Iniciar servidores gerenciados

Agora, abra o portal do Console de Administração de um navegador em sua máquina myWindowsVMWindows e use as seguintes etapas para iniciar os servidores gerenciados:

  1. Entre no portal do Console de Administração com sua conta de administrador e senha. A URL é http://<adminvm-private-ip>:7001/console/. Neste exemplo, a conta de administrador e a senha são weblogic/Secret123456. Você verá que o estado dos servidores gerenciados é Desligamento.
  2. Em Estrutura de Domínio, selecione Ambientes, Servidores e Controle, selecione e msp2selecione msp1Iniciar.
  3. Você pode ser solicitado a confirmar a inicialização dos servidores. Em caso afirmativo, selecione Sim. Você verá a mensagem "Uma solicitação foi enviada ao Gerenciador de Nó para iniciar os servidores selecionados".
  4. Você pode selecionar o ícone "atualizar" na parte superior da tabela para iniciar ou parar a atualização dinâmica dos dados nessa tabela. Esse ícone é mostrado na próxima captura de tela.
  5. Você descobrirá que os servidores estão prontos em breve.

Screenshot of Oracle Configuration Wizard - Start Servers.

Limpar a máquina Windows

Agora você concluiu a configuração do cluster WLS. Se desejar, remova a máquina Windows com os seguintes comandos. Como alternativa, você pode desligar a máquina myWindowsVM Windows e continuar a usá-la como uma caixa de salto para tarefas de manutenção de cluster em andamento.

export WINDOWSVM_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myWindowsVM \
    --query networkProfile.networkInterfaces[0].id \
    --output tsv)
export WINDOWSVM_NSG_ID=$(az network nic show \
    --ids ${WINDOWSVM_NIC_ID} \
    --query networkSecurityGroup.id \
    --output tsv)
export WINDOWSVM_DISK_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myWindowsVM \
    --query storageProfile.osDisk.managedDisk.id \
    --output tsv)
export WINDOWSVM_PUBLIC_IP=$(az network public-ip list \
    -g ${RESOURCE_GROUP_NAME} --query [0].id \
    --output tsv)

echo "deleting myWindowsVM"
az vm delete --resource-group ${RESOURCE_GROUP_NAME} --name myWindowsVM --yes
echo "deleting nic ${WINDOWSVM_NIC_ID}"
az network nic delete --ids ${WINDOWSVM_NIC_ID}
echo "deleting public-ip ${WINDOWSVM_PUBLIC_IP}"
az network public-ip delete --ids ${WINDOWSVM_PUBLIC_IP}
echo "deleting disk ${WINDOWSVM_DISK_ID}"
az disk delete --yes --ids ${WINDOWSVM_DISK_ID}
echo "deleting nsg ${WINDOWSVM_NSG_ID}"
az network nsg delete --ids ${WINDOWSVM_NSG_ID}

Expor o WLS com o Gateway de Aplicativo do Azure

Agora que você criou o cluster do WebLogic Server (WLS) em máquinas virtuais Windows ou GNU/Linux, esta seção orienta você pelo processo de exposição do WLS à Internet com o Gateway de Aplicativo do Azure.

Criar o Gateway de Aplicativo do Azure

Para expor o WLS à Internet, é necessário um endereço IP público. Crie o endereço IP público e associe um gateway de Aplicativo do Azure a ele. Use az network public-ip create para criá-lo, conforme mostrado no exemplo a seguir:

az network public-ip create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAGPublicIPAddress \
    --allocation-method Static \
    --sku Standard

Você adiciona os servidores back-end ao pool de back-end do Application Gateway. Consulte endereços IP de back-end usando os seguintes comandos:

export ADMINVM_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name adminVM \
    --query networkProfile.networkInterfaces[0].id \
    --output tsv)
export ADMINVM_IP=$(az network nic show \
    --ids ${ADMINVM_NIC_ID} \
    --query ipConfigurations[0].privateIPAddress \
    --output tsv)
export MSPVM1_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM1 \
    --query networkProfile.networkInterfaces[0].id \
    --output tsv)
export MSPVM1_IP=$(az network nic show \
    --ids ${MSPVM1_NIC_ID} \
    --query ipConfigurations[0].privateIPAddress \
    --output tsv)
export MSPVM2_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM2 \
    --query networkProfile.networkInterfaces[0].id \
    --output tsv)
export MSPVM2_IP=$(az network nic show \
    --ids ${MSPVM2_NIC_ID} \
    --query ipConfigurations[0].privateIPAddress \
    --output tsv)

Em seguida, crie um Gateway de Aplicativo do Azure. O exemplo a seguir cria um gateway de aplicativo com servidores gerenciados no pool de back-end padrão:

az network application-gateway create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAppGateway \
    --public-ip-address myAGPublicIPAddress \
    --location eastus \
    --capacity 2 \
    --http-settings-port 80 \
    --http-settings-protocol Http \
    --frontend-port 80 \
    --sku Standard_V2 \
    --subnet wlsVMGateway \
    --vnet-name myVNet \
    --priority 1001 \
    --servers ${MSPVM1_IP} ${MSPVM2_IP}

Os servidores gerenciados expõem suas cargas de trabalho com a porta 8001. Use os seguintes comandos para atualizar o especificando a appGatewayBackendHttpSettings porta 8001 de back-end e criando um teste para ela:

az network application-gateway probe create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name clusterProbe \
    --protocol http \
    --host 127.0.0.1 \
    --path /weblogic/ready

az network application-gateway http-settings update \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name appGatewayBackendHttpSettings \
    --port 8001 \
    --probe clusterProbe

Os próximos comandos provisionam uma regra rule1básica. Este exemplo adiciona um caminho ao Servidor de Administração. Primeiro, use os seguintes comandos para criar um mapa de caminho de URL:

az network application-gateway address-pool create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name adminServerAddressPool \
    --servers ${ADMINVM_IP}

az network application-gateway probe create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name adminProbe \
    --protocol http \
    --host 127.0.0.1 \
    --path /weblogic/ready

az network application-gateway http-settings create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name adminBackendSettings \
    --port 7001 \
    --protocol Http \
    --probe adminProbe

az network application-gateway url-path-map create \
    --gateway-name myAppGateway \
    --name urlpathmap \
    --paths /console/* \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --address-pool adminServerAddressPool \
    --default-address-pool appGatewayBackendPool \
    --default-http-settings appGatewayBackendHttpSettings \
    --http-settings adminBackendSettings \
    --rule-name consolePathRule

Em seguida, use az network application-gateway rule update para atualizar o tipo de regra para ser PathBasedRouting.

az network application-gateway rule update \
    --gateway-name myAppGateway \
    --name rule1 \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --http-listener appGatewayHttpListener \
    --rule-type PathBasedRouting \
    --url-path-map urlpathmap \
    --priority 1001 \
    --address-pool appGatewayBackendPool \
    --http-settings appGatewayBackendHttpSettings

Agora você pode acessar o Servidor de Administração com a URL http://<gateway-public-ip-address>/console/. Execute os seguintes comandos para obter a URL:

export APPGATEWAY_IP=$(az network public-ip show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAGPublicIPAddress \
    --query [ipAddress] \
    --output tsv)
echo "admin console URL is http://${APPGATEWAY_IP}/console/"

Verifique se você pode fazer logon no console do Servidor de Administração. Se não for possível, solucione e resolva o problema antes de continuar.

Observação

Este exemplo configura o acesso simples aos servidores WebLogic com HTTP. Se desejar acesso seguro, configure o encerramento SSL/TLS seguindo as instruções em TLS de ponta a ponta com o Application Gateway.

Este exemplo expõe o console do Servidor de Administração por meio do Gateway de Aplicativo. Não faça isso em um ambiente de produção.

Implantar um aplicativo de exemplo

Esta seção mostra como implantar um aplicativo simples no cluster WLS. Primeiro, baixe testwebapp.war do Oracle e salve o arquivo em seu sistema de arquivos local. Em seguida, use as seguintes etapas para implantar o aplicativo:

  1. Abra um navegador da Web.
  2. Navegue até o portal do Console de Administração com a URL http://<gateway-public-ip-address>/console/e entre com sua conta de administrador e senha. Neste exemplo, eles são weblogic/Secret123456.
  3. Na Central de Alterações, se esse botão existir, selecione Bloquear e Editar. Se esse botão não existir, verifique se algum texto como "Alterações futuras serão ativadas automaticamente à medida que você modificar, adicionar ou excluir itens neste domínio" existe na Central de Alterações.
  4. Em Estrutura de Domínio, selecione Implantações. Se você vir uma mensagem de erro semelhante ao Unexpected error encountered while obtaining monitoring information for applications., poderá ignorá-la com segurança. Selecione Configuração e, em seguida, Instalar. Aninhado dentro do texto é um hiperlink com o texto Carregar seus arquivos. Selecione-a. Selecione Escolher arquivo e, em seguida, selecione o testwebapp.war criado na etapa anterior. Selecione Avançar e Avançar.
  5. Verifique se a opção Instalar esta implantação como um aplicativo está selecionada. Selecione Avançar.
  6. Em Destinos disponíveis para o rastreador de carga, selecione Destino cluster1de implantação, selecione Avançar e selecione Concluir.
  7. Na Central de Alterações, se esse botão existir, selecione Ativar Alterações. Você deve concluir esta etapa. A falha ao concluir esta etapa faz com que as alterações feitas não entrem em vigor. Se esse botão não existir, verifique se algum texto, como Future changes will automatically be activated as you modify, add or delete items in this domain existe, na Central de Alterações.
  8. Em Estrutura de Domínio, selecione Implantações e Controle. Selecione cargo-tracker e, em seguida, selecione Iniciar, Atendendo a todas as solicitações.
  9. Selecione Sim.
  10. Você verá uma mensagem dizendo Start requests have been sent to the selected deployments. que o status do aplicativo deve ser Ativo.

Testar a configuração do cluster WLS

Agora você terminou de configurar o cluster WLS e implementar o aplicativo Java EE nele. Use as seguintes etapas para acessar o aplicativo para validar todas as configurações:

  1. Abra um navegador da Web.
  2. Navegue até o aplicativo com a URL http://<gateway-public-ip-address>/testwebapp/.

Limpar os recursos

Exclua abc1110rg com o seguinte comando:

az group delete --name ${RESOURCE_GROUP_NAME} --yes --no-wait

Próximas etapas

Continue a explorar as opções para executar o WLS no Azure.