Uso del cliente gsql de Linux para conectarse a un clúster
Esta sección describe cómo conectarse a una base de datos a través de un cliente SQL después de crear un clúster de almacén de datos y antes de utilizar la base de datos del clúster. GaussDB(DWS) proporciona el cliente gsql de Linux que coincide con la versión del clúster para que pueda acceder al clúster a través de la dirección de red pública o privada del clúster.
El cliente de línea de comandos gsql proporcionado por GaussDB(DWS) se ejecuta en Linux. Antes de usarlo para conectarse remotamente a un clúster de GaussDB(DWS), debe preparar un servidor Linux para instalar y ejecutar el cliente gsql. Si utiliza una dirección de red pública para acceder al clúster, puede instalar el cliente gsql Linux en su propio servidor Linux. Asegúrese de que el servidor Linux tiene una dirección de red pública. Si no hay EIPs configurados para su clúster GaussDB(DWS), se recomienda crear un ECS de Linux para fines de conveniencia. Para obtener más información, consulte (Opcional) Preparación de un ECS como servidor cliente gsql..
(Opcional) Preparación de un ECS como servidor cliente gsql.
Para obtener más información sobre cómo comprar un ECS, consulte Comprar un ECS en Pasos iniciales de Elastic Cloud Server.
El ECS creado debe cumplir con los siguientes requisitos:
- El clúster de ECS y de almacén de datos debe pertenecer a la misma región y AZ.
- Si utiliza el cliente gsql proporcionado por GaussDB(DWS) para conectarse al clúster GaussDB(DWS), la imagen ECS debe cumplir los siguientes requisitos:
El SO de la imagen debe ser uno de los siguientes Linux OSs compatibles con el cliente gsql:
- El cliente de Redhat x86_64 se puede utilizar en los siguientes SO:
- RHEL 6.4 to RHEL 7.6
- CentOS 6.4 to CentOS 7.4
- EulerOS 2.3
- El cliente de SUSE x86_64 se puede utilizar en los siguientes SO:
- SLES 11.1 to SLES 11.4
- SLES 12.0 to SLES 12.3
- El cliente de Euler Kunpeng_64 se puede utilizar en el siguiente SO:
- EulerOS 2.8
- El cliente de Stream Euler X86_64 se puede utilizar en el siguiente SO:
EulerOS 2.2
- El cliente de Stream Euler Kunpeng_64 se puede usar en el siguiente SO:
- EulerOS 2.8
- El cliente de Redhat x86_64 se puede utilizar en los siguientes SO:
- Si el cliente accede al clúster mediante la dirección de red privada, asegúrese de que el ECS creado esté en la misma VPC que el clúster de GaussDB(DWS).
Para obtener más información sobre las operaciones de VPC, consulte VPC y Subred en la Guía del usuario de Virtual Private Cloud.
- Si el cliente accede al clúster mediante la dirección de red pública, asegúrese de que tanto el clúster creado ECS como GaussDB(DWS) tengan una EIP.
- Las reglas de grupo de seguridad del ECS deben permitir la comunicación entre el ECS y el puerto que el clúster de GaussDB(DWS) utiliza para proporcionar servicios.
Para obtener más información sobre las operaciones del grupo de seguridad, consulte Grupo de seguridad en la Guía del usuario de Virtual Private Cloud.
Asegúrese de que el grupo de seguridad del ECS contenga reglas que cumplan los siguientes requisitos. Si las reglas no existen, agréguelas al grupo de seguridad:
- Transfer Direction: Outbound
- Protocol/Application: El valor debe contener TCP, por ejemplo, TCP y All.
- Port: El valor debe contener el puerto de base de datos que proporciona servicios en el clúster de GaussDB(DWS). Por ejemplo, establezca este parámetro en 1-65535 o un puerto de base de datos específico de GaussDB(DWS).
- Destination: La dirección IP establecida aquí debe contener la dirección IP del clúster de GaussDB(DWS) que se va a conectar. 0.0.0.0/0 indica cualquier dirección IP.
Figura 1 Regla de salida
- Las reglas de grupo de seguridad del clúster de almacén de datos deben garantizar que GaussDB(DWS) pueda recibir solicitudes de acceso a la red de los clientes.
Asegúrese de que el grupo de seguridad del clúster contenga reglas que cumplan los siguientes requisitos. Si las reglas no existen, agréguelas al grupo de seguridad:
- Transfer Direction: Inbound
- Protocol/Application: El valor debe contener TCP, por ejemplo, TCP y All.
- Port: Establezca este parámetro en el puerto de la base de datos que proporciona servicios en el clúster del almacén de datos, por ejemplo, 8000.
- Source: La dirección IP establecida aquí debe contener la dirección IP del servidor cliente de GaussDB(DWS), por ejemplo, 192.168.0.10/32.
Figura 2 Regla de entrada
Descargar el cliente gsql de Linux y conectarse a un clúster
- Descargue el cliente gsql de Linux haciendo referencia a Descargar el cliente de Data Studio y use una herramienta de transferencia de archivos SSH (como WinSCP) para cargar el cliente a un servidor Linux de destino.
Se recomienda descargar la herramienta gsql que coincida con la versión del clúster. Es decir, usar gsql 8.1.x para clústeres de 8.1.0 o posterior, y usar gsql 8.2.x para clústeres de 8.2.0 o posterior. Para descargar gsql 8.2.x, reemplace dws_client_8.1.x_redhat_x64.zip por dws_client_8.2.x_redhat_x64.zip. El dws_client_8.1.x_redhat_x64.zip se utiliza como ejemplo.
El usuario que carga el cliente debe tener el permiso de control total en el directorio de destino en el host en el que se carga el cliente.
Alternativamente, puede gestionar remotamente el servidor Linux donde se va a instalar gsql en modo SSH y ejecutar el siguiente comando en la ventana de comandos de Linux para descargar el cliente gsql de Linux:
1
wget https://obs.ap-southeast-1.myhuaweicloud.com/dws/download/dws_client_8.1.x_redhat_x64.zip --no-check-certificate
- Utilice la herramienta SSH para gestionar de forma remota el host donde está instalado el cliente.
Para obtener más información sobre cómo iniciar sesión en un ECS, consulte Iniciar sesión con una contraseña SSH en la Guía del usuario de Elastic Cloud Server.
- (Opcional) Para conectarse al clúster en modo SSL, configure los parámetros de autenticación SSL en el host donde está instalado el cliente. Para obtener más información, véase Establecimiento de conexiones TCP/IP seguras en modo SSL.
El modo de conexión SSL es más seguro que el modo no SSL. Se recomienda conectar el cliente al clúster en modo SSL.
- Ejecute los siguientes comandos para descomprimir el cliente:
cd <Path for saving the client> unzip dws_client_8.1.x_redhat_x64.zip
En los comandos anteriores:
- <Path_for_storing_the_client>: Reemplazarlo con la ruta real.
- dws_client_8.1.x_redhat_x64.zip: Este es el nombre del paquete de la herramienta cliente de RedHat x86. Sustitúyalo con el nombre real.
- Ejecute el siguiente comando para configurar el cliente GaussDB(DWS):
source gsql_env.sh
Si se muestra la siguiente información, el cliente de GaussDB(DWS) se configura correctamente:
All things done.
- Conéctese a la base de datos en el clúster de GaussDB(DWS) usando el cliente gsql. Reemplace los valores de cada parámetro con valores reales.
gsql -d <Database_name> -h <Cluster_address> -U <Database_user> -p <Database_port> -W <Cluster_password> -r
Los parámetros se describen de la siguiente manera:
- Database_name: Ingrese el nombre de la base de datos que se va a conectar. Si utiliza el cliente para conectarse al clúster por primera vez, introduzca la base de datos predeterminada gaussdb.
- Cluster_address: Para obtener detalles sobre cómo obtener esta dirección, consulte Obtención de la dirección de conexión de clúster. Si se utiliza una dirección de red pública para la conexión, establezca este parámetro en Public Network Address o Public Network Domain Name. Si se utiliza una dirección de red privada para la conexión, establezca este parámetro en Private Network Address o Private Network Domain Name. Si se utiliza ELB para la conexión, establezca este parámetro en ELB Address. Si se utiliza ELB para la conexión, establezca este parámetro en la dirección ELB.
- Database_user: Introduzca el nombre de usuario de la base de datos del clúster. Si utiliza el cliente para conectarse al clúster por primera vez, establezca este parámetro en el administrador predeterminado configurado durante la creación del clúster, por ejemplo, dbadmin.
- Database_port: Ingrese el conjunto de puertos de base de datos durante la creación del clúster.
Por ejemplo, ejecute el siguiente comando para conectarse a la base de datos predeterminada gaussdb en el clúster de GaussDB(DWS):
1
gsql -d gaussdb -h 10.168.0.74 -U dbadmin -p 8000 -W password -r
Si se muestra la siguiente información, la conexión se realizó correctamente:
1
gaussdb=>
Referencia de comandos gsql
Para obtener más información acerca de los comandos gsql, consulte la Guía de herramientas de Data Warehouse Service (DWS).
(Opcional) Importación de datos de muestra de TPC-DS mediante gsql
Los usuarios de GaussDB(DWS) pueden importar datos de fuentes externas a clústeres de almacén de datos. En esta sección se describe cómo importar datos de muestra de OBS a un clúster de almacén de datos y realizar operaciones de consulta y análisis en los datos de muestra. Los datos de la muestra se generan basándose en la prueba de referencia estándar de TPC-DS.
TPC-DS es el punto de referencia para probar el rendimiento del apoyo a la toma de decisiones. Con los datos y casos de prueba de TPC-DS, puede simular escenarios complejos, como estadísticas de conjuntos de big data, generación de informes, consultas en línea y minería de datos, para comprender mejor las funciones y el rendimiento de las aplicaciones de bases de datos.
En la actualidad, los datos de muestra de TPC-DS sólo pueden importarse en la región de la CN North-Beijing1.
- Utilice la herramienta de conexión remota SSH para iniciar sesión en el servidor donde está instalado el cliente gsql y vaya al directorio gsql. El directorio /opt se utiliza como ejemplo para almacenar el cliente gsql.
cd /opt
- Cambie al directorio especificado y establezca el AK y el SK para importar datos de ejemplo y la dirección de acceso de OBS.
1 2
cd sample /bin/bash setup.sh -ak <Access_Key_Id> -sk <Secret_Access_Key> -obs_location obs.ap-southeast-1.myhuaweicloud.com
Si se muestra la siguiente información, la configuración se realiza correctamente:
setup successfully!
<Access_Key_Id> y <Secret_Access_Key>: indican el AK y el SK, respectivamente. Para obtener más información sobre cómo obtener el AK y el SK, consulte Creación de claves de acceso (AK y SK). A continuación, reemplace los parámetros de las instrucciones con los valores obtenidos.
- Vuelva al directorio anterior y ejecute las variables de entorno gsql.
1 2 3
cd .. source gsql_env.sh cd bin
- Importación los datos de muestra al almacén de datos.
Formatos de los comandos:
1
gsql -d <Database name> -h <Public network address of the cluster> -U <Administrator> -p <Data warehouse port number> -f <Path for storing the sample data script> -r
Comando de muestra:
1
gsql -d gaussdb -h 10.168.0.74 -U dbadmin -p 8000 -f /opt/sample/tpcds_load_data_from_obs.sql -r
En el comando anterior, el script de datos de muestra tpcds_load_data_from_obs.sql se almacena en el directorio de ejemplo (por ejemplo, /opt/sample/) del cliente GaussDB(DWS).
Después de introducir la contraseña de administrador y conectarse correctamente a la base de datos en el clúster, el sistema creará automáticamente una tabla externa para asociar los datos de ejemplo fuera del clúster. A continuación, el sistema crea una tabla de destino para guardar los datos de muestra e importa los datos a la tabla de destino usando la tabla externa.
El tiempo necesario para importar un conjunto de datos grande depende de las especificaciones actuales del clúster de GaussDB(DWS). Generalmente, la importación tarda de 10 a 20 minutos. Si se muestra información similar a la siguiente, la importación se realiza correctamente.
1
Time:1845600.524 ms
- En la ventana de comandos de Linux, ejecute los siguientes comandos para cambiar a un directorio específico y consultar los datos de ejemplo:
1 2
cd /opt/sample/query_sql/ /bin/bash tpcds100x.sh
- Introduzca la dirección IP de la red pública del clúster, el puerto de acceso, el nombre de la base de datos, el usuario que accede a la base de datos y la contraseña del usuario según se le solicite.
- El nombre predeterminado de la base de datos es gaussdb.
- Utilice el nombre de usuario y la contraseña del administrador configurados durante la creación del clúster como nombre de usuario y contraseña para acceder a la base de datos.
Una vez completada la consulta, se generará un directorio para almacenar el resultado de la consulta, tal como query_output_20170914_072341, en el directorio de consulta actual, por ejemplo, sample/query_sql/.