我的服务器上有安装redis,是通过yum方式安装的。现在需要搭建一个集群。先弄个伪集群试试(在一台服务器上安装整个集群,正常情况是一台服务器安装一个节点)。
1、通过where/which找到安装好的redis,如果找不到,就使用ps -ef|grep redis
得到Pid xxxx
然后 ls -l /proc/xxxx/cwd。
2、 通常我们进入/usr/local/redis/bin目录,直接./redis-server启动redis(此时为前端启动redis);将redis启动方式改为后端启动,通过./redis-server redis.conf启动redis,具体做法:修改该redis.conf文件->daemonize:no 改为daemonize:yse;
3、在/usr/local下创建redis-cluster文件夹,并将redis的bin目录下的所有内容拷贝六份放在该目录下。cp -r redis/bin/ redis-cluster/redis01
4、修改各个redisxx下的redis.conf文件,如下:【我其实是拷贝了一份redis的bin目录,按如下修改后,又拷贝了五份redis01,之后的就修改端口和日志文件路径就好了】
- daemonize yes #后台启动
- port 6001 #修改端口号,从6001到6006
- cluster-enabled yes #开启cluster,去掉注释
- cluster-config-file nodes.conf # 节点配置文件,指的就是redis.conf文件,好像是不能重名,应为我的文件原先都是 nodes-6379.conf,只能启动三个redis节点
- cluster-node-timeout 15000
- appendonly yes #开启aof
- logfile /usr/local/redis-cluster/redis05/redis.log #日志文件的路径必须是绝对路径,我开始用的./redis.log,一直不输出启动日志
5、通过./redis-server redis.conf将各个redis启动
6、安装ruby环境 yum install ruby yum install rubygems 如果不能链接外网,可以点此链接下载
7、复制redis解压文件src下的redis-trib.rb文件到redis-cluster目录
中的脚本是
#!/bin/bash
cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
8、安装redis-3.0.0.gem,这个文件需要下载后上传到服务器,然后执行 gem install redis-3.0.0.gem 下载地址
9、创建集群 ./redis-trib.rb create --replicas 1 192.168.0.39:6001 192.168.0.39:6002 192.168.0.39:6003 192.168.0.39:6004 192.168.0.39:6005 192.168.0.39:6006【注意自己服务器的ip地址,中途有个地方需要手动输入yes即可,使用create命令 --replicas 1 参数表示为每个主节点创建一个从节点,其他参数是实例的地址集合.】
10、最后连接集群节点,连接任意一个即可:redis01/redis-cli -p 7001 -c 注意:一定要加上-c,不然节点之间是无法自动跳转的!如下图可以看到,存储的数据(key-value)是均匀分配到不同的节点的。
11、安装结束。几个常用的命令
1.查看当前集群信息:cluster info
2.查看集群里有多少个节点:cluster nodes