redis集群搭建
安装环境
- redis版本redis-3.0.7
- 虚拟机系统centos7.4
- 用户 root
- 三台服务器:
- 192.168.200.128
- 192.168.200.129
- 192.168.200.130
- 每台服务器redis三个端口号 7000~7002
安装步骤
- 第一步:在三台服务器上分别安装单机版redis,安装过程见单机版reids搭建
- 第二步:安装ruby
- yum install ruby
- 出现【y/n】,选y
- 第三步:安装rubygems组件
- yum install rubygems
- 出现【y/n】,选y
- 第四步:安装ruby脚本运行使用的包
- [root@redis redis-cluster]# gem install redis --version 3.0.7
1 安装成功会出现如下提示:
2
3 Successfully installed redis-3.0.7
4 1 gem installed
5 Installing ri documentation for redis-3.0.7…
6 Installing RDoc documentation for redis-3.0.7…
-
第五步:redis集群配置文件准备
- mkdir -p redis/redis-3.0.7/redis-cluster/{7000,7001,7002}
-
第六步:创建配置文件在7000,7001,7002目录下分别创建
- touch redis.conf
-
第七步:redis.conf内容
1 port 7000 # 端口7000,7001,7002,与目录对应
2 bind 127.0.0.1 #默认ip为127.0.0.1
3 daemonize yes #redis后台运行
4 cluster-enabled yes #开启集群
5 cluster-config-file nodes_7000.conf #集群的配置,配置文件首次启动自动生成 7000,7001,7002
6 cluster-node-timeout 8000 #请求超时,默认15秒,可自行设置
7 appendonly yes #开启aof持久化模式,每次写操作请求都追加到appendonly.aof文件中
8 appendfsync always #每次有写操作的时候都同步
9 pidfile /var/run/redis_7000.pid #pidfile文件对应7000,7001,7002
10
11
12 可以用ftp修改创建好的配置文件,复制的时候把汉字删除掉,否则会运行失败
- 第八步:分别启动三台机器的redis服务在redis-3.0.7目录下执行下面启动代码
- 在三台机器上分别执行下面三条命令
- redis-server redis_cluster/7000/redis.conf
- redis-server redis_cluster/7001/redis.conf
- redis-server redis_cluster/7002/redis.conf
- 第九步:创建集群
- ./redis-trib.rb create --replicas 1 192.168.200.128:7000 192.168.200.128:7001 192.168.200.128:7002 192.168.200.129:7000 192.168.200.129:7001 192.168.200.129:7002 192.168.200.130:7000 192.168.200.130:7001 192.168.200.130:7002
- 第十步:测试
1 [root@node02 src]# ./redis-cli -c -h 192.168.200.130 -p 7001
2 192.168.200.130:7001> set name 111
3 -> Redirected to slot [5798] located at 192.168.200.129:7000
4 OK
5 192.168.200.129:7000> set kkk 111
6 -> Redirected to slot [8583] located at 192.168.200.130:7000
7 OK
8 192.168.200.130:7000> set jjj 111
9 -> Redirected to slot [13735] located at 192.168.200.128:7001
10 OK
11 192.168.200.128:7001> set jiajun 1
12 -> Redirected to slot [8626] located at 192.168.200.130:7000
13 OK
14 192.168.200.130:7000> get jiajun
15 "1"
16 192.168.200.130:7000>
17