Uso do cliente gsql de Linux para conectar-se a um cluster
Esta seção descreve como se conectar a um banco de dados por meio de um cliente SQL depois de criar um cluster de armazém de dados e antes de usar o banco de dados do cluster. O GaussDB(DWS) fornece o cliente gsql de Linux que corresponde à versão do cluster para que você acesse o cluster por meio do endereço de rede pública ou privada do cluster.
O cliente de linha de comando gsql fornecido pelo GaussDB(DWS) é executado no Linux. Antes de usá-lo para se conectar remotamente a um cluster do GaussDB(DWS), você precisa preparar um servidor Linux para instalar e executar o cliente gsql. Se você usar um endereço de rede pública para acessar o cluster, poderá instalar o cliente gsql de Linux em seu próprio servidor Linux. Certifique-se de que o servidor Linux tenha um endereço de rede público. Se nenhum EIPs estiver configurado para o cluster do GaussDB(DWS), é recomendável criar um ECS de Linux para fins de conveniência. Para obter mais informações, consulte (Opcional) Preparar um ECS como o servidor do cliente gsql.
(Opcional) Preparar um ECS como o servidor do cliente gsql
Para obter detalhes sobre como comprar um ECS, consulte "Compra de um ECS" em Primeiros passos do Elastic Cloud Server.
O ECS criado deve atender aos seguintes requisitos:
- O ECS e o cluster de armazém de dados devem pertencer à mesma região e AZ.
- Se você usar o cliente gsql fornecido pelo GaussDB(DWS) para se conectar ao cluster do GaussDB(DWS), a imagem ECS deverá atender aos seguintes requisitos:
O sistema operacional da imagem deve ser um dos seguintes sistemas operacionais Linux suportados pelo cliente gsql:
- O cliente Redhat x86_64 pode ser usado nos seguintes sistemas operacionais:
- RHEL 6.4 a RHEL 7.6
- CentOS 6.4 a CentOS 7.4
- EulerOS 2.3
- O cliente SUSE x86_64 pode ser usado nos seguintes sistemas operacionais:
- SLES 11.1 a SLES 11.4
- SLES 12.0 a SLES 12.3
- O cliente Euler Kunpeng_64 pode ser usado no seguinte sistema operacional:
- EulerOS 2.8
- O cliente Stream Euler x86_64 pode ser usado no seguinte sistema operacional:
EulerOS 2.2
- O cliente Stream Euler Kunpeng_64 pode ser usado no seguinte sistema operacional:
- EulerOS 2.8
- O cliente Redhat x86_64 pode ser usado nos seguintes sistemas operacionais:
- Se o cliente acessar o cluster usando o endereço de rede privada, verifique se o ECS criado está na mesma VPC que o cluster do GaussDB(DWS).
Para obter detalhes sobre as operações de VPC, consulte VPC e sub-rede no Guia de usuário da Virtual Private Cloud.
- Se o cliente acessar o cluster usando o endereço de rede pública, certifique-se de que o cluster ECS e GaussDB(DWS) criado tenham um EIP.
- As regras de grupo de segurança do ECS devem permitir a comunicação entre o ECS e a porta que o cluster do GaussDB(DWS) usa para fornecer serviços.
Para obter detalhes sobre as operações de grupo de segurança, consulte Grupo de segurança no Guia de usuário da Virtual Private Cloud.
Certifique-se de que o grupo de segurança do ECS contém regras que atendem aos seguintes requisitos. Se as regras não existirem, adicione-as ao grupo de segurança:
- Transfer Direction: Outbound
- Protocol/Application: o valor deve conter TCP, por exemplo, TCP e All.
- Port: o valor deve conter a porta do banco de dados que fornece serviços no cluster do GaussDB(DWS). Por exemplo, defina este parâmetro como 1-65535 ou uma porta de banco de dados GaussDB(DWS) específica.
- Destination: o endereço IP definido aqui deve conter o endereço IP do cluster do GaussDB(DWS) a ser conectado. 0.0.0.0/0 indica qualquer endereço IP.
Figura 1 Regra de saída
- As regras de grupo de segurança do cluster de armazém de dados devem garantir que o GaussDB(DWS) possa receber solicitações de acesso à rede dos clientes.
Certifique-se de que o grupo de segurança do cluster contém regras que atendem aos seguintes requisitos. Se as regras não existirem, adicione-as ao grupo de segurança:
- Transfer Direction: Inbound
- Protocol/Application: o valor deve conter TCP, por exemplo, TCP e All.
- Port: defina esse parâmetro para a porta do banco de dados que fornece serviços no cluster de armazém de dados, por exemplo, 8000.
- Source: o endereço IP definido aqui deve conter o endereço IP do servidor do cliente do GaussDB(DWS), por exemplo, 192.168.0.10/32.
Figura 2 Regra de entrada
Baixar o cliente gsql de Linux e conectar-se a um cluster
- Faça o download do cliente gsql do Linux consultando Baixa do cliente do Data Studio e use uma ferramenta de transferência de arquivos SSH (como o WinSCP) para carregar o cliente em um servidor Linux de destino.
É aconselhável baixar a ferramenta gsql que corresponde à versão do cluster. Ou seja, use gsql 8.1.x para clusters de 8.1.0 ou posterior e use gsql 8.2.x para clusters de 8.2.0 ou posterior. Para baixar o gsql 8.2.x, substitua dws_client_8.1.x_redhat_x64.zip por dws_client_8.2.x_redhat_x64.zip. O arquivo dws_client_8.1.x_redhat_x64.zip é usado como exemplo.
O usuário que carrega o cliente deve ter a permissão de controle total no diretório de destino no host para o qual o cliente é carregado.
Como alternativa, você pode gerenciar remotamente o servidor Linux onde o gsql deve ser instalado no modo SSH e executar o seguinte comando na janela de comando do Linux para baixar o cliente gsql do Linux:
1
wget https://obs.ap-southeast-1.myhuaweicloud.com/dws/download/dws_client_8.1.x_redhat_x64.zip --no-check-certificate
- Use a ferramenta SSH para gerenciar remotamente o host onde o cliente está instalado.
Para obter detalhes sobre como fazer logon em um ECS, consulte Logon usando uma senha SSH no Guia de usuário do Elastic Cloud Server.
- (Opcional) Para se conectar ao cluster no modo SSL, configure os parâmetros de autenticação SSL no host em que o cliente está instalado. Para mais detalhes, consulte Estabelecimento de conexões TCP/IP seguras no modo SSL.
O modo de conexão SSL é mais seguro do que o modo não SSL. É aconselhável ligar o cliente ao cluster no modo SSL.
- Execute os seguintes comandos para descomprimir o cliente:
cd <Path for saving the client> unzip dws_client_8.1.x_redhat_x64.zip
Nos comandos anteriores:
- <Path_for_storing_the_client>: substitua-o pelo caminho real.
- dws_client_8.1.x_redhat_x64.zip: esse é o nome do pacote da ferramenta de cliente RedHat x86. Substitua-o pelo nome real.
- Execute o seguinte comando para configurar o cliente GaussDB(DWS):
source gsql_env.sh
Se as seguintes informações forem exibidas, o cliente GaussDB(DWS) será configurado com êxito:
All things done.
- Conecte-se ao banco de dados no cluster do GaussDB(DWS) usando o cliente gsql. Substitua os valores de cada parâmetro por valores reais.
gsql -d <Database_name> -h <Cluster_address> -U <Database_user> -p <Database_port> -W <Cluster_password> -r
Os parâmetros são descritos a seguir:
- Database_name: informe o nome do banco de dados a ser conectado. Se você usar o cliente para se conectar ao cluster pela primeira vez, insira o banco de dados gaussdb padrão.
- Cluster_address: para obter detalhes sobre como obter o endereço, consulte Obtenção do endereço de conexão do cluster. Se um endereço de rede pública for usado para conexão, defina esse parâmetro como Public Network Address ou Public Network Domain Name. Se um endereço de rede privada for usado para conexão, defina esse parâmetro como Private Network Address ou Private Network Domain Name. Se o ELB for usado para conexão, defina esse parâmetro como ELB Address. Se ELB for usado para conexão, defina esse parâmetro como o endereço do ELB.
- Database_user: insira o nome de usuário do banco de dados do cluster. Se você usar o cliente para se conectar ao cluster pela primeira vez, defina esse parâmetro como o administrador padrão configurado durante a criação do cluster, por exemplo, dbadmin.
- Database_port: insira o conjunto de portas do banco de dados durante a criação do cluster.
Por exemplo, execute o seguinte comando para se conectar ao banco de dados padrão gaussdb no cluster do GaussDB(DWS):
1
gsql -d gaussdb -h 10.168.0.74 -U dbadmin -p 8000 -W password -r
Se as informações a seguir forem exibidas, a conexão foi bem-sucedida.
1
gaussdb=>
Referência de comandos gsql
Para obter mais informações sobre os comandos gsql, consulte o Guia de ferramenta do Data Warehouse Service (DWS).
(Opcional) Importar dados de amostra TPC-DS usando gsql
Os usuários do GaussDB(DWS) podem importar dados de fontes externas para clusters de armazém de dados. Esta seção descreve como importar dados de amostra do OBS para um cluster de armazém de dados e executar operações de consulta e análise nos dados de amostra. Os dados da amostra são gerados com base no teste de referência padrão TPC-DS.
O TPC-DS é a referência para testar o desempenho do suporte à decisão. Com os dados e casos de teste do TPC-DS, você pode simular cenários complexos, como estatísticas de grandes conjuntos de dados, geração de relatórios, consulta on-line e mineração de dados, para entender melhor as funções e o desempenho dos aplicativos de banco de dados.

Atualmente, os dados da amostra TPC-DS podem ser importados apenas na região CN North-Beijing1.
- Use a ferramenta de conexão remota SSH para fazer logon no servidor onde o cliente gsql está instalado e vá para o diretório gsql. O diretório /opt é usado como um exemplo para armazenar o cliente gsql.
cd /opt
- Alterne para o diretório especificado e defina o AK e a SK para importar dados de exemplo e o endereço de acesso do 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
Se as informações a seguir forem exibidas, a configuração foi bem-sucedida:
setup successfully!
<Access_Key_Id> and <Secret_Access_Key>: indicate the AK and SK, respectively. Para obter detalhes sobre como obter o AK e a SK, consulte Criação de chaves de acesso (AK e SK). Em seguida, substitua os parâmetros nas declarações com os valores obtidos.
- Volte para o diretório anterior e execute as variáveis de ambiente gsql.
1 2 3
cd .. source gsql_env.sh cd bin
- Importe os dados de amostra para o armazém de dados.
Formato do comando:
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
Exemplo de comando:
1
gsql -d gaussdb -h 10.168.0.74 -U dbadmin -p 8000 -f /opt/sample/tpcds_load_data_from_obs.sql -r
No comando anterior, o script de dados de exemplo tpcds_load_data_from_obs.sql é armazenado no diretório de exemplo (por exemplo, /opt/sample/) do cliente GaussDB(DWS).
Depois que você digitar a senha de administrador e se conectar com êxito ao banco de dados no cluster, o sistema criará automaticamente uma tabela externa para associar os dados de exemplo fora do cluster. Em seguida, o sistema cria uma tabela de destino para salvar os dados de exemplo e importa os dados para a tabela de destino usando a tabela estrangeira.
O tempo necessário para importar um grande conjunto de dados depende das especificações atuais do cluster do GaussDB(DWS). Geralmente, a importação leva cerca de 10 a 20 minutos. Se informações semelhantes às seguintes forem exibidas, a importação será bem-sucedida.
1
Time:1845600.524 ms
- Na janela de comandos do Linux, execute os seguintes comandos para alternar para um diretório específico e consultar os dados de exemplo:
1 2
cd /opt/sample/query_sql/ /bin/bash tpcds100x.sh
- Digite o endereço IP da rede pública do cluster, a porta de acesso, o nome do banco de dados, o usuário que acessa o banco de dados e a senha do usuário, conforme solicitado.
- O nome padrão do banco de dados é gaussdb.
- Use o nome de usuário e a senha do administrador configurados durante a criação do cluster como nome de usuário e senha para acessar o banco de dados.
Após a conclusão da consulta, um diretório para armazenar o resultado da consulta, como query_output_20170914_072341, será gerado no diretório de consulta atual, por exemplo, sample/query_sql/.