Todos os produtos
Search
Central de documentação

Lindorm:Conectar ao LindormTable usando o Lindorm Shell

Última atualização: Jun 28, 2026

O Lindorm Shell é uma ferramenta cliente do HBase que se conecta ao LindormTable por meio da HBase Java API. Utilize-a para criar tabelas, ler e gravar dados e executar operações DDL pela linha de comando. A configuração leva cerca de 5 minutos.

Pré-requisitos

Antes de começar, verifique se você possui:

  • Java Development Kit (JDK) 1.8 ou posterior instalado

  • O endereço IP da máquina cliente adicionado à lista de permissões da sua instância Lindorm. Consulte Configurar uma lista de permissões

Observações de uso

  • O Lindorm Shell suporta apenas operações simples de linguagem de definição de dados (DDL) e leitura/gravação de dados. Para operações não suportadas, consulte Limites da HBase API.

  • Não utilize o Lindorm Shell para acessar wide tables criadas com SQL. Isso pode causar caracteres ilegíveis.

  • O Lindorm Shell é executado em Linux e macOS.

Importante

A execução do Lindorm Shell no Windows pode causar erros ou bibliotecas ausentes. Se isso ocorrer, adicione as bibliotecas necessárias com base nas mensagens de erro.

Conectar ao LindormTable

Etapa 1: Baixe o Lindorm Shell

  1. Faça login no console do Lindorm. No canto superior esquerdo, selecione a região onde sua instância está localizada. Na página Instances, clique em ID da instância desejada.

  2. No painel de navegação à esquerda, clique em Database Connections e, em seguida, clique em aba Wide Table Engine.

  3. Clique em Lindorm Shell Download.

Etapa 2: Extrair o pacote

Execute o comando tar para extrair o pacote baixado. O exemplo a seguir extrai o conteúdo para a pasta alihbase-2.0.18.

tar zxvf hbaseue-shell.tar.gz

Etapa 3: Configure os parâmetros de conexão

  1. Abra o arquivo hbase-site.xml no diretório alihbase-2.0.18/conf.

    vi alihbase-2.0.18/conf/hbase-site.xml
  2. Defina o endpoint, o nome de usuário e a senha:

    Parâmetro

    Descrição

    hbase.zookeeper.quorum

    O endpoint Access By Using HBase Java API para o Wide Table Engine. Utilize o endpoint de VPC se o Lindorm Shell for executado em uma instância ECS na mesma VPC da sua instância Lindorm. Utilize o endpoint público se ele for executado em uma máquina local ou em uma instância ECS em uma VPC diferente.

    hbase.client.username

    O nome de usuário para o LindormTable.

    hbase.client.password

    A senha para o LindormTable. Para redefinir uma senha esquecida, consulte Alterar uma senha de usuário no Sistema de Gerenciamento de Cluster do LindormTable.

    <configuration>
        <property>
            <name>hbase.zookeeper.quorum</name>
            <value>ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30020</value>
        </property>
        <property>
            <name>hbase.client.username</name>
            <value>testuser</value>
        </property>
        <property>
            <name>hbase.client.password</name>
            <value>password</value>
        </property>
    </configuration>

Etapa 4: Iniciar o Lindorm Shell

Execute hbase shell a partir do diretório alihbase-2.0.18/bin:

./hbase shell

Uma conexão bem-sucedida exibe uma saída semelhante a:

Version 2.0.18, r08b8d58a9d6ce89765d5ebe2ddff425aed644c16, Mon Feb  1 12:46:39 CST 2021
Took 0.0034 seconds

Referência do Lindorm Shell

Referência de comandos

Para obter a lista completa de comandos do shell, consulte Apache HBase Shell.

Entrar e sair do shell

Utilize hbase shell para entrar no ambiente do shell:

bin/hbase shell

Utilize quit para sair:

quit

Linguagem de definição de dados (DDL)

Comando

Descrição

create

Crie uma tabela

list

Lista todas as tabelas

describe

Exibe as propriedades e o esquema da tabela

alter

Modifique uma tabela

exists

Verifique se uma tabela existe

disable

Desativa uma tabela (necessário antes de drop ou alter)

is_disabled

Verifique se uma tabela está desativada

enable

Ative uma tabela desativada

is_enabled

Verifique se uma tabela está ativada

drop

Exclua uma tabela desativada

Linguagem de manipulação de dados (DML)

Comando

Descrição

put

Grava um valor em uma célula específica

get

Lê uma linha ou célula específica

scan

Varre uma tabela inteira ou um intervalo de linhas

count

Retorna o número de linhas em uma tabela

delete

Exclua uma célula específica

deleteall

Exclua todas as células em uma linha

truncate_preserve

Exclua todos os dados da tabela preservando as partições de região originais

Exemplos de operação

Criar uma tabela e inserir dados

  1. Utilize create para criar uma tabela. Especifique o nome da tabela e pelo menos um nome de família de colunas.

    create 'table_name', 'column_family_name'

    Exemplo:

    create 'test', 'cf'
  2. Utilize put para inserir linhas. A sintaxe é put 'table', 'rowkey', 'column_family:column', 'value'.

    put 'test', 'row1', 'cf:a', 'value1'
    put 'test', 'row2', 'cf:b', 'value2'
    put 'test', 'row3', 'cf:c', 'value3'
    row1 é a rowkey da tabela test , cf:a especifica o nome da família de colunas e o nome da coluna, e value1 é o valor.

Consultar dados

  • Utilize list para listar todas as tabelas. Passe uma expressão regular opcional para filtrar os resultados.

    list
    list 'abc.*'
    list 'test'
  • Utilize scan para ler todas as linhas de uma tabela ou consultar um intervalo de linhas. Este método é mais lento que get para buscas de linha única.

    scan 'test'

    Resultado:

    ROW                                      COLUMN+CELL
     row1                                    column=cf:a, timestamp=1421762485768, value=value1
     row2                                    column=cf:b, timestamp=1421762491785, value=value2
     row3                                    column=cf:c, timestamp=1421762496210, value=value3
    3 row(s) in 0.0230 seconds
  • Utilize get para recuperar uma única linha pela rowkey.

    get 'test', 'row1'

    Resultado:

    COLUMN                                   CELL
     cf:a                                    timestamp=1421762485768, value=value1
    1 row(s) in 0.0350 seconds

Desativar e ativar uma tabela

Utilize disable antes de modificar ou excluir uma tabela. Utilize enable para restaurá-la posteriormente.

disable 'table_name'
enable 'table_name'

Excluir uma tabela

Utilize drop para excluir uma tabela desativada.

drop 'table_name'

Configurações comuns

Após modificar a configuração, execute describe para verificar se as alterações entraram em vigor:

describe 'table_name'

Definir época de compactação principal

Defina o intervalo de compactação principal para uma família de colunas. A unidade é milissegundos. Evite alterar este valor, a menos que seja necessário.

O exemplo a seguir define o intervalo para 7 dias:

alter 'table_name', {NAME => 'column_family_name', CONFIGURATION => {'hbase.hregion.majorcompaction' => 16800000}}
O valor padrão é Math.Min(TTL, 1,728,000,000 ms) . Sem um TTL, o padrão é 20 dias (1.728.000.000 ms).

Definir compressão de dados

Defina o algoritmo de compressão para uma família de colunas. Recomenda-se o uso de ZSTD.

alter 'table_name', NAME => 'column_family_name', COMPRESSION => 'ZSTD'

Definir codificação de bloco

Defina o tipo de codificação de bloco (DATA_BLOCK_ENCODING) para uma família de colunas.

alter 'table_name', NAME => 'column_family_name', DATA_BLOCK_ENCODING => 'DIFF'

Definir TTL

Defina o tempo de vida (TTL) para uma família de colunas em segundos. Por exemplo, 2.592.000 segundos equivalem a 30 dias.

alter 'table_name', NAME => 'column_family_name', TTL => 2592000

Para reter dados indefinidamente, defina o TTL como FOREVER:

alter 'table_name', {NAME => 'column_family_name', TTL => 'FOREVER'}

Pré-dividir uma tabela

Crie uma tabela com pré-divisão para distribuir os dados uniformemente entre os shards desde o início. Calcule o número de shards com base em 6–8 GB de armazenamento por shard.

create 'table_name', {NAME => 'column_family_name', COMPRESSION => 'snappy'}, {NUMREGIONS => 50, SPLITALGO => 'HexStringSplit'}

Parâmetro

Descrição

NAME

O nome da família de colunas.

COMPRESSION

O algoritmo de compressão. Opções: ZSTD (recomendado), SNAPPY, LZ4. Nenhuma compressão é aplicada por padrão.

NUMREGIONS

O número de shards. Baseie este valor em 6–8 GB por shard.

SPLITALGO

O algoritmo de divisão de partição. HexStringSplit — para rowkeys com prefixo de string hexadecimal. DecimalStringSplit — para rowkeys com prefixo de string decimal. UniformSplit — para rowkeys com prefixo totalmente aleatório.

Próximos passos