Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Instale o MongoDB Enterprise no Red Hat ou CentOS usando .tgz Tarball

Nesta página

  • Visão geral
  • Considerações
  • Instale o MongoDB Enterprise Edition
  • Executar o MongoDB Enterprise Edition
  • Informações adicionais

Observação

MongoDB Atlas

O MongoDB Atlas é uma opção de serviço MongoDB hospedado em nuvem que não requer sobrecarga de instalação e oferece camada grátis para começar.

Use este tutorial para instalar manualmente a edição MongoDB 7.0 Enterprise no Red Hat Enterprise Linux, CentOS Linux ou Oracle Linux [1] usando um tarball .tgz baixado.

O MongoDB Enterprise Edition está disponível em plataformas selecionadas e é compatível com vários recursos relacionados à segurança e monitoramento.

Este tutorial instala MongoDB 7.0 Enterprise Edition. Para instalar uma versão diferente do MongoDB Enterprise, use o menu suspenso de versão no canto superior esquerdo desta página para selecionar a documentação dessa versão.

Embora o MongoDB possa ser instalado manualmente através de um .tgz tarball baixado, conforme descrito neste documento, é recomendado utilizar o gerenciador de pacotes do yum em seu sistema para instalar o MongoDB, se possível. A utilização de um gerenciador de pacotes instala automaticamente todas as dependências necessárias, fornece um arquivo de exemplo mongod.conf para você começar e simplifica futuras tarefas de atualização e manutenção.

➤ Consulte Instalar o MongoDB usando o Gerenciador de pacotes yum para obter instruções.

Ao utilizar o pacote .tgz para instalar o servidor, você precisa seguir as instruções de instalação do mongosh para baixar e instalar o mongosh separadamente.

O MongoDB 7.0 Enterprise Edition suporta as seguintes versões de 1 bits do Red Hat Enterprise Linux (RHEL), CentOS Linux, Oracle Linux [2], Rocky Linux e AlmaLinux [86_64] na arquitetura x:

  • RHEL/CentOS Stream/Oracle/Rocky/AlmaLinux 9

  • RHEL/CentOS Stream/Oracle/Rocky/AlmaLinux 8

  • RHEL/CentOS/Oracle 7

O MongoDB é compatível somente com as versões de 64 bits dessas plataformas.

O MongoDB 7.0 Enterprise Edition no RHEL / CentOS / Oracle / Rocky / Alma Linux também suporta a arquitetura ARM64 em plataformas selecionadas.

Consulte Suporte da Plataforma para obter mais informações.

[1](1, 2) O MongoDB é compatível apenas com o Oracle Linux que executa o Red Hat Compatible Kernel (RHCK). O MongoDB não suporta o Unbreakable Enterprise Kernel (UEK).
[2] Os produtos locais do MongoDB lançados para RHEL versão 8.0+ são compatíveis e suportados no Rocky Linux versão 8.0+ e AlmaLinux versão 8.0+, dependendo dessas distribuições cumprirem sua obrigação de fornecer compatibilidade total com RHEL.

Antes de implantar o MongoDB em um ambiente de produção, considere o documento Notas de Produção que oferece considerações de desempenho e recomendações de configuração para produção de sistemas do MongoDB.

Use o comando a seguir para instalar as dependências necessárias para o tarball MongoDB Enterprise .tgz :

Siga estas etapas para instalar manualmente o MongoDB Enterprise Edition a partir do .tgz.

1

Após instalar os pacotes de pré-requisitos exigidos, baixe o MongoDB Enterprise tgz tarball a partir do seguinte link:

Centro de downloads do MongoDB

  1. Na menu suspenso Version, selecione a versão do MongoDB para baixar.

  2. No menu suspenso Platform, selecione a versão e arquitetura do sistema operacional.

  3. No menu suspenso Package, selecione tgz.

  4. Clique em Download.

2

Por exemplo, a partir de uma shell do sistema, você pode extrair utilizando o comando tar:

tar -zxvf mongodb-linux-*-7.0.7.tgz
3

Os binários do MongoDB estão no diretório bin/ do tarball. Você também pode:

  • Copiar os binários em um diretório listado em sua variável PATH, como /usr/local/bin (atualize /path/to/the/mongodb-directory/ com seu diretório de instalação conforme apropriado)

    sudo cp /path/to/the/mongodb-directory/bin/* /usr/local/bin/
  • Crie links simbólicos para os binários a partir de um diretório listado na variável sua PATH, como /usr/local/bin (atualize /path/to/the/mongodb-directory/ com seu diretório de instalação conforme apropriado):

    sudo ln -s /path/to/the/mongodb-directory/bin/* /usr/local/bin/
4

Instalar mongosh em seguida, use o MongoDB Shell para conectar à sua implantação.

Faça o download do pacote para a versão de mongosh de que você precisa no Centro de Download do MongoDB e descompacte o pacote.

A maioria dos sistemas operacionais do tipo Unix limita os recursos do sistema que um processo pode usar. Esses limites podem impactar negativamente a operação do MongoDB e devem ser ajustados. Consulte Configurações do UNIX ulimit para obter as configurações recomendadas para sua plataforma.

Observação

Se o valor ulimit para o número de arquivos abertos estiver abaixo 64000, o MongoDB gerará um aviso de inicialização.

Por padrão, o MongoDB é executado com a conta de usuário mongod e utiliza os seguintes diretórios padrão:

  • /var/lib/mongo (o diretório de dados)

  • /var/log/mongodb (o diretório log)

Criar os dados MongoDB e diretórios de log:

sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb

Por padrão, o MongoDB é executado com a conta de usuário mongod. Crie um grupo mongod e um grupo mongodb . Certifique-se de que o mongod pertence ao grupo e, em seguida, defina o proprietário e o grupo destes diretórios como mongod:

sudo chown -R mongod:mongod /var/lib/mongo
sudo chown -R mongod:mongod /var/log/mongodb

Para usar um diretório de dados e/ou diretório de registros diferente dos diretórios padrão:

  1. Crie o novo diretório ou diretórios.

  2. Edite o arquivo de configuração /etc/mongod.conf e modifique os campos de acordo:

    • storage.dbPath para especificar um novo caminho de diretório de dados (por exemplo, /some/data/directory)

    • systemLog.path para especificar um novo caminho de arquivo de log (por exemplo, /some/log/directory/mongod.log)

  3. Certifique-se de que o usuário que executa o MongoDB tenha acesso ao diretório ou diretórios:

    sudo chown -R mongod:mongod <directory>

    Se você alterar o usuário que executa o processo MongoDB,deverá conceder ao novo usuário acesso a esses diretórios.

  4. Configure o SELinux, se aplicado. Consulte Configurar o SELinux.

Aviso

Uma política do SELinux configurada incorretamente pode ser insegura ou impedir que sua instância mongod funcione.

Se o SELinux estiver no modo enforcing, você deverá personalizar sua política do SELinux para MongoDB para

  • Permitir acesso a cgroup

  • Permitir acesso a netstat

A política atual do SELinux não permite que o processo do MongoDB acesse /sys/fs/cgroup, que é necessário para determinar a memória disponível no seu sistema. Se você pretende executar o SELinux no modo enforcing , terá que fazer o seguinte ajuste em sua política do SELinux:

  1. Verifique se o seu sistema tem o pacote checkpolicy instalado:

    sudo yum install checkpolicy
  2. Crie um arquivo de política personalizado mongodb_cgroup_memory.te:

    cat > mongodb_cgroup_memory.te <<EOF
    module mongodb_cgroup_memory 1.0;
    require {
    type cgroup_t;
    type mongod_t;
    class dir search;
    class file { getattr open read };
    }
    #============= mongod_t ==============
    allow mongod_t cgroup_t:dir search;
    allow mongod_t cgroup_t:file { getattr open read };
    EOF
  3. Depois de criado, compile e carregue o módulo de política personalizada executando estes três comandos:

    checkmodule -M -m -o mongodb_cgroup_memory.mod mongodb_cgroup_memory.te
    semodule_package -o mongodb_cgroup_memory.pp -m mongodb_cgroup_memory.mod
    sudo semodule -i mongodb_cgroup_memory.pp

O processo MongoDB agora pode acessar os arquivos corretos com SELinux configurado para enforcing.

A política atual do SELinux não permite que o processo do MongoDB abra e leia /proc/net/netstat, o que é necessário para a captura de dados de diagnóstico em tempo integral (FTDC). Se você pretende executar o SELinux no modo enforcing , terá que fazer o seguinte ajuste em sua política do SELinux:

  1. Verifique se o seu sistema tem o pacote checkpolicy instalado:

    sudo yum install checkpolicy
  2. Crie um arquivo de política personalizado mongodb_proc_net.te:

    cat > mongodb_proc_net.te <<EOF
    module mongodb_proc_net 1.0;
    require {
    type proc_net_t;
    type mongod_t;
    class file { open read };
    }
    #============= mongod_t ==============
    allow mongod_t proc_net_t:file { open read };
    EOF
  3. Depois de criado, compile e carregue o módulo de política personalizada executando estes três comandos:

    checkmodule -M -m -o mongodb_proc_net.mod mongodb_proc_net.te
    semodule_package -o mongodb_proc_net.pp -m mongodb_proc_net.mod
    sudo semodule -i mongodb_proc_net.pp
  1. Atualize a política SELinux para permitir que o serviço do mongod utilize o novo diretório:

    sudo semanage fcontext -a -t <type> </some/MongoDB/directory.*>

    Especifique um dos seguintes tipos conforme apropriado:

    • mongod_var_lib_t para diretório de dados

    • mongod_log_t para diretório do arquivo de log

    • mongod_var_run_t para o diretório de arquivo de pid

    Observação

    Certifique-se de incluir o .* no final do diretório.

  2. Atualize a política de usuário do SELinux para o novo diretório:

    sudo chcon -Rv -u system_u -t <type> </some/MongoDB/directory>

    Especifique um dos seguintes tipos conforme apropriado:

    • mongod_var_lib_t para diretório de dados

    • mongod_log_t para diretório de log

    • mongod_var_run_t para o diretório de arquivo de pid

  3. Aplique as políticas atualizadas do SELinux ao diretório:

    sudo restorecon -R -v </some/MongoDB/directory>

Por exemplo:

Dica

Certifique-se de incluir o .* no final do diretório para as operações do semanage fcontext.

  • Se utilizar um caminho de dados MongoDB não padrão do /mongodb/data:

    sudo semanage fcontext -a -t mongod_var_lib_t '/mongodb/data.*'
    sudo chcon -Rv -u system_u -t mongod_var_lib_t '/mongodb/data'
    sudo restorecon -R -v '/mongodb/data'
  • Se estiver usando um diretório de log MongoDB não padrão do /mongodb/log (por exemplo, se o caminho do arquivo de log for /mongodb/log/mongod.log):

    sudo semanage fcontext -a -t mongod_log_t '/mongodb/log.*'
    sudo chcon -Rv -u system_u -t mongod_log_t '/mongodb/log'
    sudo restorecon -R -v '/mongodb/log'
sudo semanage port -a -t mongod_port_t -p tcp <portnumber>

Importante

Além dos itens anteriores, se o SELinux estiver no modo enforcing, você também precisará personalizar ainda mais sua política do SELinux para cada uma dessas situações:

  • Você está usando um caminho de diretório personalizado em vez de usar o caminho padrão para qualquer combinação de:

  • Você está usando uma porta personalizada em vez de usar a porta MongoDB padrão.

  • Se você fez outras modificações na instalação do MongoDB.

Siga estas etapas para executar o MongoDB Enterprise Edition em seu sistema. Estas instruções pressupõem que você esteja usando as configurações padrão.

1

Crie um diretório onde a instância do MongoDB armazenará seus dados. Por exemplo:

sudo mkdir -p /var/lib/mongo

Crie um diretório em que a instância do MongoDB armazene seu log. Por exemplo:

sudo mkdir -p /var/log/mongodb

O usuário que inicia o processo do MongoDB deve ter permissão de leitura e gravação nesses diretórios. Por exemplo, se você pretende executar o MongoDB como você mesmo:

sudo chown `whoami` /var/lib/mongo # Or substitute another user
sudo chown `whoami` /var/log/mongodb # Or substitute another user
2

Para executar MongoDB, execute o processo mongod no prompt do sistema.

mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork

Para detalhes sobre as opções de linha de comando --dbpath e --logpath, consulte Opções.

3

Verifique se o MongoDB começou com sucesso verificando a saída do processo para a seguinte linha no arquivo de log /var/log/mongodb/mongod.log:

[initandlisten] waiting for connections on port 27017

Você poderá ver avisos não críticos como resultado do processo. Desde que veja a linha de registro mostrada acima, você pode ignorar com segurança esses avisos durante sua avaliação inicial do MongoDB.

4

Inicie uma sessão mongosh na mesma máquina host que o mongod. Você pode executar mongosh sem nenhuma opção de linha de comando para se conectar a um mongod em execução em seu localhost com a porta padrão 27017.

mongosh

Para obter mais informações sobre como conectar-se usando mongosh, como conectar-se a uma instância mongod em execução em um host e/ou porta diferente, consulte a documentação do mongosh.

Para ajudá-lo a começar a usar o MongoDB, o MongoDB fornece Guias de Introdução em várias edições de driver. Para obter a documentação do driver, consulte Iniciar o desenvolvimento com o MongoDB.

Por padrão, o MongoDB é iniciado com bindIp definido como 127.0.0.1, que se vincula à interface de rede localhost. Isso significa que o mongod só pode aceitar conexões de clientes que estejam executando na mesma máquina. Os clientes remotos não conseguirão se conectar ao mongod e o mongod não conseguirá inicializar um conjunto de réplicas, a menos que esse valor seja definido como uma interface de rede válida que seja acessível aos clientes remotos.

Este valor pode ser configurado de duas maneiras:

  • no arquivo de configuração do MongoDB com bindIp, ou

  • por meio do argumento linha de comando --bind_ip

Aviso

Antes de vincular sua instância a um endereço IP acessível publicamente, você deve proteger seu cluster contra acessos não autorizados. Para obter uma lista completa das recomendações de segurança, consulte Lista de verificação de segurança. No mínimo, considere habilitar a autenticação e fortalecer a infraestrutura de rede.

Para obter mais informações sobre como configurar bindIp, veja Vinculação de IP.

← Instale o MongoDB Enterprise Edition no Red Hat ou CentOS