NoSQL on CentOS7
はじめに
NoSQLを勉強しようとして、以下の書籍を買った。
- 作者: 渡部徹太郎,河村康爾,北沢匠,佐伯嘉康,佐藤直生,原沢滋,平山毅,李昌桓
- 出版社/メーカー: 秀和システム
- 発売日: 2016/02/24
- メディア: 単行本
- この商品を含むブログ (1件) を見る
すぐに新しくなってしまう分野のため、鉄は熱いうちに打ての精神で読んでみた。
簡単に言えば、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
ブラウザより、以下の通りアクセスを行う。
Neo4jのログイン画面で、初期ユーザーとパスワードを入力し、Neo4に接続する。
初期ユーザーはneo4jであり、そのパスワードはneo4jである。
なお、初回ログイン時にパスワードの変更が求められるので、変更を行う。