redis集群部署
一:安装redis (使用redis3.0.6版本),同《1.redis安装》
1.下载源码
$ tar xzf redis-3.0.6.tar.gz
$ cd redis-3.0.6
$ make
2、编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf(在上一级目录)。然后拷贝到一个目录下。
mkdir /usr/redis
cp redis-server /usr/redis
cp redis-benchmark /usr/redis
cp redis-cli /usr/redis
cp redis.conf /usr/redis
cd /usr/redis
3.启动redis
./redis-server redis.conf
二:集群搭建
1.准备:
2.安装 支持的插件
A:安装ruby
tar zxvf ruby-2.3.0.tar.gz
cd ruby-2.3.0
./configure
make
sudo make install
B:安装rubygems
tar -zxvf rubygems-2.6.6.tgz
cd rubygems-2.6.6
ruby setup.rb
C、安装redis-3.0.0.gem
gem install ../redis-3.2.1.gem
两台服务器。每台放3个节点。
分别是16和17
另外一台配置相同、
3.节点部署
A.基础文件
cd /usr/local/
mkdir redis-cluster 创建集群目录
cd redis-cluster
mkdir 7003 7004 7005 分别对应节点为7003-7005
B.配置文件复制
cp /usr/redis/redis.conf /usr/local/redis-cluster/7003
cp /usr/redis/redis.conf /usr/local/redis-cluster/7004
cp /usr/redis/redis.conf /usr/local/redis-cluster/7005
cp /usr/redis/redis-server /usr/local/redis-cluster/7005
cp /usr/redis/redis-server /usr/local/redis-cluster/7004
cp /usr/redis/redis-server /usr/local/redis-cluster/7003
C.修改配置文件 redis.conf
daemonize yes redis后台运行
port 7003 端口7003,7004,7005
4.建立集群:
./redis-trib.rb create --replicas 1 10.0.31.183:7000 10.0.31.183:7001 10.0.31.183:7002 10.0.31.202:7003 10.0.31.202:7004 10.0.31.202:7005
./redis-trib.rb create --replicas 1 10.1.114.17:7000 10.1.114.17:7001 10.1.114.17:7002 10.1.114.16:7003 10.1.114.16:7004 10.1.114.16:7005
问题:
集群没有搭成功;
1.配置文件修改不全问题:
bind 10.1.114.17 对应的ip(10.1.114.16 和10.1.114.17 )
daemonize yes redis后台运行
pidfile /var/run/redis_7000.pid pidfile文件对应7000,7001,7002
port 7000 端口7000,7002,7003
cluster-enabled yes 开启集群 把注释#去掉
cluster-config-file nodes_7000.conf 集群的配置 配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 5000 请求超时 设置5秒够了
appendonly yes aof日志开启 有需要就开启,它会每次写操作都菜单记录一条日志
2.没有这个节点
原因:配置文件错误:
修改为 nodes_7000.conf
3.redis连接不上
>>> Creating cluster
[ERR] Sorry, can't connect to node 10.1.114.17:7000
解决方案:
a.添加日志。
在配置文件redis.conf 中添加logfile的地址
logfile "/usr/local/redis-cluster/7000/redis.log"
b.日志显示报错
无法在10.1.114.17上无法连接10.1.114.16:7000
》》》修改配置文件redis.conf
bind 10.1.114.17 只需要绑定本机
4.校验集群部署情况错误:
[root@localhost src]# redis-cli -p 7000 cluster nodes
Could not connect to Redis at 127.0.0.1:7000: Connection refused
5.不是cluster node 错误
a.检查配置文件redis.conf
发现文件中 # cluster-enabled yes 还是被注释,没有开启
》》》去掉# ,改为 cluster-enabled yes
要改redis 主从关系,把篡位的16服务器的主节点用
1。kill -9 *** 进程杀死,17对应服务器自动变 主master
2。./redis-service redis.conf 重新启动16的服务器
默认连接了本机127.0.0.1
用命令
redis-cli -h ip地址 -p 端口
例如:
redis-cli -h 10.1.114.17 -p 7000
查看信息:
16跟17 都启动redis节点 /启动方式如下
cd /usr/local/cluster/7000
redis-server redis.conf
cd /usr/local/cluster/7001
redis-server redis.conf
cd /usr/local/cluster/7002
redis-server redis.conf
ps -ef | grep redis #查看是否启动成功
netstat -tnlp | grep redis
#可以看到redis监听端口
备注:
1.##启动之后使用命令查看redis的启动情况ps -ef|grep redis
2.区分主从节点命令 redis-cli -p 7000 cluster nodes
3.查看集群信息
[root@t1 redis-3.0.3]# src/redis-cli -p 6379
127.0.0.1:6379> cluster info
对于我的目录来说在
cd /root/redis/redis-3.0.6/src
校验方法:判断集群是否部署成功