どこかに向かうらしい話

迷走エンジニアの放浪記

NoSQL on CentOS7

はじめに

NoSQLを勉強しようとして、以下の書籍を買った。

RDB技術者のためのNoSQLガイド

RDB技術者のためのNoSQLガイド

すぐに新しくなってしまう分野のため、鉄は熱いうちに打ての精神で読んでみた。
簡単に言えば、NoSQLに該当するプロダクトの特徴、使いどころ(ユースケース)、限界について綺麗に書かれてる印象。
ただ、各プロダクトのインストールの仕方までは書籍では取り扱われていない。
そのため、ここではCentOS7に各プロダクトのインストール方法について、自分の環境で試して見た結果をメモしてみようと試みた。

なお、ユースケースより自分の興味の持ったNoSQLは以下の通り。
(めんどくさそうなのを削除したともいう…)

  • MongoDB
  • Cassandra
  • Redis
  • Neo4j

上記4つのインストール手順について、CentOSの最小インストール + Firewalld無効化 + SELinux無効化 以降の手順を以下の通り示す。

MongoDB 3.2

インストール

/etc/yum.repos.d/mongodb-org-3.2.repoを以下の内容で作成する。

[mongodb-org-3.2]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1

yumコマンドでインストールする。

# yum install mongodb-org

起動と自動起動

起動は以下の通り行う。

# systemctl start mongod

なお、自動起動についてだが、mongodはCentOS7のネイティブデーモンではないため、従来通りchkconfigを用いる。

# chkconfig mongod on

Cassandra 3.0

事前準備

Cassandraを動かすためには、最新版のJava8(Oracle Java SE 8 か OpenJDK 8)をインストールするように求められているため、OpenJDKを事前に入れておく。

# yum install java

インストール

/etc/yum.repos.d/datastax.repoを以下の内容で作成し、Datastaxのリポジトリを追加する。

[datastax]
name=DataStax Repo for Apache Cassandra
baseurl=http://rpm.datastax.com/community
enabled=1
gpgcheck=0

以下のコマンドを実行し Cassandra をインストールする。
なお、インストールによりCassandraユーザーが作成され、Cassandraの起動時に使用されます。

# yum install cassandra30

起動と自動起動

systemctlでやろうとするとこけるので、旧来の方法で行う。

# service cassandra start
# chkconfig cassandra on

Redis 3.2

書籍で取り扱われているRedisのバージョンは、3.0系である。
しかし、2016年8月25日現在、Redisは、REMIリポジトリには3.2系しかなく、EPELリポジトリには2.8系が最新の状況である。
そのため、3.0系以降のバージョンであるREMIリポジトリからパッケージを取得する方針を取ることにする。

インストール

Redisの最新版を取得するために、REMIリポジトリを追加する。

# yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

yumコマンドでインストールする。
ここで直接REMIリポジトリを指定することを忘れないこと。

# yum install --enablerepo=remi redis

起動と自動起動

お決まりのパターンで行う。

# systemctl start redis
# systemctl enable redis

Neo4j 2.3

Neo4jにはCommunityバージョンとEnterpriseバージョンがあるが、今回はCommunityバージョンをインストールすることにした。
また、ここでインストールするバージョンは2.3.6とする。

事前準備

Neo4jは、サーバーでオープンできるファイル数について、40000以上を推奨している。
今回作成するのは検証環境なので、最大の65536にする。
/etc/security/limits.confに以下の通り追記する。

*                soft    nofile          65536
*                hard    nofile          65536

.bash_profile に以下を追加する。

export NEO4J_HOME=/usr/neo4j

ここで設定を反映させるため、再起動をする。

Neo4jを動かすためには、JDK7以上が必要なので、JDKを事前に入れておく。 また、lsofも入れておく。

# yum install java lsof

インストール

ブラウザで https://neo4j.com/download/other-releases/ にアクセスし、「Linux/Mac Neo4j 2.3.6 (tar)」を選択すると、「neo4j-community-2.3.6-unix.tar.gz」をダウンロードする。

そして、tarファイルを/rootに配置し、展開を行う。

# tar -xf neo4j-community-2.3.6-unix.tar.gz
# mv neo4j-community-2.3.6 /usr/neo4j

起動

標準設定では、外部からの接続はできない。
外部からブラウザでNeo4jに接続するためには、${NEO4J_HOME}/conf/neo4j-server.propertiesの標準設定を変更する必要がある。

org.neo4j.server.webserver.address=0.0.0.0

以下のコマンドにより起動する。

# ${NEO4J_HOME}/bin/neo4j console

ブラウザより、以下の通りアクセスを行う。

http://【IPアドレス】:7474

Neo4jのログイン画面で、初期ユーザーとパスワードを入力し、Neo4に接続する。
初期ユーザーはneo4jであり、そのパスワードはneo4jである。
なお、初回ログイン時にパスワードの変更が求められるので、変更を行う。