原文:https://blog.csdn.net/pistolove/article/details/58298755?ticket=ST-18340-cX0jzmWFtAJa5OCOFrg5-passport.csdn.net
若需删除可联系QQ3133403772
开放端口要开放对应的带1端口,例如7001那么17001也要开放
1、下载解压
wget http://download.redis.io/releases/redis-3.2.7.tar.gz
tar -zxvf redis-3.2.7.tar.gz
2、安装
cd redis-3.2.7
make
make install
3、将启动集群的文件redis-trib.rb 拷贝到本地 /usr/local/bin 目录下
cd /redis-3.2.7/src
cp src /usr/local/bin/
4、创建服务节点,在服务器上(这里以本地127.0.0.1为例),创建集群的文件夹redis_cluster
mkdir redis_cluster
cd redis_cluster
mkdir 7001
将解压的redis-3.2.7拷贝rediscuter中重新命名为redis_7000
cp redis.conf /redis_cluster/7001
修改/redis_cluster/7001中的redis.conf文件
port 7000 //端口7000,7002,7003
bind 内网IP //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7001,7002
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
然后将redis_7000复制5分放入/redis_cluster中命名分别为redis_7001、redis_7002、redis_7003、redis_7004、redis_7005;
然后分别修改其目录下的redis.conf文件中的端口和ip。
5、启动各节点,进入redis_7000目录下,启动如下
用相同的redis-server
./redis-server redis.conf
然后依次启动redis_7001、redis_7002、redis_7003、redis_7004、redis_7005。
6、查看情况
ps -ef | grep redis
root 24559 24517 0 16:37 pts/0 00:00:00 grep redis
root 31987 1 0 11:40 ? 00:01:44 redis-server 127.0.0.1:7000 [cluster]
root 32002 1 0 11:40 ? 00:02:40 redis-server 127.0.0.1:7001 [cluster]
root 32006 1 0 11:40 ? 00:01:11 redis-server 127.0.0.1:7002 [cluster]
root 32015 1 0 11:40 ? 00:00:28 redis-server 127.0.0.1:7003 [cluster]
root 32027 1 0 11:40 ? 00:00:28 redis-server 127.0.0.1:7005 [cluster]
root 32136 1 0 11:43 ? 00:00:28 redis-server 127.0.0.1:7004 [cluster]
7、 更改生成的nodes-redis-xxx.conf
如果是专用网络的云服务器ECS,初始只有内网网卡,没有公网网卡的时候,在每个redis.conf中的bind需要配置内网IP,在生成nodes-端口号.conf文件后,要手动更改其中的IP以及端口号。例如:
9a87a42d890bcef4b2d2fa26e08b6790e9b0f61e 47.95.219.156:6380 myself,master - 0 1533823618000 1 connected 0-5460
8、创建集群
Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,第三步中已将它复制到 /usr/local/bin 目录中,可以直接在命令行中使用了。使用下面这个命令即可完成安装。
redis-trib.rb create --replicas 1 公网IP:7000 公网IP:7001 公网IP:7002 公网IP:7003 公网IP:7004 公网IP:7005
中途如果错误内容:/usr/bin/env: ruby: No such file or directory,则需要安装 ruby。这里推荐使用yum install ruby安装,安装命令如下:
yum install ruby
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis
8、验证
通过命令进行访问redis集群: redis-cli -h 127.0.0.1 -c -p 7002 ,加参数 -C 可连接到集群,因为上面 redis.conf 将 bind 改为了ip地址,所以 -h 参数不可以省略。
[root@vm bin]# redis-cli -h 127.0.0.1 -c -p 7002
127.0.0.1:7002> set happy day
-> Redirected to slot [2936] located at 127.0.0.1:7000
OK
127.0.0.1:7000>
[root@vm bin]# redis-cli -h 127.0.0.1 -c -p 7001
127.0.0.1:7001> get happy
-> Redirected to slot [2936] located at 127.0.0.1:7000
"day"
127.0.0.1:7000>