Не удалось вызвать Cloud SQL Metastore. При создании кластера dataproc с помощью предварительного изображения

Я использую Spark для вычисления некоторых данных, а затем отправляю их в Hive. Версия Cloud Dataproc - 1.2 с включенным Hive 2.1. Команда слияния в Hive поддерживается только версией 2.2. Поэтому я должен использовать предварительную версию для кластера dataproc. Когда я использую версию 1.2 для кластера dataproc, я могу создать кластер без каких-либо проблем. Я получил эту ошибку "Не удалось вызвать Cloud SQL Metastore" при использовании предварительной версии. Сценарий инициализации находится здесь. Кто-нибудь сталкивался с этой проблемой раньше?

hive-metastore.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install is-enabled hive-metastore
mysql.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable mysql
insserv: warning: current start runlevel(s) (empty) of script `mysql` overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `mysql' overrides LSB defaults (0 1 6).
Created symlink /etc/systemd/system/multi-user.target.wants/cloud-sql-proxy.service → /usr/lib/systemd/system/cloud-sql-proxy.service.
Cloud SQL Proxy installation succeeded
hive-metastore.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install is-enabled hive-metastore
[2018-06-06T12:43:55+0000]: Failed to bring up Cloud SQL Metastore

1 ответ

Решение

Я полагаю, что проблема может заключаться в том, что ваше хранилище мета было инициализировано из более старой версии Dataproc и, следовательно, имеет устаревшую схему.

Если у вас есть отказавший кластер (если нет, создайте новый, как и раньше, вы можете использовать --single-node возможность уменьшить стоимость), затем SSH к главному узлу и обновить схему:

$ gcloud compute ssh my-cluster-m

$ /usr/lib/hive/bin/schematool -dbType mysql -info
Hive distribution version:       2.3.0
Metastore schema version:        2.1.0    <-- you will need this

org.apache.hadoop.hive.metastore.HiveMetaException: Metastore schema version is
not compatible. Hive Version: 2.3.0, Database Schema Version: 2.1.0
*** schemaTool failed ***

$ /usr/lib/hive/bin/schematool -dbType mysql -upgradeSchemaFrom 2.1.0

К сожалению, этот кластер не может быть возвращен в рабочее состояние, поэтому, пожалуйста, удалите и заново создайте его.

Я создал этот PR, чтобы сделать проблему более обнаружимой: https://github.com/GoogleCloudPlatform/dataproc-initialization-actions/pull/278

Другие вопросы по тегам