Instale o MongoDB Community Edition no Red Hat ou CentOS
Nesta página
Visão geral
Use este tutorial para instalar o MongoDB 8.0 MongoDB Community Edition no Red Hat Enterprise Linux, CentOS Linux ou Oracle Linux [1] utilizando o gerenciador de pacotes do yum
.
Versão do MongoDB
Este tutorial instala o MongoDB 8.0 Community Edition. Para instalar uma versão diferente do MongoDB Community, use o menu suspenso de versão no canto superior esquerdo desta página para selecionar a documentação dessa versão.
Considerações
Suporte a plataformas
MongoDB 8.0 O Community Edition é compatível com as seguintes versões de 64 bits do Red Hat Enterprise Linux (RHEL), CentOS Linux, Oracle Linux [1], Rocky Linux e AlmaLinux [2] na arquitetura x86_64:
RHEL/CentOS Stream/Oracle/Rocky/AlmaLinux 9
RHEL/CentOS Stream/Oracle/Rocky/AlmaLinux 8
O MongoDB é compatível somente com as versões de 64 bits dessas plataformas.
No mongoDB 8.0, a edição Community no RHEL /CentOS/Oracle/Rocky/AlmaLinux também é compatível com 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. |
Notas de produção
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.
Instale o MongoDB Community Edition
Siga estas etapas para instalar o MongoDB Community Edition usando o gerenciador de pacotes yum
.
Configurar o repositório
Crie um arquivo /etc/yum.repos.d/mongodb-org-8.0.repo
para instalar o MongoDB diretamente utilizando o yum
:
[mongodb-org-8.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://pgp.mongodb.com/server-8.0.asc
[mongodb-org-8.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/8.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://pgp.mongodb.com/server-8.0.asc
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, 8.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.
Instale o Servidor MongoDB Community
Para instalar a versão estável mais recente do MongoDB, emita o seguinte comando:
sudo yum install -y mongodb-org
Como alternativa, para instalar uma versão específica do MongoDB, especifique cada pacote de componente individualmente e anexe o número da versão ao nome do pacote , como no exemplo a seguir:
sudo yum install -y mongodb-org-8.0.0 mongodb-org-database-8.0.0 mongodb-org-server-8.0.0 mongodb-mongosh mongodb-org-mongos-8.0.0 mongodb-org-tools-8.0.0
Observação
yum
atualiza pacotes automaticamente quando novas versões são disponibilizadas. Se você quiser impedir atualizações do MongoDB, fixe o pacote adicionando a seguinte diretriz exclude
ao seu arquivo /etc/yum.conf
:
exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-mongosh,mongodb-org-mongos,mongodb-org-tools
Execute o MongoDB Community Edition
ulimit
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.
Caminhos de Diretório
Para Usar Diretórios Padrã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 Diretórios Não Padrão
Para usar um diretório de dados e/ou diretório de registros diferente dos diretórios padrão:
Crie o novo diretório ou diretórios.
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
)
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.
Configure o SELinux, se aplicado. Consulte Configurar o SELinux.
Configurar SELinux
A partir do MongoDB 5.0, uma nova política do SELinux está disponível para instalações do MongoDB que:
Use um instalador
.rpm
.Use as configurações padrão.
Execute no RHEL7 ou posterior.
Se a sua instalação não atender estes requisitos, consulte as Instruções do SELinux para pacotes do .tgz
.
Observação
Se o seu MongoDB deployment usar configurações personalizadas para qualquer um dos itens a seguir:
Você não pode usar a política do SELinux fornecida pelo MongoDB. Uma alternativa é criar uma política SELinux personalizada; no entanto, uma política personalizada escrita incorretamente pode ser menos segura ou pode impedir que sua instância mongod
funcione.
Instalar a Política do SELinux
Certifique-se de ter os seguintes pacotes instalados:
git
make
checkpolicy
policycoreutils
selinux-policy-devel
sudo yum install git make checkpolicy policycoreutils selinux-policy-devel Baixe o repositório de políticas.
git clone https://github.com/mongodb/mongodb-selinux Crie a política.
cd mongodb-selinux make Aplique a política.
sudo make install
Importante
Funcionalidade incompatível com versões anteriores
A partir do MongoDB 5.1, você deve executar o seguinte comando no diretório no qual a política do SELinux foi clonada anteriormente antes de fazer desatualizar para uma versão anterior do MongoDB:
sudo make uninstall
Política do SELinux Considerações
A política do SELinux foi projetada para funcionar com a configuração resultante de uma instalação de pacote padrão do MongoDB
.rpm
. Consulte as suposições de instalação padrão para mais detalhes.A política do SELinux foi projetada para servidores do
mongod
. Não se aplica a outros daemons ou ferramentas do MongoDB, como:A política de referência fornecida pelo Projeto SELinux inclui uma macro
mongodb_admin
. Essa macro não está incluída na política do SELinux do MongoDB. Um administrador no domíniounconfined_t
pode gerenciarmongod
.Para desinstalar a política, acesse o diretório onde você baixou o repositório de políticas e execute:
sudo make uninstall
Procedimento
Siga estas etapas para executar o MongoDB Community 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.
Inicie o MongoDB.
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.
Verifique se o MongoDB foi iniciado com sucesso.
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
Pare o MongoDB.
Conforme necessário, você pode interromper o processo mongod
emitindo o seguinte comando:
sudo systemctl stop mongod
Reinicie o MongoDB.
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
.
Comece a usar o MongoDB.
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.
Inicie o MongoDB.
Você pode iniciar o processo mongod
emitindo o seguinte comando:
sudo service mongod start
Verifique se o MongoDB foi iniciado com sucesso.
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
Pare o MongoDB.
Conforme necessário, você pode interromper o processo mongod
emitindo o seguinte comando:
sudo service mongod stop
Reinicie o MongoDB.
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
.
Comece a usar o MongoDB.
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.
Desinstale o MongoDB Community Edition
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.
Pare o MongoDB.
Interrompa o processo mongod
com o seguinte comando:
sudo service mongod stop
Informações adicionais
Vinculação ao localhost por padrão
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.
Este valor pode ser configurado de duas maneiras:
no arquivo de configuração do MongoDB com
bindIp
, oupor 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 o acesso não autorizado. Para obter uma lista completa de recomendações de segurança, consulte Lista de verificação de segurança para implantações autogerenciadas. No mínimo, considere 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.
Pacotes do MongoDB Community Edition
O MongoDB Community Edition 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-org | Um metapackage que instala automaticamente os pacotes do componente listados abaixo. | ||||||
mongodb-org-database | Um
| ||||||
mongodb-mongosh | Contém o MongoDB Shell ( mongosh ). | ||||||
mongodb-org-tools | Um
|