SolrCloudとは
公式 wiki
https://wiki.apache.org/solr/SolrCloud
apacheさんが作っているので安心 ?
構成
全部で3部構成にする予定
-
Part.1
- CentOS上にzookeeperを構築する [今回]
-
Port.2
- CentOS上にSolrを構築する [次回]
-
Port.3
- CentOS上にSolrCloudを構築する [次々回]
Part.1 Zookeeperを構築する
環境
- arch
# cat /etc/redhat-release
CentOS release 6.7 (Final)
# arch
x86_64
インストール
- Oracle Javeのインストール
# cd /var/tmp/
# wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.rpm
# rpm -Uhv jdk-8u45-linux-x64.rpm
- Zookeeperのインストール
cmd
# cd /var/tmp
# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz
# tar zxvf ${ZKR}.tar.gz
# cp -ar zookeeper-3.4.8 /opt/
# ln -s /opt/zookeeper-3.4.8 /opt/zookeeper ### 後ほど、VersionUPする際に移設を簡単にするためにシンボリックリンクで紐付ける
# cd /opt/zookeeper
# cp -a ./conf/zoo{_sample,}.cfg
単体起動 && ステータスチェック
これで基本的なインストールは終わり。
cmd
# cd /opt/zookeeper
# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Mode: standalone
複数台起動する(レプリケーション)
zookeeperの仕様により、奇数台が望ましいらしい(じゃんけん? 多数決?)
-
まずはZookeeperを複数台用意し、単体起動するところまでやる。
- svr01 : 192.168.33.71
- svr02 : 192.168.33.72
- svr03 : 192.168.33.73
-
各サーバーごとにIDを決める
- このIDは数字しか使えないので注意(これで約半日詰まった)
srv01
### svr01にて
# mkdir -p /tmp/zookeeper
# echo '1' > /tmp/zookeeoer/myid
srv02
### svr02にて
# mkdir -p /tmp/zookeeper
# echo '2' > /tmp/zookeeoer/myid
srv03
### svr03にて
# mkdir -p /tmp/zookeeper
# echo '3' > /tmp/zookeeoer/myid
- 上記のパスは「dataDir」として、/opt/zookeeper/conf/zoo.cfgのL.12行目に書いてある
/opt/zookeeper/conf/zoo.cfg
11 # example sakes.
12 dataDir=/tmp/zookeeper
13 # the port at which the clients will connect
- さらにzoo.confに上記のサーバーリストを記述する。
/opt/zookeeper/conf/zoo.cfg
# autopurge.purgeInterval=1
...
...
server.1=192.168.33.71:2888:3888
server.2=192.168.33.72:2888:3888
server.3=192.168.33.73:2888:3888
- zookeeperの再起動
cmd
# pwd
/opt/zookeeper
# ./bin/zkServer.sh restart
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
- チェック
svr01
# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Mode: leader
svr02
# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Mode: follower
検証
- svr01で書き込んだ情報をsvr02,svr03で読み取れるか
svr01
- ノードを増減させるとどうなるか