-
安装redis server
(参考https://github.com/antirez/redis)
下载redis源码
Wget https://github.com/antirez/redis/archive/5.0-rc3.tar.gz
Tar -xzvf xxxxx.gz
编译安装:
make
启动redis server
Cd src && ./redis-server —port 7000
-
搭建redis集群
启动4台redis服务, 分配不同的端口
redis-server --port 7000 --protected-mode no --cluster-enabled yes --daemonize yes
--protected-mode no: 这个参数没加的话会报错
DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.
--cluster-enabled yes 开启集群模式,这个参数没加的话会报错
[ERR] Node 172.17.0.3:7000 is not configured as a cluster node.
--daemonize yes 以守护进程启动
构建集群:
redis源码包src文件夹下有个ruby脚本redis-trib.rb 用来方便的构建redis集群
./redis-trib.rb create 172.17.0.3:7000 172.17.0.3:7002 172.17.0.3:7003 172.17.0.3:7004
看到如下输出说明集群构建成功
>>> Performing Cluster Check (using node 172.17.0.2:7000)
M: 5c7598031400e0ffe78adb9cb7b4234b7a765acb 172.17.0.2:7000
slots:0-4095 (4096 slots) master
0 additional replica(s)
M: f70e6f058537309c1540aefe82ada1ce6905473a 172.17.0.2:7003
slots:12288-16383 (4096 slots) master
0 additional replica(s)