2019年7月19日金曜日

Druidインストール後、Druid Coordinatorが起動失敗

  • このエントリーをはてなブックマークに追加


Druidインストール後、Druid Coordinatorが起動失敗

HDP 3.1にDruidを追加し、起動したところ、Druid Coordinatorが以下のエラーにより起動失敗しています。

エラーログ

2019-07-19T14:35:13,842 WARN [main] io.druid.metadata.SQLMetadataConnector - Exception creating table
org.skife.jdbi.v2.exceptions.CallbackFailedException: io.druid.java.util.common.ISE: Database default character set is not UTF-8.
  Druid requires its MySQL database to be created using UTF-8 as default character set.
        at org.skife.jdbi.v2.DBI.withHandle(DBI.java:284) ~[jdbi-2.63.1.jar:2.63.1]
        at io.druid.metadata.SQLMetadataConnector$2.call(SQLMetadataConnector.java:135) ~[druid-server-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.java.util.common.RetryUtils.retry(RetryUtils.java:63) ~[java-util-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.java.util.common.RetryUtils.retry(RetryUtils.java:81) ~[java-util-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.metadata.SQLMetadataConnector.retryWithHandle(SQLMetadataConnector.java:139) ~[druid-server-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.metadata.SQLMetadataConnector.retryWithHandle(SQLMetadataConnector.java:148) ~[druid-server-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.metadata.SQLMetadataConnector.createTable(SQLMetadataConnector.java:189) [druid-server-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.metadata.SQLMetadataConnector.createRulesTable(SQLMetadataConnector.java:287) [druid-server-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.metadata.SQLMetadataConnector.createRulesTable(SQLMetadataConnector.java:553) [druid-server-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.metadata.SQLMetadataRuleManagerProvider$1.start(SQLMetadataRuleManagerProvider.java:71) [druid-server-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.java.util.common.lifecycle.Lifecycle.start(Lifecycle.java:311) [java-util-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.guice.LifecycleModule$2.start(LifecycleModule.java:134) [druid-api-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.cli.GuiceRunnable.initLifecycle(GuiceRunnable.java:101) [druid-services-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.cli.ServerRunnable.run(ServerRunnable.java:50) [druid-services-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.cli.Main.main(Main.java:116) [druid-services-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
Caused by: io.druid.java.util.common.ISE: Database default character set is not UTF-8.
  Druid requires its MySQL database to be created using UTF-8 as default character set.
        at io.druid.metadata.storage.mysql.MySQLConnector.tableExists(MySQLConnector.java:174) ~[?:?]
        at io.druid.metadata.SQLMetadataConnector$4.withHandle(SQLMetadataConnector.java:195) ~[druid-server-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at io.druid.metadata.SQLMetadataConnector$4.withHandle(SQLMetadataConnector.java:191) ~[druid-server-0.12.1.3.1.0.0-78.jar:0.12.1.3.1.0.0-78]
        at org.skife.jdbi.v2.DBI.withHandle(DBI.java:281) ~[jdbi-2.63.1.jar:2.63.1]
        ... 14 more
2019-07-19T14:35:13,846 ERROR [main] io.druid.cli.CliCoordinator - Error when starting up.  Failing.
org.skife.jdbi.v2.exceptions.CallbackFailedException: org.skife.jdbi.v2.exceptions.UnableToExecuteStatementException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'druid.druid_rules' doesn
't exist [statement:"SELECT id from druid_rules where datasource=:dataSource", located:"SELECT id from druid_rules where datasource=:dataSource", rewritten:"SELECT id from druid_rules where datasource=?", arg
uments:{ positional:{}, named:{dataSource:'_default'}, finder:[]}]

MySqlの文字コードがUTF-8ではないため、テーブルが見つからない というようなエラー

早速MySqlでdatabase(druid)の文字コードを変更してみます。

alter database druid character set utf8 collate utf8_general_ci;
use druid;
show variables like "character_set_database";
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| character_set_database | utf8  |
+------------------------+-------+
1 row in set (0.00 sec)

これで起動成功しました。