Las operaciones contra un almacén de objetos están bloqueadas o agotadas enDb2 Big SQL
Las operaciones con un almacén de objetos local como, por ejemplo, CREATE TABLE, se cuelgan o exceden el tiempo de espera.
Síntomas
Observa que operaciones comoCREATE TABLE o interacciones generales con un almacén de objetos local como Red Hat®
OpenShift® Data Foundation se cuelgan o exceden el tiempo de espera.Causas
Este problema podría estar relacionado con la forma en que la API de S3 convierte las ubicaciones de s3a que se utilizan en Db2 Big SQL en las solicitudes de HTTP subyacentes que se envían al punto final del almacén de objetos.
El valor predeterminado de AWS Java™ SDK para S3 es utilizar la notación de prefijo de grupo (también conocido como alojamiento virtual) cuando se envían solicitudes. Si el punto final del almacén de objetos es s3.example.com, las solicitudes se envían a bucket.s3.example.com. Sin embargo, es necesaria alguna configuración en la infraestructura de almacenamiento para dar soporte a este comportamiento, tal como se describe en el artículo relativo al prefijo de grupo frente al acceso de vía de acceso Anatomía del cliente del sistema de archivos S3A.
Resolución del problema
Si el almacén de objetos no está configurado para dar soporte a los URL de prefijo de grupo, puede habilitar el acceso de tipo ruta estableciendo la configuración fs.s3a.path.style.access en true. En esta configuración, las solicitudes se envían a s3.example.com/bucket, en lugar de a bucket.s3.example.com.
- Inicie sesión en su clúster de OpenShift como administrador del proyecto:
oc login <OpenShift_URL>:<port> - Cambia al proyecto donde está instalado el ' IBM® Software Hub ' control plane:
oc project ${PROJECT_CPD_INST_OPERANDS} - Identifique el ID de instancia de Db2
Big SQL:
oc get cm -l component=db2bigsql -o custom-columns="Instance Id:{.data.instance_id},Instance Name:{.data.instance_name},Created:{.metadata.creationTimestamp}" - Obtenga el nombre del pod principal de Db2
Big SQL:
head_pod=$(oc get pod -l app=bigsql-<instance_id>,name=dashmpp-head-0 --no-headers=true -o=custom-columns=NAME:.metadata.name) - Actualice el recurso personalizado (CR) de Db2
Big SQL para habilitar la configuración de acceso de estilo de vía de acceso.
- Copia de seguridad de la definición de CR:
oc get bigsql bigsql-<instance_id> -o yaml > bigsql-<instance_id>-bak.yaml - Abra el CR para editarlo:
oc edit bigsql bigsql-<instance_id> - En la sección s3, localice la línea para el punto final y, después de esta línea, establezca
pathStyleAcessentrueañadiendo las líneas siguientes.Importante: Asegúrese de que la sangría esté en línea con el punto final.endpoint: s3.eu-central-1.amazonaws.com pathStyleAccess: true - Guarde la actualización y salga del editor:
wq! - Espere 2 minutos a que el estado del CR de Db2
Big SQL vuelva a Preparado:
oc get bigsql bigsql-<instance_id>
- Copia de seguridad de la definición de CR:
- Reinicie Db2
Big SQL:
oc exec -i $head_pod -- sudo su - db2inst1 -c "bigsql stop; bigsql start"