Onde instalar o GlassFish no Linux?

ISENÇÃO DE RESPONSABILIDADE: Sou relativamente novo no Linux. Eu debati colocar isso em SuperUser ou ServerFault porque a resposta requer uma explicação do Linux como um sistema (e não um problema de programação específico), no entanto estou interessado nisso do ponto de vista de um desenvolvedor Java, e eu argumento que isso é um problema porque onde eu instalo o GlassFish impacta muito na minha configuração Java e, por fim, na configuração do aplicativo. Sem mencionar que postar essa pergunta nesses outros sites provavelmente não chamará atenção de um desenvolvedor Java, mais de administradores de sistema, que podem não saber o suficiente sobre Java para avaliar completamente essa decisão.

Estou tentando decidir onde instalar o GlassFish e me parece que tenho (realisticamente) 4 opções viáveis:

  • /opt/glassfish/
  • /usr/local/glassfish/
  • /home/myUsers/glassfish/ (que é o que todos os documentos da OGS mostram em seus exemplos)
  • /home/ogs/glassfish (como seu próprio usuário, semelhante ao modo como o servidor da web Apache às vezes é configurado)

Eu estou querendo saber o que os profissionais (levando em consideração a natureza de como o Linux trata esses diretórios de maneira diferente, o FHS, etc.) e os contras de cada abordagem são.

Eu li que há benefícios de assembly / paritioning para instalá-lo sob opt/ . No entanto, eu normalmente instalo software de terceiros para usr/local/ , então estou um pouco inseguro sobre isso como estratégia.

Todos os documentos do Oracle GlassFish Server (OGS) demonstram (mas nunca recomendam categoricamente) que o GlassFish seja instalado em seu diretório pessoal ( home/myUser/ ).

Então, novamente, eu li que é bastante comum instalar serviços do tipo daemon (que é o que eu imaginaria que eu estaria usando o GlassFish como – onde eu inicio uma vez e ele só serve para manutenção de rotina ou travamentos) como próprio usuário ( home/ogs/glassfish/ ).

Tenho certeza de que essa decisão também é afetada pela forma como vou usar o GlassFish, então deixe-me qualificar essa questão com algumas restrições:

  • Eu pretendo implantar 4 instâncias OGS em 4 VMs na mesma máquina física e agrupá-las no mesmo domínio (1 das 4 instâncias do servidor será o servidor administrativo do domínio)
  • Vários aplicativos serão implantados nesse cluster (todos os três nós não administrativos) ao mesmo tempo e devem estar em execução 24 horas por dia, 365 dias por semana, exceto quando eles falharem (esperamos que não com frequência!) Ou quando precisar fazer manutenção ou ajustá-los
  • Cada aplicativo será muito grande e eu gostaria de configurá-los com o administrador real , não “bare bones” de minimis, configurações padrão

Se estes não fornecerem informações específicas suficientes para ajudar a fazer essa escolha, por favor, pergunte e eu posso ser mais específico.

Eu acho que, quando a poeira cai no final do dia, eu estou procurando (mais ou menos) por uma matriz com cada uma das quatro opções de diretórios (mais quaisquer outras óbvias que eu tenha omitido) em comparação com seus respectivos prós e contras. contras

Há também a opção de usar o sistema de gerenciamento de pacotes da sua distribuição Linux para instalar o Glassfish. No Ubuntu, por exemplo, você pode instalá-lo usando

 sudo apt-get install glassfish-appserv 

e deixe-o instalado onde quer que o dono do pacote pensasse que deveria ser instalado.

Eu mesmo tento me afastar da opção acima, pois gosto de exercer meu próprio controle sobre qual versão exata do Glassfish (ou qualquer outro servidor / software Java) está instalado e onde, mas eu só queria lançar isso lá fora, como é uma das coisas que você poderia fazer.

Agora, para as opções individuais que você forneceu:

/ opt / glassfish / Esta é a opção preferida, tanto quanto eu estou preocupado. Ele mantém o software em um diretório separado, fora da instalação normal do Linux, e permite os benefícios de assembly e particionamento que você menciona.

/ usr / local / glassfish / Eu não gosto muito disso, porque / usr / local é geralmente usado por softwares de terceiros que são instalados usando o software de gerenciamento de pacotes da distro (apt / yum / etc), e na maioria das distros diretórios como bin, etc e lib sob ele. Colocar um diretório para glassfish sob ele, iria torná-lo fora do lugar.

Também prefiro manter os diretórios do sistema separados do software personalizado que não usa as ferramentas de gerenciamento de pacotes da distro.

/ home / myUsers / glassfish / , / home / ogs / glassfish

Estes 2, eu não recomendaria.

Eles são descritos apenas na maioria dos lugares, porque o autor não quer assumir que o usuário tenha access root nessas checkboxs, caso em que o diretório inicial seria o único que você teria a garantia de possuir. Se você possui o sistema e o está gerenciando, essas restrições não se aplicam.

Lembre-se, diretórios base são para usuários específicos. Eu sempre recomendo que o software de servidor seja gerenciado com contas de usuários individuais que tenham os privilégios necessários. Colocar o software no diretório pessoal de alguém significaria que você

  1. Dê a todos que precisam gerenciar Glassfish, a senha para essa conta de usuário
  2. Conceda a vários usuários access de leitura / gravação ao diretório inicial de um usuário específico.

De qualquer forma, essa não é uma boa política de administração do sistema.

Não há muita perspectiva de Java aqui, mas se você me perguntar, não precisa ser.

Em relação à recomendação prévia, algumas compensações permanecem:

  • Se colocado em / opt ou / usr / local, você terá que ter access de leitura / gravação a esses diretórios, o que significa que você terá que ter access root à checkbox. Em alguns ambientes (onde a TI controla a plataforma), a TI não permitirá que você tenha access root. Você teria que delegar à TI a responsabilidade de instalar, corrigir e atualizar os binários do GlassFish.
  • Se colocado em / opt ou / usr / local, você também terá que colocar os diretórios do domínio (–domaindir) em um local separado, a menos que você queira que eles sejam de propriedade root (improvável). Este foi o padrão nas instalações do GlassFish 2.x RPM no Linux. O GlassFish 3.x não tem instalações RPM (pelo menos do Oracle), mas você ainda pode dividir as duas. Esta não é uma troca ruim, mas algo que você deveria entender.
    • Se colocado em um “diretório inicial”, você terá direitos para atualizar os binários principais, instalar correções, etc., separados da TI. Há bom / mau / feio nesta abordagem, dependendo das responsabilidades organizacionais.

Espero que isto ajude.

    Intereting Posts