事前条件

MariaDB ColumnStoreのGAバージョンでは、ColumnStoreのバイナリやRPMをインストールする前に、別のMariaDB ServerやMySQLがインストールされていないよう注意してください。もし既にインストールされている場合、以降の処理の前に、アンインストールしてください。

Contents

  1. 事前条件
    1. 構成の準備
      1. OS情報
      2. システム管理情報
      3. ネットワーク構成
    2. MariaDB ColumnStoreのポートの使用
    3. ストレージとデータベースファイル (DBRoots)
      1. ローカルデータファイル
      2. SANにマウントしているデータベースファイル
    4. パフォーマンス最適化の考慮
      1. GbE NIC 設定
    5. システム設定の考慮
      1. umask設定
    6. ファイアーウォールの設定
  2. パッケージ依存性
    1. Boostライブラリ
    2. その他のパッケージについて
    3. Centos 6/7
    4. Ubuntu 16
    5. Debian 8
    6. SUSE 12
  3. ダウンロード/インストールの最初の選択について
  4. ルートユーザーによるインストール
    1. MariaDB ColumnStore RPMをダウンロードしてインストール
    2. MariaDB ColumnStoreのバイナリパッケージをダウンロードしてインストール
    3. MariaDB ColumnStore DEB パッケージをダウンロードしてインストール
  5. rootでないユーザーによるインストール
    1. (rootユーザーで)rootでないユーザーを作成し、同名のグループを作成
    2. (rootユーザーで)sudo設定を更新
    3. (rootユーザーで)ユーザーファイル制限を更新
    4. (rootユーザーで)マウントしたSANを使用している場合にfstabを修正
    5. (rootユーザーで)必要に応じて既存のColumnStoreをアンインストール
    6. (rootユーザーで)MariaDB ColumnStoreが書き込みできるよう、対象ディレクトリのパーミッションを更新
    7. (rootでないユーザーで)インストールを実行
    8. (rootユーザーで)Defaultファイルを設定
    9. (rootユーザーで)インストール後
  6. ColumnStore Cluster テストツール
  7. ColumnStore 設定、インストールツール

構成の準備

MariaDB ColumnStoreをインストールする前にいくつかの準備が必要です。以下の事項についてインストール前に決めてください。それぞれの詳細については、MariaDB ColumnStoreのアーキテクチャのドキュメントを参照してください。

  • いくつのUser Modules (UMs) が必要ですか?
  • いくつのPerformance Modules (PMs)が必要ですか?
  • どれくらいのdiskスペースが必要ですか?
OS情報

MariaDB ColumnStoreは以下のOSでの動作をサポートしています:

  • RHEL/CentOS v6, v7
  • Ubuntu 16.04 LTS
  • Debian v8
  • SUSE 12

そして最新のLinuxで動作させるようにしてください。

また、マルチノードシステムを構築する場合は、全てのノードで同じOSをインストールしてください。 さらに、ロケールの設定も全ノードで同じにしてください。

ロケールをen_USとUTF-8に設定するには、以下のように実行します。

# localedef -i en_US -f UTF-8 en_US.UTF-8
システム管理情報

MariaDB ColumnStoreインストール前にシステム管理者から入手しておく情報は以下の通りです。

  • 各ノードにあるインターフェースのホスト名(オプション)
  • 各ノードにあるインターフェースのIPアドレス
  • rootやroot以外のパスワード (全ノードはrootやroot以外のユーザーに対して、同じsshキー、同じパスワードが設定されている必要があります)。MariaDB ColumnStoreはrootでもroot以外のユーザーでもインストール可能です。

3台のPM、1台のUMの場合の例を以下に示します。以下の操作は、PM1上で必要な操作になり、同様の操作が全PMで必要となります。

[root@pm- 1 ~] $ ssh-keygen
[root@pm- 1 ~] $ ssh-copy-id -i ~/.ssh/id_rsa.pub pm-1
[root@pm- 1 ~] $ ssh-copy-id -i ~/.ssh/id_rsa.pub pm-2
[root@pm- 1 ~] $ ssh-copy-id -i ~/.ssh/id_rsa.pub pm-3
[root@pm- 1 ~] $ ssh-copy-id -i ~/.ssh/id_rsa.pub um-1
ネットワーク構成

MariaDB ColumnStoreはネットワーク構成に対して非常にフレキシブルです。 いくつかのオプションを以下に示します。

  • UMとPM間のネットワークは、複数のプライベートなVLANにより構成可能です。 この場合、MariaDB ColumnStoreは自動的に個々のLANをまとめて扱い、UMとPMの間で効果的なバンド幅が得られるように動作します。
  • PMは公開されたLANのアクセスは必要なく、UMとのみ通信可能であれば問題ありません。
  • UMは少なくとも一つのMySQL Serverフロントエンドへ接続できる必要がありますが、PMとの接続とは分離することが可能です。
  • MySQL Serverフロントエンドの全てのセキュリティ機能を使用可能です。規定では、3306番のポートで待ち受けています。
  • MariaDB ColumnStoreはTCP/IPレベルの層へのみアクセスするため、物理レイヤーの選択は自由に行うことができます。

MariaDB ColumnStoreのポートの使用

MariaDB ColumnStoreデーモンは3306番のポートを使用します。 また、以下のポートも利用します。

8600 - 8622, 8700, 8800

ストレージとデータベースファイル (DBRoots)

DBRootは、MariaDB ColumnStoreがデータを置くコンテナやディレクトリを指します。例えば、インストールディレクトリには、/usr/local/mariadb/columnstore/data<N>というフォルダがありますが、このNはdbroot番号です。

注意:extX、NFSなどのストレージを使うときは、MariaDBフロントエンドデータやDBRootバックエンドデータファイルのみがマウントされるようセットアップしてください。/usr/local/mariadb や /usr/local/mariadb/columnstore などのシステムが配置されるディレクトリ全体をマウントしないでください。

以下のディレクトリはマウントしても問題ありません。

  • /usr/local/mariadb/columnstore/mysql/db
    (フロントエンドスキーマやColumnStore以外のデータ(オプショナル))
  • /usr/local/mariadb/columnstore/dataX
    (DBroots。Columnstoreのデータ)
ローカルデータファイル

データベースファイルの保存にローカルディスクを使うのであれば、DBRootディレクトリはインストールディレクトリ以下に作成されます。例えば、/usr/local/mariadb/columnstore/data<N> となります。 システム構成時には、1 Performance Moduleごとに1つのDBRootを設定する必要があります。

Dataにはソフトリンクを使用してください。もし、ローカルディスクの空き容量の制限などで難しい場合、外部ストレージを使用することが可能です。 mariadb/columnstore/data や mariadb/columnstore/dataXのようなDataディレクトリレベルでソフトリンクを設定することを推奨します。このセットアップ中には、パッケージのアップグレードを、rpmやバイナリから実行することができます。 もし、/usr/local/mariadbのような最上位の階層に対してソフトリンクを設定しなければならない場合には、バイナリパッケージを使用してインストールしてください。rpmを使用したインストールでは、アップグレード実施時に、ソフトリンクが削除されアップグレードも失敗するという障害が発生します。

SANにマウントしているデータベースファイル

データベースファイルの保存にSANを使う場合、次のことを考慮する必要があります。

  • 各DBRootは別々のパーティションやディレクトリに設定します。
  • 1つのPerformance Moduleに複数のDBRootをアサインし、Performance Moduleごとに異なる数のDBRootを設定しているかもしれませんが、全てのPerformance Moduleに同じ数、同じサイズのストレージを割り当てることを推奨します。例として、1つのPerformance Moduleに2つのストライピングされていない別々のデバイスを割り当てていた場合には、2つのDBRootを1つのPerformance Moduleに割り当て、/etc/fstabに2つのマウントを設定します。
  • MariaDB ColumnStoreはほとんどのLinuxファイルシステムで動作し、EXT2上でのテストを重点的に行っています。EXT3やEXT4でも問題はないはずですが、データベースアプリケーションにおいてこれらのファイルシステムのジャーナリングは不可の大きいものとなります。 選択したファイルシステムの書き込み特性を慎重に評価し、特定のビジネスニーズを満たすことを確認する必要があります。 いずれにせよ、MariaDB ColumnStoreは比較的少数の非常に大きなファイル (64MB) を書き込みます。 Linuxシステム管理者に相談して、選択したファイルシステムでデフォルトよりも大きなinode単位の設定を行うかどうかを必要に応じて確認してください。
  • MariaDB ColumnStoreは、SANストレージデバイスを使用しているときにパフォーマンスモジュールがダウンした場合の高可用性フェイルオーバーをサポートします。 サポートするようにシステムをセットアップするには、すべてのSANデバイスをパフォーマンスモジュールにマウントする必要があります。したがって、2つのパフォーマンスモジュールがあり、それぞれに1つのSANデバイスがあるシステムでは、1つのパフォーマンスモジュールがオフラインになると、システムは自動的にこれを検出し、SANデバイスをダウンしたモジュールから1つのアクティブなパフォーマンスモジュールに再マウントします。また、そのモジュールがオフラインのままでも実行可能です。
  • fstabファイルを必ず設定してください (/etc/fstab)。エントリは、すべてのPMで使用されているすべてのDBRootを、各PMに追加する必要があります。'noauto'オプションは、すべてのDBRootがすべてのPMに関連付けられますが、サーバーの起動時には自動的にはマウントされないことを示します。各PMに割り当てられたDBRootは、ColumnStoreの起動時にそのPMに固有にマウントされます。

次の例は、全てのPMに対して2つのDBRooを割り当てており、任意のストレージタイプを設定することが可能です。

/dev/sda1 /usr/local/mariadb/columnstore/data1 ext2 noatime,nodiratime,noauto 0 0
/dev/sdd1 /usr/local/mariadb/columnstore/data2 ext2 noatime,nodiratime,noauto 0 0

パフォーマンス最適化の考慮

MariaDB ColumnStoreを使用する際に考慮すべきパフォーマンスの最適化について以下に示します。固有のニーズを満たすための、さらに追加の最適化を行いたい場合には、ネットワーク管理者などに相談してください。

GbE NIC 設定
  • /etc/rc.d/rc.local ファイルを以下を含むように修正します。
/sbin/ifconfig eth0 txqueuelen 10000
  • /etc/sysctl.conf ファイルを以下を含むように修正します。
# increase TCP max buffer size

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

# increase Linux autotuning TCP buffer limits

# min, default, and max number of bytes to use

net.ipv4.tcp_rmem = 4096 87380 16777216

net.ipv4.tcp_wmem = 4096 65536 16777216

# don't cache ssthresh from previous connection

net.ipv4.tcp_no_metrics_save = 1

# recommended to increase this for 1000 BT or higher

net.core.netdev_max_backlog = 2500

# for 10 GigE, use this

net.core.netdev_max_backlog = 30000
  • キャッシュメモリの設定

ディレクトリとinodeをキャッシュするようにLinuxを最適化するには、vm.vfs_cache_pressureを100より小さい値にし、inodeとディレクトリがキャッシュに保持されるようにします。この設定により読み込みパフォーマンスが改善します。推奨値は10で、以下のコマンドをルートユーザーもしくはsudoで実行します。

現在値を確認するには以下のコマンドを実行します。

cat /proc/sys/vm/vfs_cache_pressure

次回の再起動まで現在値を変更するには以下のコマンドを実行します。

sysctl -w vm.vfs_cache_pressure=10

永久に値を変更するには以下の記述を/etc/sysctl.confに追加します。

vm.vfs_cache_pressure = 10

システム設定の考慮

umask設定

既定の設定である/etc/profileの中の022が推奨値です。077のように7で終わらないような設定が、必要です。例えばルートのインストールではmysqldは'mysql'ユーザーとして動作し、ColumnStoreの設定ファイルであるColumnStore.xmlファイルを参照できる必要があります。最後の数字である7は、これを妨げてしまうため、インストールが失敗します。

現在のumaskの設定は以下のように確認できます。

umask

022の値は現在のセッションまたは、/etc/profileで以下のように設定できます。

umask 022

ファイアーウォールの設定

MariaDB ColumnStoreは3306, 8600 - 8622, 8700, 8800のポートを使用します。マルチノードのインストールでは、サーバー間でこれらのポートがアクセス可能である必要があります。もしこれらのポートをブロックするようなファイアーウォールソフトウェアが稼働している場合、ファイアーウォールを無効にするか、これらのポートがサーバー間で疎通可能なように設定してください。

マルチノードインストールで、ファイアウォールやSELinuxを無効にするには以下のように実行します。

rootユーザーになって以下を実行します。

You must be a Root user.

CentOS 6 とiptablesを使っているシステムの場合:

#service iptables save  (Will save your existing IPTable Rules)
#service iptables stop  (It will disable firewall Temporarly)

恒久的に無効にするには:

#chkconfig iptables off

CentOS 7とfirewalldでsystemctlがインストールされているシステムの場合:

#systemctl status firewalld  
#systemctl stop firewalld  
#systemctl disable firewalld  

Ubunthとufwを使っているシステムの場合:

#service ufw stop  (It will disable firewall Temporarly)

恒久的に無効にするには:

#chkconfig ufw off

SUSEでは:

#/sbin/rcSuSEfirewall2 status
#/sbin/rcSuSEfirewall2 stop 

SELinuxを無効にするには:

edit file "/etc/selinux/config" and find line;

SELINUX=enforcing

Now replace it with,

SELINUX=disabled

パッケージ依存性

Boostライブラリ

MariaDB ColumnStoreはboostパッケージ1.53以上のバージョンを必要とします。

Centos 7, Ubunth 16, Debian 8, SUSE 12やその他の新しいOSでは、yumやapt-getを使っていboostパッケージをインストールします。

# yum -y install boost

または

# apt-get -y install libboost-all-dev

CentOS 6では、MariaDB ColumnStore Centos 6 boost library packageをダウンロードしてインストールするか、boost 1.55のソースをインストールして必要なライブラリをビルドする方が簡単です。この場合は、インストールとビルドの両方が必要であることを意味します。

バイナリをダウンロードするには、以下のダウンロードページにて、"centos6_boost_1_55.tar.gz"をダウンロードします。

https://mariadb.com/downloads/columnstore

Click All Versions - > 1.0.x -> centos -> x86_64

クラスタ内のそれぞれのサーバーにインストールしてください。

wget https://downloads.mariadb.com/ColumnStore/1.0.x/centos/x86_64/centos6_boost_1_55.tar.gz
tar xfz centos6_boost_1_55.tar.gz -C /usr/lib
ldconfig

ダウンロードしてboostライブラリをビルドするには以下を実行します。

注意:あらかじめ"Development Tools" groupをインストールしておいてください。

yum groupinstall "Development Tools"
yum install cmake

以下に、boostのソースをダウンロードしてビルドする手順を示します。

cd /usr/
wget http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz
tar zxvf boost_1_55_0.tar.gz
cd boost_1_55_0
./bootstrap.sh --with-libraries=atomic,date_time,exception,filesystem,iostreams,locale,program_options,regex,signals,system,test,thread,timer,log --prefix=/usr
./b2 install
ldconfig

SUSE 12では、boost-develパッケージをインストールする必要があります。SLE-SDKパッケージの一部として提供されています。

SUSEConnect -p sle-sdk/12.2/x86_64
zypper install boost-devel

その他のパッケージについて

MariaDB ColumnStoreがインストールされるノード上で、以下のパッケージがインストールされているようにしてください。

Centos 6/7

# yum -y install expect perl perl-DBI openssl zlib file sudo  libaio rsync snappy net-tools perl-DBD-MySQL

Ubuntu 16

# apt-get -y install tzdata libtcl8.6 expect perl openssl file sudo libdbi-perl libboost-all-dev libreadline-dev rsync libsnappy1v5 net-tools libdbd-mysql-perl

Debian 8

# apt-get -y install expect perl openssl file sudo libdbi-perl libboost-all-dev libreadline-dev rsync libsnappy1 net-tools libdbd-mysql-perl

SUSE 12

zypper install expect perl perl-DBI openssl zlib file sudo libaio rsync boost snappy net-tools perl-DBD-mysql

ダウンロード/インストールの最初の選択について

MariaDB ColumnStoreのインストールはsoft-linkを使用します。もしローカルストレージサイズの制約があるなどでインストールディレクトリをデータディレクトリを分けたい場合、この設定を行うことが可能です。 soft-linkはmariadb/columnstore/dataやmariadb/columnstore/dataXなどのDataディレクトリのレベルで行うことを推奨します。この設定により、rpmやdebian、などのあらゆるパッケージのタイプにおいても、アップグレードも可能です。 もし、/usr/local/mariadbなどのトップレベルでsoft-linkを使用する必要がある場合は、バイナリパッケージを使ってインストールしてください。rpmを使ってインストールを行うと、アップグレードプロセスは失敗します。

重要:別のバージョンのMariaDB Serverがインストールされていないようにしてください。もしインストールされている場合は、ColumnStoreのインストール前にアンインストールしてください。

ルートユーザーによるインストール

MariaDB ColumnStore RPMをダウンロードしてインストール

  1. MariaDB ColumnStoreをルートユーザーとしてインストールします。(別のアカウントでログインしている場合、suを実行してrootのログインシェルを開いてください)

注意:MariaDB ColumnStoreはMariaDBユーザー1アカウント(パスワード無し)でインストールされます。通常のMySQLのインストールと同様、MariaDB ColumnStore-Mysqlアカウントに対して、パスワードを任意で設定することが可能です。
注意:パッケージは/usr/localにインストールされます。ルートユーザーによるインストールでは以下の手順に従います。

mariadb-columnstore-release#.x86_64.tar.gz (RHEL5 64-BIT)を、MariaDB ColumnStoreをインストールしようとしているサーバーの/rootディレクトリにダウンロードします。 tarファイルを展開すると、/rootディレクトリ内に複数のrpmファイルが生成されます。

tar -zxf mariadb-columnstore-release#.x86_64.tar

rpmをインストールします。MariaDB ColumnStoreは/usr/localディレクトリにインストールされます。

rpm -ivh mariadb-columnstore*release#*.rpm

MariaDB ColumnStoreのバイナリパッケージをダウンロードしてインストール

以下ではMariaDB ColumnStoreをルートユーザーで、PM1になるようインストールします。 注意:MariaDB ColumnStoreのアカウントにも、通常のMariaDBと同様にユーザーの設定、パーミッションの設定を行うことが可能です。

ルートユーザーでのMariaDB ColumnStoreのインストールは、/usr/localにて実行する必要があります。 /usr/localに直接インストールするか、任意の箇所へインストールして、/usr/localにsoft-linkを設定するかのいずれかで設定することが可能です。ここでは、/mnt/mariadbにバイナリパッケージをインストールしたという前提でsoft-linkを設定しています。

# ln -s /mnt/mariadb /usr/local
  • パッケージを/root/にダウンロードし、MariaDB ColumnStoreをインストールしたいサーバーの/usr/localディレクトリにコピーします。
cp /root/mariadb-columnstore-release#.x86_64.bin.tar.gz /usr/local/ mariadb-columnstore-release#.x86_64.bin.tar.gz
  • tarファイルを展開すると、/usr/local/ディレクトリが作成されます。
tar -zxvf mariadb-columnstore-release#.x86_64.bin.tar.gz

ポストインストールスクリプトを実行します。

/usr/local/mariadb/columnstore/bin/post-install

MariaDB ColumnStore DEB パッケージをダウンロードしてインストール

DEBパッケージによるインストールは現在のバージョンではサポートしていません。ただし、利用可能なUbuntu 16.04のバイナリパッケージが存在します。先に記載した、バイナリパッケージのインストール方法に従ってください。

MariaDB ColumnStoreをDebianかUbuntu OSにルートユーザーでインストールするには: MariaDBインスト―ル時と同様に、MariaDB ColumnStoreのユーザーをセットアップしてパーミッションを設定してください。 1. mariadb-columnstore-release#.amd64.deb.tar.gz (DEB 64- BIT) パッケージをMariaDB ColumnStoreをインストールしたいサーバーの/rootディレクトリにダウンロードします。

2. tarファイルを展開すると、DEBファイルが生成されます。

tar -zxf  mariadb-columnstore-release#.amd64.deb.tar.gz

3. MariaDB ColumnStoreのDEBファイルをインストールします。MariaDB ColumnStoreが、/usr/local/.ディレクトリにインストールされます。

dpkg -i mariadb-columnstore*release#*.deb

rootでないユーザーによるインストール

MariaDB ColumnStoreはルートでないユーザーでもバイナリtarファイルによりインストール可能です。この手順も、インストール先をユーザー指定のディレクトリに変更するだけです。この手順は、全てのインストール対象サーバーで実行する必要があります。 この手順の説明では以下を仮定しています。

  • rootでないユーザー "guest" を例として使用します。
  • インストール先ディレクトリは "/home/guest/mariadb/columnstore" です。

ここでは以下の作業を行います。

  • (rootユーザーで)rootでないユーザーを作成し、同名のグループを作成します。
  • (rootユーザーで)sudo設定を更新します。
  • (rootユーザーで)ユーザーファイル制限を更新します。
  • (rootユーザーで)マウントしたSANを使用している場合、fstabを修正します。
  • (rootユーザーで)必要に応じて既存のColumnStoreをアンインストールします。
  • (rootユーザーで)MariaDB ColumnStoreが書き込みできるよう、対象ディレクトリのパーミッションを更新します。
  • ファイルを用意します。
  • (rootでないユーザーで)インストールを実行します。
  • システム起動時にMariaDB ColumnStoreが自動起動するよう設定します。

(rootユーザーで)rootでないユーザーを作成し、同名のグループを作成

バイナリファイルによるインストールを開始する前に、MariaDB ColumnStoreをインストールする対象の全サーバーにユーザーアカウントを用意してください。 アカウント名は全ノードで同じである必要があります。パスワードも全てのノードで同じにしてください。もしあるノードでパスワードを変更した場合、他のノードも同様に変更してください。 また、全てのノードで同じ基本パッケージ、や追加モジュール(とその依存モジュール)を使用してください。

  • 新規ユーザーを作成

グループIDはサンプルなので、1000である必要はありませんが、クラスタ内の全てのサーバーで同じにしてください。

adduser guest -u 1000
  • グループを作成
addgroup guest
moduser -g guest guest

ユーザーIDは全ノードで同じにしてください。

  • 新規作成ユーザーにパスワードを設定
passwd guest
  • guestユーザーでログイン
su - guest
  • インストールユーザー(rootでないユーザー)が読み書きの権限があるディレクトリをインストールディレクトリとして選択します。インストールディレクトリは、全ノードで同じにしてください。 以下の例では、'/home/guest/mariadb/columnstore'ディレクトリを仮定しています。
    それぞれのホストで、スタートアップシェル(.bashrc、.profieなど)に以下を記載してください。
export COLUMNSTORE_INSTALL_DIR=$HOME/mariadb/columnstore
export PATH=$COLUMNSTORE_INSTALL_DIR/bin:$COLUMNSTORE_INSTALL_DIR/mysql/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$COLUMNSTORE_INSTALL_DIR/lib:$COLUMNSTORE_INSTALL_DIR/mysql/lib/mysql

これらのコマンドは非インタラクティブなシェルでのみ有効にしてください。記述を変更したら、'ssh user@host env'を実行して、これらが表示されるかを確認してください。 これらの設定を有効するには、一度ログオフし、ログインしなおしてください。

(rootユーザーで)sudo設定を更新

それぞれのノードでsudo設定を修正し、インストールユーザー(rootでないユーザー)を追加する必要があります。 Unixコマンドである、visudoを使うことをお勧めします。以下の例では、'guest'ユーザーを追加しています。

visudo

  • 以下の行を追加します。
guest  ALL=(ALL)       NOPASSWD: ALL
  • 以下の行をコメントアウトし、'tty'なしでのログインを許可します。
#Defaults requiretty

(rootユーザーで)ユーザーファイル制限を更新

ColumnStoreは指定ユーザーにファイルオープン数の制限を増加させておく必要があります。そのためには、/etc/security/limits.confファイル編集し、以下の記述を追加してください。

guest hard nofile 65536
guest soft nofile 65536

すでに 'guest'としてログインしている場合には、一度ログアウトして再ログインし、この設定を有効にしてください。

(rootユーザーで)マウントしたSANを使用している場合にfstabを修正

データベースファイルの保存にSANを使っている場合、'users'オプションをfstabに追加する必要があります(rootユーザーによって)。 詳細は、先述の "SANにマウントしているデータベースファイル" を参照してください。


例:
/dev/sda1 /home/guest/mariadb/columnstore/data1 ext2 noatime,nodiratime,noauto,users 0 0
/dev/sdd1 /home/mariadb/columnstore/data2 ext2 noatime,nodiratime,noauto,users 0 0

使用されるディスクに対して、インストールユーザー(rootでないユーザー)のパーミッションが設定されている必要があります。 以下は、dbrootの/dev/sda1について、インストールユーザー(rootでないユーザー, 'guest')へパーミッションの変更を行う、rootによるコマンド実行例です。

mke2fs dbroot (i.e., /dev/sda1) 
mount /dev/sda1 /tmpdir 
chown -R infinidb.infinidb /tmpdir 
umount /tmpdir 

(rootユーザーで)必要に応じて既存のColumnStoreをアンインストール

対象のノードにMariaDB ColumnStoreが今までにインストールされたことがある場合は、残骸が残っていないか確認してください。もしrootユーザーによってインストールされたファイルなどが残っていた場合、インストールは失敗します。

  • MariaDB Columnstoreのインストールディレクトリが存在しないことを確認します。
    /usr/local/mariadb/columnstore ディレクトリも、このディレクトリがインストール先ではないのであれば存在しないようにしてください。 存在する場合には、完全に空でインストールユーザー(rootでないユーザー)に所有権を付与してください。
  • /etc/fstabの設定が新規インストールに対して正しい事を確認してください。
  • /etc/default/columnstoreディレクトリが存在ンしないことを確認してください。
  • /var/lock/subsys/mysql-Columnstoreファイルが存在しないことを確認してください。
  • /tmp/StopColumnstoreファイルが存在しないことを確認してください。

また、/tmpディレクトリにrootユーザーが所有者であるファイルが存在しないようにしてください。

(rootユーザーで)MariaDB ColumnStoreが書き込みできるよう、対象ディレクトリのパーミッションを更新

以下のディレクトリはMariaDB ColumnStoreにより書き込みが行われるため、パーミッションを書き込み可能なように設定してください。(rootユーザーで実行)

chmod 777 /tmp
chmod 777 /dev/shm

(rootでないユーザーで)インストールを実行

本手順書に記載されいている通常のMariaDB ColumnStoreと同じ手順でインストールします。

  • インストールユーザー(rootでないユーザー、本手順書の例ではguest)でログインします。 注意:次の手順に進む前に、現在のディレクトリが当該ユーザーのホームディレクトリであることを確認してください。
  • MariaDB ColumnStoreのバイナリtarファイルをPM1として使用するサーバーのホームディレクトリに置いてください。tarファイルを/home/guestディレクトリに展開してください。
tar -xf mariadb-columnstore-release#.x86_64.bin.tar.gz
  • インストール後のスクリプトを実行してください。
./mariadb/columnstore/bin/post-install --installdir=$HOME/mariadb/columnstore
  • 以下のインストール後の3つのコマンドラインを実行してください。詳細は "MariaDB ColumnStoreの構成" を参照してください。
export COLUMNSTORE_INSTALL_DIR=/home/guest/mariadb/columnstore
export LD_LIBRARY_PATH=/home/guest/mariadb/columnstore/lib:/home/guest/mariadb/columnstore/mysql/lib/mysql
/home/guest/mariadb/columnstore/bin/postConfigure -i /home/guest/mariadb/columnstore

a. パッケージタイプの問いには、'binary'を選択してください。

Enter the Package Type being installed to other servers [rpm,deb,binary] (rpm) > binary

b. パスワードが聞かれたとき、インストールユーザー(rootでないユーザー、本手順書の例ではguest)のパスワードを入力するか、パスワードなしsshで全ノードをセットアップしている場合は、何も入力せずにenterを押してください。 sshキーの詳細は、"システム管理情報"を確認してください。

(rootユーザーで)Defaultファイルを設定

それぞれのMariaDB ColumnStoreサーバーで、Defaultファイルを設定してください。

cp /home/guest/mariadb/columnstore/bin/columnstore.def /etc/default/columnstore (※リネーム)

Defaultファイルで、インストールディレクトリの設定( COLUMNSTORE_INSTALL_DIR )があるので、正しく( ここでは/home/guest/mariadb/columnstore )修正してください。

(rootユーザーで)インストール後

MariaDB Columnstoreの自動起動とロギングの設定を行います。(オプション)

  • MariaDB ColumnStoreがブート時に自動起動するようにするには、次のステップを各サーバーで実行してください。
  • 次の記述をe /etc/rc.local または /etc/rc.d/rc.local (centos7の場合) ファイルに追加します。
su - guest -l -c "/home/guest/mariadb/columnstore/bin/columnstore start"

または

sudo runuser -l mariadb-user -c "/home/mariadb-user/mariadb/columnstore/bin/columnstore start"

注意:上記エントリーをrc.localファイルに追加するとブート時に起動されるようになります。 rc.localファイルの場所はOSにより異なります。

  • MariaDB Columnstoreは/var/log/mariadb/columnstoreディレクトリにある既存のロギングアプリケーションを使用します。 ログファイルを日次でリネームし、1週間分保持するには以下の設定を行います。(デフォルト)
cp /home/guest/mariadb/columnstore/bin/columnstoreLogRotate  /etc/logrotate.d/columnstore (※リネーム)

ColumnStore Cluster テストツール

このツールはシングルサーバーやマルチノードのインストールの前に実行可能です。このツールにより、ColumnStoreで使用するサーバーの確認を行うことができます。

https://mariadb.com/kb/en/mariadb/mariadb-columnstore-cluster-test-tool

次のステップでは、インストールスクリプトである、postConfigureを実行します。シングルサーバーまたはマルチサーバーのインストールガイドを確認してください。

ColumnStore 設定、インストールツール

MariaDB ColumnStoreシステム設定・インストールツールである 'postConfigure' により、MariaDB ColumnStoreシステム全体のインストールおよび設定を実行することができます。また、サーバー、ストレージ、システムなどの情報を表示することも可能です。本ツールはMariaDB ColumnStoreの設定ファイルである、Columnstore.xmlファイルを更新します。また、ユーザーモジュールとなるサーバーの設定も行うことができ、ColumnStoreシステム自体の起動も可能です。

注意:本ツールは、パフォーマンスモジュール(PM)#1 上で実行してください。

以下に、シングル構成、マルチサーバー構成でのインストールガイドを示します。

# /usr/local/mariadb/columnstore/bin/postConfigure -h

This is the MariaDB ColumnStore System Configuration and Installation tool.
It will Configure the MariaDB ColumnStore System based on Operator inputs and
will perform a Package Installation of all of the Modules within the
System that is being configured.

IMPORTANT: This tool should only be run on a Performance Module Server,
           preferably Module #1

Instructions:

	Press 'enter' to accept a value in (), if available or
	Enter one of the options within [], if available, or
	Enter a new value


Usage: postConfigure [-h][-c][-u][-p][-s][-port][-i][-n]
   -h  Help
   -c  Config File to use to extract configuration data, default is Columnstore.xml.rpmsave
   -u  Upgrade, Install using the Config File from -c, default to Columnstore.xml.rpmsave
	    If ssh-keys aren't setup, you should provide passwords as command line arguments
   -p  Unix Password, used with no-prompting option
   -s  Single Threaded Remote Install
   -port MariaDB ColumnStore Port Address
   -i Non-root Install directory, Only use for non-root installs

Comments

Comments loading...