Al ejecutar una instrucción CASLIB para conectarse a Hadoop (a menudo a través de Hive), el proceso se detiene y devuelve los siguientes mensajes de error en el registro (log):
ERROR: The connection to the data source driver failed.
ERROR: General error java.util.concurrent.TimeoutException
ERROR: Function failed.
ERROR: The action stopped due to errors.
Este problema suele ocurrir al utilizar una cadena de conexión explícita que incluye la opción uri=, como en el ejemplo siguiente:
/* Code provoquant l'erreur */
caslib hdlib datasource=(
srctype="hadoop",
dataTransferMode="serial",
username="{votre_user}",
password="{votre_mdp}",
/* L'option URI ci-dessous est souvent la cause du conflit */
uri="jdbc:hive2://{host}:2181...;serviceDiscoveryMode=zooKeeper;...",
hadoopjarpath="/sas_mirror/hadoopfiles/lib",
hadoopconfigdir="/sas_mirror/hadoopfiles/conf",
schema="default"
);
1
/* Code provoquant l'erreur */
2
caslib hdlib datasource=(
3
srctype="hadoop",
4
dataTransferMode="serial",
5
username="{votre_user}",
6
password="{votre_mdp}",
7
/* L'option URI ci-dessous est souvent la cause du conflit */
Consejo adicional: Gestionar la lentitud del clúster
Si, después de aplicar la corrección anterior, sigue encontrando errores de timeout (especialmente en clústeres muy solicitados), es posible que el tiempo de espera predeterminado sea demasiado corto.
El tiempo de espera de conexión predeterminado para Hadoop suele ser de 30 segundos. Puede aumentar este valor añadiendo la opción login_timeout:
caslib hdlib datasource=(
...
login_timeout=60 /* Augmentation du délai à 60 secondes */
...
);
1
caslib hdlib datasource=(
2
...
3
login_timeout=60/* Augmentation du délai à 60 secondes */
4
...
5
);
Aviso importante
Los códigos y ejemplos proporcionados en WeAreCAS.eu son con fines educativos. Es imperativo no copiarlos y pegarlos ciegamente en sus entornos de producción. El mejor enfoque es comprender la lógica antes de aplicarla. Recomendamos encarecidamente probar estos scripts en un entorno de prueba (Sandbox/Dev). WeAreCAS no acepta ninguna responsabilidad por cualquier impacto o pérdida de datos en sus sistemas.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.