Требование:
У нас есть требование включить Spark Thrift Server с высокой доступностью, поскольку у нас есть инструмент отчетности, настроенный на интерфейс JDBC, предоставляемый сервером Spark Thrift, для генерации отчетов.
Настройка кластера:
Итак, мы настроили наш кластер с сервером Spark Thrift на двух компьютерах, используя кластер MySQL NDB (данные, реплицированные между компьютерами MySQL), в качестве базы данных метастаза. MySQL NDB кластер гарантирует, что оба Spark Thrift Server работают с одними и теми же данными путем репликации данных. HAProxy используется для балансировки трафика между Spark Thrift Server из инструмента создания отчетов.
Наблюдение:
Теперь, когда мы запускаем сервер Spark Thrift на обеих машинах, мы видим, что они создаюттаблицы с INNODB в качестве механизма хранения, а не NDB, который настроен в my.cnf. В связи с этим база данных, созданная в Spark, не видна для другого сервера Spark Thrift.
Запрос:
- Существует ли возможность настроить сервер Thrift насоздавать таблицы с NDB в качестве механизма хранения, настроенного в файле my.cnf?
- Если нет, мы думаем об изменении механизма хранения таблиц после их создания. Но мы видим, что сервер Thrift создает таблицы в MySQL на основе запросов. Итак, хотелось бы понять, можем ли мы получить полный список таблиц, которые Thrift Server может создать в metastore заранее? Чтобы мы могли предварительно создать эти таблицы с необходимым механизмом хранения.
Версия: Spark 2.1.0 | RHEL 7.4 | MySQL NDB Cluster 7.6.10