ページの先頭行へ戻る
Interstage Big Data Parallel Processing Server V1.2.1 拡張機能ガイド
FUJITSU Software

6.1.2 メタデータ格納用データベースの作成

Impalaのメタデータを格納するためのデータベース(以降、メタストアデータベースと記載)の作成方法について説明します。

メタストアデータベースの作成はマスタサーバではなくデータベースサーバで実施してください。

  1. MySQLを使用する場合のメタストアデータベース作成

  2. PostgreSQLを使用する場合のメストアデータベース作成


本製品のImpalaがメタストアデータベースへの接続に利用するDBユーザーには、以下が設定されている必要があります。

ポイント

ここでは、データベース名などの情報を、以下の構成を例として説明します。実際にセットアップする際には、ご使用の環境の構成に読み替えてください。

データベース名

metastore

DBユーザー名

impala

DBユーザーのパスワード

impala_password

マスタサーバ(プライマリ)

master1

マスタサーバ(セカンダリ)

master2

注意

Hiveなどですでに運用中のメタストアデータベースをそのまま利用する場合は、データベースを作成する必要はありません。


6.1.2.1 MySQLを使用する場合のメタストアデータベース作成

MySQLを使用する場合のメタストアデータベースの作成手順を以下に示します。

  1. マスタサーバ上に格納されているデータベース作成用DDLファイルをデータベースサーバ上の任意のディレクトリにコピーします。

    # scp -p root@master1:/opt/FJSVbdpp/ext/hive-metastore/scripts/metastore/upgrade/mysql/hive-schema-0.13.0.mysql.sql /tmp/hive-schema-0.13.0.mysql.sql <Enter>
  2. MySQLに接続します。

    # mysql -u root -p <Enter>
    Enter password: (MySQLの管理者パスワード)
  3. データベースとスキーマを作成します。

    mysql> CREATE DATABASE metastore; <Enter>
    mysql> USE metastore; <Enter>
    mysql> SOURCE /tmp/hive-schema-0.13.0.mysql.sql; <Enter>
    ・・・
  4. マスタサーバ(プライマリ)からメタストアデータベースに接続するためのDBユーザーを作成します。

    mysql> CREATE USER 'impala'@'master1' IDENTIFIED BY 'impala_password'; <Enter>
    mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'impala'@'master1'; <Enter>
    mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,LOCK TABLES,EXECUTE ON metastore.* TO 'impala'@'master1'; <Enter>
    mysql> FLUSH PRIVILEGES; <Enter>
  5. マスタサーバ(セカンダリ)からメタストアデータベースに接続するためのDBユーザーを作成します。(マスタサーバを二重化構成にする場合のみ

    mysql> CREATE USER 'impala'@'master2' IDENTIFIED BY 'impala_password'; <Enter>
    mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'impala'@'master2'; <Enter>
    mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,LOCK TABLES,EXECUTE ON metastore.* TO 'impala'@'master2'; <Enter>
    mysql> FLUSH PRIVILEGES; <Enter>

6.1.2.2 PostgreSQLを使用する場合のメタストアデータベース作成

PostgreSQLを使用する場合のメタストアデータベースの作成手順を以下に示します。

  1. マスタサーバ上に格納されているデータベース作成用DDLファイルをデータベースサーバ上の任意のディレクトリにコピーします。

    # scp -p root@master1:/opt/FJSVbdpp/ext/hive-metastore/scripts/metastore/upgrade/postgres/hive-schema-0.13.0.postgres.sql /tmp/hive-schema-0.13.0.postgres.sql <Enter>
  2. PostgreSQLに接続します。

    # sudo -u postgres psql <Enter>
  3. メタストアデータベースとDBユーザーを作成します。

    postgres=# CREATE USER impala WITH PASSWORD 'impala_password'; <Enter>
    postgres=# CREATE DATABASE metastore; <Enter>
    postgres=# \c metastore; <Enter>
    You are now connected to database 'metastore'.
    metastore=# \i /tmp/hive-schema-0.13.0.postgres.sql <Enter>
    ...
  4. 作成したDBユーザーに権限を付与します。

    metastore=# \pset tuples_only on <Enter>
    metastore=# \o /tmp/grant-privs <Enter>
    metastore=#   SELECT 'GRANT SELECT,INSERT,UPDATE,DELETE ON "'  || schemaname || '". "' ||tablename ||'" TO impala ;' FROM pg_tables WHERE tableowner = CURRENT_USER and schemaname = 'public'; <Enter>
    metastore=# \o <Enter>
    metastore=# \pset tuples_only off <Enter>
    metastore=# \i /tmp/grant-privs <Enter>