Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / / /

Instale o MongoDB Enterprise Edition no Red Hat ou CentOS

Nesta página

  • Visão geral
  • Considerações
  • Instale o MongoDB Enterprise Edition
  • Executar o MongoDB Enterprise Edition
  • Desinstalar MongoDB
  • 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 o MongoDB 5.0 Enterprise Edition no Red Hat Enterprise Linux, CentOS Linux ou Oracle Linux [1] usando o gerenciador de pacotes yum .

O MongoDB Enterprise Edition está disponível em plataformas selecionadas e contém suporte para vários recursos relacionados à segurança e ao monitoramento.

Este tutorial instala MongoDB 5.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.

Observação

EOL Notice

  • MongoDB 5.0 A edição Enterprise remove o suporte para RHEL / CentOS / Oracle 6 em x86_64

  • O MongoDB Enterprise Edition removeu o suporte para RHEL 7 / CentOS / Oracle PPC64LE entre as versões 4.0 e 5.0. No entanto, essas arquiteturas são compatíveis com as versões 5.0.X.

MongoDB 5.0 A edição Enterprise suporta as seguintes versões de 64bits do Red Hat Enterprise Linux (RHEL), CentOS Linux, Oracle Linux [1], Rocky Linux e AlmaLinux [2] em x86_64 arquitetura:

  • RHEL /CentOS/Oracle/Rocky/Alma 8

  • RHEL/CentOS/Oracle 7

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

MongoDB 5.0 Enterprise Edition em 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 para implantações autogerenciadas, que oferece considerações de desempenho e recomendações de configuração para implantações de produção do MongoDB.

Siga estas etapas para instalar o MongoDB Enterprise Edition usando o gerenciador de pacotes yum.

1

Crie um arquivo /etc/yum.repos.d/mongodb-enterprise-5.0.repo para instalar o MongoDB Enterprise diretamente utilizando o yum:

[mongodb-enterprise-5.0]
name=MongoDB Enterprise Repository
baseurl=https://repo.mongodb.com/yum/redhat/8/mongodb-enterprise/5.0/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-5.0.asc
[mongodb-enterprise-5.0]
name=MongoDB Enterprise Repository
baseurl=https://repo.mongodb.com/yum/redhat/7/mongodb-enterprise/5.0/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-5.0.asc

Observação

Se você tiver um arquivo mongodb-enterprise.repo neste diretório a partir de uma instalação anterior do MongoDB, você deverá removê-lo. Utilize o arquivo mongodb-enterprise-5.0.repo acima para instalar o MongoDB 5.0.

Você também pode baixar os arquivos .rpm diretamente do Repositório do MongoDB. As transferências são organizadas pela versão Red Hat/CentOS (por exemplo, 9), em seguida, a versão de lançamento do MongoDB (por exemplo, 5.0), depois a arquitetura (por exemplo, x86_64).

Antes do MongoDB 5.0, as versões ímpares do MongoDB, como 4.3, eram versões de desenvolvimento. Começando com o MongoDB 5.1, o MongoDB tem Rapid Releases trimestralmente. Para obter mais informações sobre as diferenças entre versões de suporte rápido e de longo prazo, consulte MongoDB Versioning.

2

Para instalar a versão estável mais recente do MongoDB Enterprise 5.0, emita o seguinte comando:

sudo yum install -y mongodb-enterprise

Para instalar uma versão específica, você deve especificar cada pacote de componente individualmente junto com o número da versão, como no exemplo a seguir:

sudo yum install -y mongodb-enterprise-5.0.29 mongodb-enterprise-database-5.0.29 mongodb-enterprise-server-5.0.29 mongodb-enterprise-shell-5.0.29 mongodb-enterprise-mongos-5.0.29 mongodb-enterprise-tools-5.0.29

Observação

Embora você possa especificar qualquer versão disponível do MongoDB Enterprise, o yum atualiza os pacotes quando uma versão mais nova se tornar disponível. Para evitar atualizações indesejadas, fixe o pacote adicionando a seguinte diretiva exclude ao seu arquivo /etc/yum.conf:

exclude=mongodb-enterprise,mongodb-enterprise-database,mongodb-enterprise-server,mongodb-enterprise-shell,mongodb-enterprise-mongos,mongodb-enterprise-tools

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

Observação

Se o valor ulimit para o número de arquivos abertos estiver em 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)

O gerenciador de pacotes cria os diretórios padrão durante a instalação. O proprietário e o nome do grupo são mongod.

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.

Importante

Se o SELinux estiver no modo enforcing , você deverá personalizar sua política do SELinux para o MongoDB fazendo os dois ajustes de política a seguir:

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 cgroup_t;
    type configfs_t;
    type file_type;
    type mongod_t;
    type proc_net_t;
    type sysctl_fs_t;
    type var_lib_nfs_t;
    class dir { search getattr };
    class file { getattr open read };
    }
    #============= mongod_t ==============
    allow mongod_t cgroup_t:dir { search getattr } ;
    allow mongod_t cgroup_t:file { getattr open read };
    allow mongod_t configfs_t:dir getattr;
    allow mongod_t file_type:dir { getattr search };
    allow mongod_t file_type:file getattr;
    allow mongod_t proc_net_t:file { open read };
    allow mongod_t sysctl_fs_t:dir search;
    allow mongod_t var_lib_nfs_t:dir search;
    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

Importante

Além dos itens anteriores, você também precisará personalizar ainda mais sua política do SELinux nos dois casos a seguir se o SELinux estiver no modo enforcing :

  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.*>

    onde 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>

    onde 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>

Observação

Talvez seja necessário reiniciar o mongod para que a porta personalizada seja reconhecida.

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.

Sistema de Inicialização

Para executar e gerenciar seu processo do mongod, você utilizará o sistema de inicialização integrado do sistema operacional. Versões recentes do Linux tendem a utilizar systemd (que utiliza o comando systemctl), enquanto versões mais antigas do Linux tendem a utilizar System V init (que utiliza o comando service).

Se você não tiver certeza de qual sistema de inicialização sua plataforma usa, execute o seguinte comando:

ps --no-headers -o comm 1

Em seguida, selecione a aba apropriada abaixo com base no resultado:

  • systemd - selecione a aba systemd (systemctl) abaixo.

  • init - selecione a aba System V Init (service) abaixo.


1

Você pode iniciar o processo mongod emitindo o seguinte comando:

sudo systemctl start mongod

Se receber um erro semelhante ao seguinte ao iniciar o mongod:

Failed to start mongod.service: Unit mongod.service not found.

Execute o seguinte comando primeiro:

sudo systemctl daemon-reload

Em seguida, execute o comando de inicialização acima novamente.

2

Você pode verificar se o processo mongod começou com sucesso emitindo o seguinte comando:

sudo systemctl status mongod

Opcionalmente, você pode garantir que o MongoDB iniciará após reinicialização do sistema emitindo o seguinte comando:

sudo systemctl enable mongod
3

Conforme necessário, você pode interromper o processo mongod emitindo o seguinte comando:

sudo systemctl stop mongod
4

Você pode reiniciar o processo mongod emitindo o seguinte comando:

sudo systemctl restart mongod

Você pode acompanhar o estado do processo em busca de erros ou mensagens importantes observando o resultado no arquivo /var/log/mongodb/mongod.log.

5

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 que esteja sendo executado em seu host local com a porta padrão 27017.

mongosh

Para obter mais informações sobre como se conectar usando mongosh, como se conectar 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.

1

Você pode iniciar o processo mongod emitindo o seguinte comando:

sudo service mongod start
2

Você pode verificar se o processo mongod começou com sucesso verificando o conteúdo do arquivo de log em /var/log/mongodb/mongod.log para uma linha de leitura

[initandlisten] waiting for connections on port <port>

onde <port> é a porta configurada em /etc/mongod.conf, 27017 por padrão.

Opcionalmente, você pode garantir que o MongoDB iniciará após reinicialização do sistema emitindo o seguinte comando:

sudo chkconfig mongod on
3

Conforme necessário, você pode interromper o processo mongod emitindo o seguinte comando:

sudo service mongod stop
4

Você pode reiniciar o processo mongod emitindo o seguinte comando:

sudo service mongod restart

Você pode acompanhar o estado do processo em busca de erros ou mensagens importantes observando o resultado no arquivo /var/log/mongodb/mongod.log.

5

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 que esteja sendo executado em seu host local com a porta padrão 27017.

mongosh

Para obter mais informações sobre como se conectar usando mongosh, como se conectar 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.

Para remover completamente o MongoDB de um sistema, você deve remover os próprios aplicativos MongoDB, os arquivos de configuração e quaisquer diretórios que contenham dados e registros. A seção a seguir orienta você nas etapas necessárias.

Aviso

Esse processo removerá completamente o MongoDB, sua configuração e todos os bancos de dados. Este processo não é reversível, portanto, certifique-se de fazer backup de todas as suas configurações e dados antes de continuar.

1

Interrompa o processo mongod com o seguinte comando:

sudo service mongod stop
2

Remova todos os pacotes do MongoDB que você instalou anteriormente.

sudo yum erase $(rpm -qa | grep mongodb-enterprise)
3

Remova bancos de dados e arquivos de log do MongoDB.

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo

By default, MongoDB launches with bindIp set to 127.0.0.1, which binds to the localhost network interface. This means that the mongod can only accept connections from clients that are running on the same machine. Remote clients will not be able to connect to the mongod, and the mongod will not be able to initialize a replica set unless this value is set to a valid network interface which is accessible from the remote clients.

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 a um não localhost (por exemplo, acessível IP ), certifique-se de ter protegido seu cluster contra o acesso não autorizado. Para obter uma lista completa de recomendações de segurança, consulte a Lista de verificação de segurança para implementações autogerenciadas. No mínimo, procure habilitar a autenticação e fortalecer a infraestrutura de rede.

Para obter mais informações sobre como configurar bindIp, consulte Vinculação de IP em implementações autogerenciadas.

A edição MongoDB Enterprise está disponível em seu próprio repositório dedicado e contém os seguintes pacotes com suporte oficial:

Nome do Pacote
Descrição
mongodb-enterprise
Um metapackage que instala automaticamente os pacotes do componente listados abaixo.
mongodb-enterprise-database

Um metapackage que instala automaticamente os pacotes do componente listados abaixo.

Nome do Pacote
Descrição
mongodb-enterprise-server
Contém o daemon do mongod e configurações associadas e scripts de inicialização.
mongodb-enterprise-mongos
Contém o daemon mongos.
mongodb-enterprise-shell
Contém o shell mongo .
mongodb-enterprise-cryptd
Contém o binário mongocryptd
mongodb-mongosh
Contém o MongoDB Shell (mongosh).
mongodb-enterprise-tools

Um metapackage que instala automaticamente os pacotes do componente listados abaixo:

Nome do Pacote
Descrição
mongodb-database-tools

Contém as seguintes ferramentas de banco de dados MongoDB:

mongodb-enterprise-database-tools-extra

Contém as seguintes ferramentas de suporte MongoDB:

Voltar

Instale no Linux