не в состоянии создать таблицу в куду, используя impala-shell - PullRequest
0 голосов
/ 03 июля 2018

Я занимался исследованиями и разработками для хадупа, улья, импалы и куду. Установленные серверы HADOOP, HIVE, IMPALA и KUDU.

Я настроил --kudu_master_hosts =: в / etc / default -> файл impala. то есть, как показано ниже:

IMPALA_SERVER_ARGS=" \
    -log_dir=${IMPALA_LOG_DIR} \
    -catalog_service_host=${IMPALA_CATALOG_SERVICE_HOST} \
    -state_store_port=${IMPALA_STATE_STORE_PORT} \
    -use_statestore \
    -state_store_host=${IMPALA_STATE_STORE_HOST} \
    -be_port=${IMPALA_BACKEND_PORT}\
    --kudu_master_hosts=<HOST_NAME>:<PORT>"

============== После этого перезапустил серверы. Затем, используя клиент Kudu JAVA, я смог создать таблицу в kudu и вставить несколько записей.

Затем сопоставил ту же таблицу в импале, выполнив следующее:

CREATE EXTERNAL TABLE my_mapping_table
STORED AS KUDU
TBLPROPERTIES (
  'kudu.table_name' = 'testT1'
);

успешно может получить доступ к таблице куду в Impala и может видеть все записи. Теперь я пытался создать таблицу в KUDU, используя impala-shell.

[<HOST_NAME>:21000] > CREATE TABLE my_first_table
                               > (
                               >   id BIGINT,
                               >   name STRING,
                               >   PRIMARY KEY(id)
                               > )
                               > STORED AS KUDU;

Но это выдает ошибку, т. Е.

ERROR: ImpalaRuntimeException: Error creating Kudu table 'impala::default.my_first_table'
CAUSED BY: NonRecoverableException: Not enough live tablet servers to create a table with the requested replication factor 3. 1 tablet servers are alive.

Может ли кто-нибудь объяснить мне, что происходит или как решить эту ошибку.

Прочитайте документацию KUDU, но не получите никаких идей.

С уважением, Акшай

1 Ответ

0 голосов
/ 12 июля 2018

Этот запрос поможет создать таблицу, т.е.

CREATE TABLE emp
(
  uname STRING,
  age INTEGER,
  PRIMARY KEY(uname)
)
STORED AS KUDU
TBLPROPERTIES (
  'kudu.num_tablet_replicas' = '1'
);

Этот запрос будет работать только в том случае, если --kudu_master_hosts =: установлен в файле импалы / etc / default. Иначе вы должны указать kudu_master_hosts в свойствах таблицы. то есть

TBLPROPERTIES (
      'kudu.num_tablet_replicas' = '1',
       --kudu_master_hosts=<HOST_NAME>:<PORT>
    );
...