redis構成マスタースレーブサーバ

3228 ワード

1、紹介


redisはkey-valueストレージシステムです.Memcachedと同様に、string(文字列)、list(チェーンテーブル)、set(セット)、zset(秩序セット)など、格納されたvalueタイプが相対的に多くサポートされています.これらのデータ型は、push/pop、add/remove、および交差および差セット、およびより豊富な操作をサポートし、これらの操作は原子的である.これに基づいて、redisは様々な方法のソートをサポートします.memcachedと同様に、効率を保証するために、データはメモリにキャッシュされます.違いはredisが更新したデータを定期的にディスクに書き込むか、修正操作を追加の記録ファイルに書き込むか、それに基づいてmaster-slave同期を実現することである.
Redisは高性能なkey-valueデータベースです.redisの出現はmemcachedのようなkey/valueストレージの不足を大きく補償し,一部の場合関係データベースに良い補完作用を果たすことができる.Python、Ruby、Erlang、PHPクライアントを提供し、使いやすいです.

2、インストールテスト環境


centos 6.3

3、redis配置master(メインサーバー192.168.2.1136)


3.1 redisのインストール
linuxでのインストール
$ wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz
$ tar xzf redis-2.6.13.tar.gz
$ cd redis-2.6.13
$ make

注意:インストールする前に、サーバーがgcc、tclをインストールしたことを確認してください.
3.2関連ディレクトリの作成
mkdir -p /usr/local/webserver/redis/conf
mkdir -p /usr/local/webserver/redis/run
mkdir -p /usr/local/webserver/redis/db
cp redis.conf /usr/local/webserver/redis/conf/
#cd src
cp  redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server mkreleasehdr.sh /usr/local/webserver/redis/
vim /usr/local/webserver/redis/conf/redis.conf
#      
daemonize yes  --yes      
pidfile /usr/local/webserver/redis/run/redis.pid --Redis           pid    
dir /usr/local/webserver/redis/db --       
port 6380

3.3オープンredisスクリプトの作成
vim /usr/local/webserver/redis/start.sh
#!/bin/bash
/usr/local/webserver/redis/redis-server /usr/local/webserver/redis/conf/redis.conf

3.4 redisプロセスを閉じるスクリプトの作成
vim /usr/local/webserver/redis/stop.sh
#!/bin/bash
kill `cat /usr/local/webserver/redis/run/redis.pid`

4、slaveサーバを2つ作成する(192.168.2.1137、192.168.2.1138)


4.1関連ディレクトリの作成
mkdir -p /usr/local/webserver/redis/conf
mkdir -p /usr/local/webserver/redis/run
mkdir -p /usr/local/webserver/redis/db

4.2 scpを使用してファイルおよびディレクトリをコピーする

#192.168.2.137   
scp /usr/local/webserver/redis/* [email protected]:/usr/local/webserver/redis/ -r

#192.168.2.138   

scp /usr/local/webserver/redis/* [email protected]:/usr/local/webserver/redis/ -r

#         

4.3 slaveのredisを配置する.conf

#192.168.2.137   

vim /usr/local/webserver/redis/conf/redis.conf
port 6381
pidfile /usr/local/webserver/redis-slave1/run/redis.pid
dir /usr/local/webserver/redis-slave1/db
slaveof 192.168.2.136 6380

#192.168.2.138   

vim /usr/local/webserver/redis/conf/redis.conf
port 6382
pidfile /usr/local/webserver/redis-slave1/run/redis.pid
dir /usr/local/webserver/redis-slave1/db
slaveof 192.168.2.136 6380

5.redisを起動し、主従同期状況を確認する


5.1サーバの起動

#           redis
/usr/local/webserver/redis/start.sh
#      
netstat -nlpt | grep redis-server

5.2同期状況のテスト

#192.168.2.136 master
$ set param haibrother

#192.168.2.137 slave
$ get param
$ haibrother

#192.168.2.138 slave
$ get param
$ haibrother

#