AlloyDB Omni se implementa a través de una imagen de Docker, lo que permite diferentes formas de personalización. En esta página, se muestran algunas de las personalizaciones comunes que se usan.
Para comenzar rápidamente con AlloyDB Omni con la configuración predeterminada, consulta Inicio rápido: AlloyDB Omni.
Antes de comenzar
En la siguiente tabla, se enumeran la configuración de hardware y software recomendada para AlloyDB Omni.
| SO/plataforma | Configuración de hardware recomendada | Configuración de software recomendada |
|---|---|---|
| Linux |
|
|
| macOS |
|
|
| (*) La compatibilidad con Arm está en versión preliminar. | ||
AlloyDB Omni se ejecuta en un contenedor. Instala un entorno de ejecución de contenedores como Docker o Podman en tu máquina antes de instalar AlloyDB Omni.
Los comandos de Podman se proporcionan para un contenedor sin raíz que se ejecuta en Security-Enhanced Linux (SELinux) inhabilitado.
Servidor único
Activa un directorio de datos externo
De forma predeterminada, el comando de la guía de inicio rápido: Instala AlloyDB Omni almacena los datos de la base de datos en un área administrada por Docker. Esto es conveniente para comenzar, pero dificulta encontrar y usar el directorio de datos. En su lugar, puedes configurar una activación de vinculación para asignar el directorio de datos a una ubicación conocida en tu disco.
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v DATA_DIR:/var/lib/postgresql/data \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Reemplaza lo siguiente:
CONTAINER_NAME: Es el nombre que se le asignará a este nuevo contenedor de AlloyDB Omni en el Container Registry de tu máquina anfitrión, por ejemplo,my-omni.NEW_PASSWORD: Es la contraseña asignada al usuariopostgresdel contenedor nuevo después de su creación.DATA_DIR: Es la ruta de acceso del sistema de archivos que deseas que AlloyDB Omni use para su directorio de datos.HOST_PORT: Es el puerto TCP de la máquina anfitrión al que el contenedor publica el puerto 5432. Para usar también el puerto predeterminado de PostgreSQL en la máquina anfitrión, especifica5432.
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v DATA_DIR:/var/lib/postgresql/data \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Reemplaza lo siguiente:
CONTAINER_NAME: Es el nombre que se le asignará a este nuevo contenedor de AlloyDB Omni en el Container Registry de tu máquina anfitrión, por ejemplo,my-omni.NEW_PASSWORD: Es la contraseña asignada al usuariopostgresdel contenedor nuevo después de su creación.DATA_DIR: Es la ruta de acceso del sistema de archivos que deseas que AlloyDB Omni use para su directorio de datos.HOST_PORT: Es el puerto TCP de la máquina anfitrión al que el contenedor publica el puerto 5432. Para usar también el puerto predeterminado de PostgreSQL en la máquina anfitrión, especifica5432.
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v DATA_DIR:/var/lib/postgresql/data \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Reemplaza lo siguiente:
CONTAINER_NAME: Es el nombre que se le asignará a este nuevo contenedor de AlloyDB Omni en el Container Registry de tu máquina anfitrión, por ejemplo,my-omni.NEW_PASSWORD: Es la contraseña asignada al usuariopostgresdel contenedor nuevo después de su creación.DATA_DIR: Es la ruta de acceso del sistema de archivos que deseas que AlloyDB Omni use para su directorio de datos.HOST_PORT: Es el puerto TCP de la máquina anfitrión al que el contenedor publica el puerto 5432. Para usar también el puerto predeterminado de PostgreSQL en la máquina anfitrión, especifica5432.
Habilita ulimits
Los parámetros ulimit especifican los límites de proceso que puede usar el contenedor de Docker. Para obtener un rendimiento óptimo, te recomendamos que establezcas los siguientes ulimits:
nice=-20:-20: AlloyDB Omni ajusta las prioridades de los procesos para permitir que los procesos críticos de PostgreSQL se ejecuten con mayor prioridad. La prioridad más alta les otorga a los procesos una mayor asignación de CPUs disponibles. Para ajustar las prioridades de los procesos, especifica--ulimit=nice=-20:-20, que quita las limitaciones del contenedor de AlloyDB Omni.memlock=-1:-1: AlloyDB Omni realiza la administración automática de la memoria. Si configuras--ulimit=memlock=-1:-1, la base de datos puede controlar mejor cómo se intercambian las páginas de memoria, lo que puede generar un mejor rendimiento.
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=nice=-20:-20 --ulimit=memlock=-1:-1 \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=nice=-20:-20 --ulimit=memlock=-1:-1 \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Especifica un controlador de registro
De forma predeterminada, Docker no realiza rotaciones de registros. Esto puede ocupar mucho espacio en disco y, finalmente, provocar el agotamiento del espacio en disco. Puedes configurar Docker para que use un controlador de registro diferente. Por ejemplo, para registrar en journald, haz lo siguiente:
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Para obtener más información sobre Docker y los controladores de registro, consulta la documentación de Docker Configura controladores de registro.
También puedes configurar el registro con PostgreSQL. Para obtener más información, consulta la documentación de PostgreSQL Error Reporting y registro.
Activa un volumen de memoria compartida
Si planeas usar el motor de columnas de AlloyDB con AlloyDB Omni, te recomendamos que pongas la memoria compartida a disposición del contenedor de AlloyDB Omni. El método para hacerlo difiere según el sistema operativo host, como se muestra en los siguientes ejemplos.
Linux
Para que la memoria compartida esté disponible para el contenedor, activa /dev/shm:
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
-v /dev/shm:/dev/shm \
-d google/alloydbomni:15.5.5Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
-v /dev/shm:/dev/shm \
-d google/alloydbomni:15.5.5macOS
Para que la memoria compartida esté disponible para el contenedor, incluye la marca --shm-size:
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
--shm-size=SHARED_MEMORY_SIZE \
-d google/alloydbomni:15.5.5Reemplaza SHARED_MEMORY_SIZE por el tamaño que se establecerá para /dev/shm en el
contenedor, en el formato que se describe en Ejecuta contenedores.
Por ejemplo, para especificar un gigabyte, usa el valor 1g.
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
--shm-size=SHARED_MEMORY_SIZE \
-d google/alloydbomni:15.5.5Reemplaza SHARED_MEMORY_SIZE por el tamaño que se establecerá para /dev/shm en el
contenedor, en el formato que se describe en Ejecuta contenedores.
Por ejemplo, para especificar un gigabyte, usa el valor 1g.
Te recomendamos que establezcas el tamaño de la memoria compartida en una cantidad de megabytes igual a
al menos el valor de la marca de tu base de datos google_job_scheduler.max_parallel_workers_per_job, multiplicado por 250. Para obtener más información
sobre el motor de columnas, consulta Configura el motor de columnas en AlloyDB Omni.
Por ejemplo, si la marca de base de datos google_job_scheduler.max_parallel_workers_per_job está establecida en su valor predeterminado de 2, considera agregar una marca de --shm-size=500m o superior cuando inicies el servidor de la base de datos.
Para obtener más información sobre la marca --shm-size, consulta Ejecuta contenedores.