Puedes instalar el proceso de MongoDB Search y MongoDB búsqueda vectorial, mongot, en MongoDB Community Edition. El proceso mongot está disponible para su implementación en todas las distribuciones de Linux, como Red Hat, Ubuntu, Debian, SUSE y Amazon Linux, como un tarball con la extensión .tgz.
Nota
Para incorporarse rápidamente a una implementación destinada a la experimentación, consulta los siguientes tutoriales sobre implementaciones autogestionadas:
Antes de comenzar
Para instalar mongot en una implementación autogestionada, debe cumplir con los siguientes requisitos previos:
MongoDB Community Edition v8.3 o posterior.
Consulta Instalar MongoDB Community Edition para tutoriales de instalación.
Nota
Debe tener MongoDB 8.3 o posterior para ejecutar el proceso de MongoDB Search y MongoDB búsqueda vectorial, ya sea que utilice una implementación autogestionada autónoma o implemente con los MongoDB Controllers para Kubernetes operador. Para obtener más información, consulte Compatibility and Requirements for
mongot.Un set de réplicas iniciado con control de acceso mediante archivo de claves.
Procedimiento
Descargue el archivo tarball mongot.
Download the latest Search in Community tarball for your system architecture from the MongoDB Search in Community Download Center.
To download a specific version from the command line, replace {VERSION_NUMBER} with the version of mongot that you want and run the command for your system architecture:
wget https://downloads.mongodb.org/mongodb-search-community/{VERSION_NUMBER}/mongot_community_{VERSION_NUMBER}_linux_aarch64.tgz
wget https://downloads.mongodb.org/mongodb-search-community/{VERSION_NUMBER}/mongot_community_{VERSION_NUMBER}_linux_x86_64.tgz
(opcional). Verifique la integridad del paquete tarball.
Consulte Verificar la integridad de los paquetes mongot para obtener más información.
Extraiga el mongot tarball.
Replace {VERSION_NUMBER} with the version of mongot that you downloaded and run the command for your system architecture to extract the tarball:
tar -zxvf mongot_community_{VERSION_NUMBER}_linux_aarch64.tgz
tar -zxvf mongot_community_{VERSION_NUMBER}_linux_x86_64.tgz
Nota
Si su navegador web descomprime automáticamente el archivo como parte de la descarga, la extensión del archivo es .tar.
El tarball contiene un archivo de configuración de muestra, el script del lanzador de mongot e información sobre la licencia de MongoDB Search y búsqueda vectorial.
Configura mongod para comunicarte con mongot.
Si se desea utilizar un set de réplicas existente, se deben configurar los siguientes parámetros mongod para enrutar las queries de búsqueda y MongoDB Vector Search y gestionar los índices.
Parameter | Descripción |
|---|---|
| La dirección del host de |
| La dirección del host de Debes especificar la misma dirección en |
| Especifica si la autenticación está activada para el servidor de gestión del índice de búsqueda |
| Especifica si GRPC está activado para MongoDB Search |
Por ejemplo, puede añadir las siguientes líneas a su archivo de configuración mongod y luego reiniciar mongod:
setParameter: searchIndexManagementHostAndPort: localhost:27028 mongotHost: localhost:27028 skipAuthenticationToSearchIndexManagementServer: false useGrpcForSearch: true
See MongoDB Server Parameters for a Self-Managed Deployment for more information on setting mongod parameters. For detailed information about search-specific setParameter options, see MongoDB Search Options.
Nota
The mongotHost, searchIndexManagementHostAndPort, and useGrpcForSearch parameters are set only at startup. You can't change them at runtime with setParameter. To point mongod at a different mongot instance, update these parameters in the mongod configuration file and restart mongod.
If you want to deploy a new replica set with keyfile authentication, follow the steps in Deploy Self-Managed Replica Set With Keyfile Authentication.
Cree un usuario para el proceso mongot en su implementación de MongoDB.
mongot must be able to connect to your MongoDB deployment through a user with the searchCoordinator role.
Conéctese a
mongoshcomo el usuario administrador.mongosh --port 27017 -u <your_admin_username> -p <your_admin_password> Conéctese a la base de datos
admin.Ejecute el siguiente comando para conectarse a la base de datos
admin:use admin Cree su usuario
mongot.Para crear un usuario con el rol
searchCoordinator:Se debe sustituir
<mongot-username>por un nombre de usuario para el usuariomongotReemplace
<mongot-password>con la contraseña que especifique en supasswordFileen el siguiente pasoEjecuta el siguiente comando:
db.createUser( { user: <mongot-username>, pwd: <mongot-password>, roles: [ "searchCoordinator"] } )
Cree su archivo de contraseñas.
Crea un archivo de contraseña para mongot para conectarte a mongod.
Por ejemplo, se debe seleccionar el sistema operativo y reemplazar <mongot-password> con la contraseña. A continuación, se debe ejecutar el siguiente comando para crear un archivo llamado passwordFile:
echo -n "<mongot-password>" > passwordFile chmod 400 passwordFile
Nota
La opción -n evita una nueva línea al final.
echo|set /p="mongotPassword" > passwordFile
[System.IO.File]::WriteAllText("passwordFile", "mongotPassword")
Especifique sus opciones de configuración de mongot.
You can configure mongot with a YAML configuration file. Use the included sample configuration file named config.default.yml or a new configuration file to define the configuration. For more information on mongot configuration options, see mongot Options.
El archivo tarball contiene el siguiente archivo de configuración de muestra, config.default.yml, con la configuración por defecto de mongot. Se puede modificar la configuración de la implementación:
Advertencia
Dependiendo de la topología del sistema, puede ser necesario vincular el servidor de query mongot a una interfaz accesible desde el clúster de MongoDB. Aunque se permite la vinculación a la dirección IP 0.0.0.0, expone el servidor a todas las redes públicas y conlleva el riesgo de un acceso no autorizado.
Para mejorar la seguridad, considera restringir server.grpc.address a interfaces específicas que estén controladas y protegidas en la capa de red, como localhost u otras direcciones internas confiables.
syncSource: replicaSet: hostAndPort: "localhost:27017" # Replace with the mongod host and port. scramAuth: username: mongotUser # Replace with mongod username enabled with "searchCoordinator" role. authSource: admin # Replace with the database to authenticate the user against. passwordFile: "/etc/mongot/secrets/passwordFile" # Replace with path to password file for the above user. tls: enabled: false storage: dataPath: "/var/lib/mongot" # Replace with the path where you want mongot to store search data. server: grpc: address: "localhost:27028" # Replace with the address and port for mongot listen server tls: mode: "disabled" metrics: enabled: true address: "localhost:9946" healthCheck: address: "localhost:8080" logging: verbosity: INFO
Nota
El directorio dataPath de su archivo de configuración debe ser escribible por el usuario que ejecuta mongot.
The sample configuration uses SCRAM authentication with the scramAuth block. You must configure exactly one authentication mechanism for the sync source: either SCRAM or X.509. To authenticate with a TLS client certificate instead of a username and password, use the x509 block. For both mechanisms, including the sharded-cluster syncSource.router configuration, see Configure Authentication and Authorization for mongot.
This sample runs mongot and mongod on the same host, so it binds server.grpc.address to localhost and disables TLS. If you run mongot and mongod on separate hosts, complete the following steps instead:
Bind
server.grpc.addressto a network interface thatmongodcan reach, rather thanlocalhost.Set the
mongodmongotHostandsearchIndexManagementHostAndPortparameters to that address.Enable TLS for the sync source and gRPC connections. Running without TLS is only appropriate when
mongotandmongodrun on the same host. To configure TLS, see Configure TLS Encryption formongot.
Utilice logging.logPath para especificar la ruta del archivo de registro en el que mongot guarda. Si no especifica una ruta de archivo de registro, mongot registra en la salida estándar.
Inicie el proceso de mongot.
Ejecuta el script del lanzador mongot que descargó con el tarball. El script se encuentra en la carpeta mongot-community.
Cambie a la carpeta mongot-community:
cd <path-to-mongot>
Para comenzar mongot con el archivo de configuración de muestra, emite el siguiente comando:
./mongot --config config.default.yml
Verifique el estado del proceso mongot.
Para verificar, envía una solicitud utilizando un cliente HTTP o curl al /health endpoint. Por ejemplo, envía una solicitud curl similar a la siguiente solicitud de muestra:
curl localhost:8080/health
El endpoint devuelve uno de los siguientes en la respuesta:
SERVING, si el procesomongotse está ejecutandomongotes posible que no sirva queries, ya que no verifica el estado de los índices, que deben estar en estadoReadypara servir queries.NOT_SERVING, si el procesomongotno está en ejecución
Para obtener más detalles, consulte Verificar la conexión de mongot.
Desinstala MongoDB Search y MongoDB Vector Search
Para remover MongoDB Search y la búsqueda vectorial de MongoDB de un sistema, se debe remover mongot, los archivos de configuración y cualquier directorio que contenga datos y registros. La siguiente sección le guía a través de los pasos necesarios.
Descarte al mongotUser usuario
Para descartar al usuario mongotUser, ejecute los siguientes comandos:
use admin db.dropUser("mongotUser")
For details, see db.dropUser().
Remueva cualquier registro y el directorio de registros para mongot
Para remover los registros y el directorio de registros de mongot, ejecuta el siguiente comando utilizando la ruta completa al directorio de registros que especificaste en logging.logPath:
rm -rf /path/to/mongot-logs