ColumnStoreインストールの準備
事前条件
MariaDB ColumnStoreのGAバージョンでは、ColumnStoreのバイナリやRPMをインストールする前に、別のMariaDB ServerやMySQLがインストールされていないよう注意してください。もし既にインストールされている場合、以降の処理の前に、アンインストールしてください。
Contents
- 事前条件
- パッケージ依存性
- ダウンロード/インストールの最初の選択について
- ルートユーザーによるインストール
- rootでないユーザーによるインストール
- (rootユーザーで)rootでないユーザーを作成し、同名のグループを作成
- (rootユーザーで)sudo設定を更新
- (rootユーザーで)ユーザーファイル制限を更新
- (rootユーザーで)マウントしたSANを使用している場合にfstabを修正
- (rootユーザーで)必要に応じて既存のColumnStoreをアンインストール
- Update permissions on certain directories that MariaDB Columnstore writes (by root user)
- MariaDB Columnstore installation (by non-root user)
- Set up Defaults file (by root user)
- Post-installation (by root user)
- ColumnStore Cluster Test Tool
- ColumnStore Configuration and Installation Tool
構成の準備
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はネットワーク構成に対して非常にフレキシブルです。 いくつかのオプションを以下に示しますt。
- UMとPM間のネットワークは、複数のプライベートなVLANにより構成可能です。 この場合、MariaDB ColumnStoreは自動的に個々のLANをまとめて扱い、UMとPMの間で効果的なバンド幅が得られるように動作します。
- PMは公開されたLANのアクセスは必要なく、UMとのみ通信可能であれば問題ありません。
- UMは少なくとも一つのMySQL Serverフロントエンドへ接続できる必要がありますが、PMとの接続とは分離することが可能です。
- MySQL Serverフロントエンドの全てのセキュリティ機能を使用可能です。規定では、3306番のポートで待ち受けています。
- MariaDB ColumnStoreはTCP/IPレベルの層へのみアクセスするため、物理レイヤーの選択は自由に行うことができます。
MariaDB ColumnStoreのポートの使用
The 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を割り当てており、任意のストレージタイプを設定することが可能です。t
/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をダウンロードしてインストール
- 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のユーザーをセットアップしてパーミッションを設定してください。
- mariadb-columnstore-release#.amd64.deb.tar.gz (DEB 64- BIT) パッケージをMariaDB ColumnStoreをインストールしたいサーバーの/rootディレクトリにダウンロードします。
- tarファイルを展開すると、DEBファイルが生成されます。
tar -zxf mariadb-columnstore-release#.amd64.deb.tar.gz
- 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でないユーザー)に所有権を付与してください。
- Verify the /etc/fstab entries are correct for the new installation.
- Verify the /etc/default/columnstore directory does not exist.
- Verify the /var/lock/subsys/mysql-Columnstore file does not exist.
- Verify the /tmp/StopColumnstore file does not exist.
There should not be any files or directories owned by root in the /tmp directory
Update permissions on certain directories that MariaDB Columnstore writes (by root user)
These directories are writing to by the MariaDB Columnstore applications and the permissions need to be set to allow them to create files. So the permissions of them need to be set to the following by root user.
chmod 777 /tmp chmod 777 /dev/shm
MariaDB Columnstore installation (by non-root user)
You should be familiar with the general MariaDB Columnstore installation instructions in this guide as you will be askedthe same questions during installation.
- Log in as non-root user ( guest , in our example) Note: Ensure you are at your home directory before proceeding to the next step
- Now place the MariaDB Columnstore binary tar file in your home directory on the host you will be using as PM1. Untar the binary distribution package to the /home/guest directory: tar -xf mariadb-columnstore-release#.x86_64.bin.tar.gz
- Run post installation:
./mariadb/columnstore/bin/post-install --installdir=$HOME/mariadb/columnstore
- Run the 3 command lines that were outputted by the previous post-install command, which would look like the following. See the “MariDB Columnstore Configuration” in this guide for more information:
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. When prompted for package type, enter 'binary' Enter the Package Type being installed to other servers [rpm,deb,binary] (rpm) > binary
b. When prompted for password, enter the non-user account password OR just hit enter if you have setup the non-root user with password-less ssh keys on all nodes (Please see the “System Administration Information” section earlier in this guide for more information on ssh keys.)
Set up Defaults file (by root user)
Set up the Defaults file for each MariaDB Columnstore server:
- cp /home/guest/mariadb/columnstore/bin/columnstore.def /etc/default/columnstore
(this is a rename of the file)
In this default file, change the installation directory entry ( COLUMNSTORE_INSTALL_DIR ) to /home/guest/mariadb/columnstore
Post-installation (by root user)
Optional items to assist in MariaDB Columnstore auto-start and logging:
- To configure MariaDB Columnstore to start automatically at boot time, perform the following steps in each InfiniDB server:
- Add the following to the /etc/rc.local or /etc/rc.d/rc.local (centos7) file:
su - guest -l -c "/home/guest/mariadb/columnstore/bin/columnstore start"
or
sudo runuser -l mariadb-user -c "/home/mariadb-user/mariadb/columnstore/bin/columnstore start"
Note: Make sure the above entry is added to the rc.local file that gets executed at boot time. Depending on the OS installation, rc.local could be in a different location.
- MariaDB Columnstore will setup and log using your current system logging application in the directory
/var/log/mariadb/columnstore. Perform the following if you want to setup to have the MariaDB Columnstore logs archived daily and deleted after 7 defaults (default setting):
- cp /home/guest/mariadb/columnstore/bin/columnstoreLogRotate /etc/logrotate.d/columnstore (this is a rename of the file)
ColumnStore Cluster Test Tool
This tool can be running before doing installation on a single-server or multi-node installs. It will verify the setup of all servers that are going to be used in the Columnstore System.
https://mariadb.com/kb/en/mariadb/mariadb-columnstore-cluster-test-tool
The next step would be to run the install script postConfigure, check the Single Server Or Multi-Server Install guide.
ColumnStore Configuration and Installation Tool
MariaDB Columnstore System Configuration and Installation tool, 'postConfigure', will Configure the MariaDB Columnstore System and will perform a package Installation of all of the servers within the system that is being configured. It will prompt the user to configuration information like server, storage, and system features. It updates the MariaDB Columnstore System Configuration File, Columnstore.xml. It will also execute MariaDB Server setup scripts on server where User Module Functionality will be. At the end, it will start up the ColumnStore system.
NOTE: This tool is always run on the Performance Module #1.
Example uses of this script are shown in the Single and Multi Server Installations Guides.
# /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