1.下载redis
访问:http://www.redis.cn/download.html 下载redis安装包,下面使用的是3.0.7版本。
2.解压,安装
安装包放置在/opt目录下。前提请安装gcc+依赖。
cd /opt
tar -zxvf redis-3.0.7.tar.gz
cd redis-3.0.7
make
cd src
make install
如下:
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
到此安装成功
3.部署:
mkdir -p /opt/redis-3.0.7/bin
mkdir -p /opt/redis-3.0.7/etc
mv /opt/redis-3.0.7/redis.conf /opt/redis-3.0.7/etc/
cd src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /opt/redis-3.0.7/bin
4.启动:
./redis-server /opt/redis-3.0.7/etc/redis.conf
5.搭建redis-cluster集群
搭建集群:两台机器(192.168.1.140,192,168.1.132),每台分别有6个节点为例
1).创建集群目录
140:
mkdir -p /opt/redis-cluster
cd /opt/redis-cluster
mkdir conf data log
mkdir -p data/redis-6379 data/redis-6389 data/redis-6380 data/redis-6390 data/redis-6381 data/redis-6391
132:
mkdir -p /opt/redis-cluster
cd /opt/redis-cluster
mkdir conf data log
mkdir -p data/redis-7379 data/redis-7389 data/redis-7380 data/redis-7390 data/redis-7381 data/redis-7391
2)给每个节点创建新的redis.conf文件,(下面配置根据实际情况作出调整)
cp /opt/redis-3.0.7/redis.conf /opt/redis-cluster/conf/${自定义}.conf (如:6379.conf,6380.conf……)
修改模板如下:
#密码
masterauth passw0rd!
requirepass passw0rd!
# redis后台运行
daemonize yes
# 绑定的主机端口
bind ip
# 数据存放目录
dir /opt/redis-cluster/data/redis-${自定义}
# 进程文件
pidfile /opt/redis-cluster/${自定义}.pid
# 日志文件
logfile /opt/redis-cluster/log/${自定义}.log
# 端口号
port 端口
# 开启集群模式,把注释#去掉
cluster-enabled yes
# 集群的配置,配置文件首次启动自动生成
cluster-config-file /usr/local/redis-cluster/conf/${自定义}.conf
# 请求超时,设置10秒
cluster-node-timeout 10000
# aof日志开启,有需要就开启,它会每次写操作都记录一条日志
appendonly yes
3).安装ruby和rubygems
yum install rubygems
4).准备rubygem redis依赖
gem install redis-3.0.0
5).拷贝redis-trib.rb到集群根目录
cp /opt/redis-3.0.7/src/redis-trib.rb /opt/redis-cluster
搭建集群以上操作,140与132两台机器操作一致
6).安装启动redis服务节点
140:
cd /opt/redis-3.0.7/bin
./redis-server /opt/redis-cluster/conf/6379.conf
./redis-server /opt/redis-cluster/conf/6380.conf
./redis-server /opt/redis-cluster/conf/6381.conf
./redis-server /opt/redis-cluster/conf/6389.conf
./redis-server /opt/redis-cluster/conf/6390.conf
./redis-server /opt/redis-cluster/conf/6391.conf
132:
cd /opt/redis-3.0.7/bin
./redis-server /opt/redis-cluster/conf/7379.conf
./redis-server /opt/redis-cluster/conf/7380.conf
./redis-server /opt/redis-cluster/conf/7381.conf
./redis-server /opt/redis-cluster/conf/7389.conf
./redis-server /opt/redis-cluster/conf/7390.conf
./redis-server /opt/redis-cluster/conf/7391.conf
7)查看服务 ps -ef | grep redis,每个节点服务是否起来
8)redis-trib关联集群节点
cd /opt/redis-cluster
./redis-trib.rb create --replicas 1 192.168.1.140:6379 192.168.1.140:6380 192.168.1.140:6381 192.168.1.140:6389 192.168.1.140:6390 192.168.1.140:6391 192.168.1.132:7379 192.168.1.132:7380 192.168.1.132:7381 192.168.1.132:7389 192.168.1.132:7390 192.168.1.132:7391
依照提示输入:yes,等待完成即可
注意点:
1.集群设置密码:
1).修改redis.conf配置文件 每个节点密码必须一致
masterauth 'passw0rd!'
requirepass 'passw0rd!'
2).修改client.rb添加密码 :password => 'passw0rd!',
cd /usr/lib/ruby/gems/1.8/gems/redis-3.0.0/lib/redis
vi client.rb
如下:
[root@root redis]# vi client.rb
require "redis/errors"
class Redis
class Client
DEFAULTS = {
:scheme => "redis",
:host => "127.0.0.1",
:port => 6379,
:path => nil,
:timeout => 5.0,
:password => 'passw0rd!',
:db => 0,
}
def scheme
2.关联集群报错:
1)关于启动redis集群时出现如下问题:
[ERR] Node 172.168.63.202:7001 is not empty. Either the nodealready knows other nodes (check with CLUSTER NODES) or contains some 的问题:
解决办法:
1)).将每个节点下aof、rdb、nodes.conf本地备份文件删除;
2)关于启动redis集群时出现如下问题:
接下来 提示 Waiting for the cluster to join.......... 安装的时候在这里就一直等等等,没反应,傻傻等半天,看这句提示上面一句,Sending Cluster Meet Message to join the Cluster.
解决方案:
1:关闭所有redis示例
2:打开所有节点的redis.conf 配置bind属性 值是服务器的外网IP
只配置一个,重点》》》》
如:bind 192.168.46.133
3:进入各个节点的redis的rdb文件保存位置
删除rdb持久化文件和nodes.conf文件
4:启动redis
6:用redis-trib.rb创建集群查看是否成功。
以上是我自己搭建redis-cluster集群的全过程,如有不同见解与更好的解决方案,麻烦留言。