Я пытаюсь выполнить запрос куста с помощью клиента sql flink и изменить файл sql-client-defaults.yaml.
выберите тип выполнения в режиме batch
как:
исполнение:
planner: blink
type: batch
определите каталог улья и установите текущий каталог как hive
каталоги:
- name: myhive
type: hive
hive-conf-dir: /software/apache-hive-2.3.7-bin/conf/
default-database: default
Затем я запускаю клиент sql с помощью:
sql-client.sh embedded
Я мог видеть базы данных и таблицы улья.
Затем я делаю следующие таблицы;
use testdb; ---success
select * from t1 limit 10; ---fail
Второй шаг не выполняется со следующим исключением:
Flink SQL> select * from t1;
2020-12-21 11:33:27,755 WARN org.apache.hadoop.hive.conf.HiveConf [] - HiveConf of name hive.metastore.local does not exist
2020-12-21 11:33:28,599 INFO org.apache.hadoop.mapred.FileInputFormat [] - Total input paths to process : 1
[ERROR] Could not execute SQL statement. Reason:
java.net.ConnectException: Connection refused
Я бы спросил, как исправить исключение connection refused
Спасибо.
ОБНОВЛЯТЬ:
После запуска автономного кластера flink запрос завершается успешно. я бы спросил
почему я должен запускать автономный кластер flink, я думал, что он работает в локальном режиме (у меня есть клиент sql с sql-client.sh embedded
)
Могу ли я использовать клиент sql в кластере пряжи?
Клиент sql полагается на возможность отправить запрос в кластер. «Встроенный» относится к этой архитектуре,
где исполнитель SQL встроен в клиент SQL. Но кластер Flink по-прежнему является внешним по отношению к клиенту SQL. См. FLIP-24, чтобы узнать больше об этом.
Для подключения SQL-клиента к нелокальному кластеру в SQL-клиенте YAML есть раздел развертывания. Вы можете использовать обычные параметры запуска flink и настроить, например. ваш кластер сеансов YARN. См. также Клиент Flink SQL подключается к нелокальному кластеру.