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
#
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
#
$ 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
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
vim /usr/local/webserver/redis/start.sh
#!/bin/bash
/usr/local/webserver/redis/redis-server /usr/local/webserver/redis/conf/redis.conf
vim /usr/local/webserver/redis/stop.sh
#!/bin/bash
kill `cat /usr/local/webserver/redis/run/redis.pid`
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
#
# redis
/usr/local/webserver/redis/start.sh
#
netstat -nlpt | grep redis-server
#192.168.2.136 master
$ set param haibrother
#192.168.2.137 slave
$ get param
$ haibrother
#192.168.2.138 slave
$ get param
$ haibrother
#