服务器资源
最少三台机器:10.xx.xx.111 10.xx.xx.112 10.xx.xx.113 每台上面部署两个节点一主一从
机器1上操作
1、上传redis-5.0.5.tar.gz包
2、解压
tar xzf redis-5.0.5.tar.gz
3、编译redis
cd redis-5.0.5
make
4、安装
make PREFIX=/home/redis/redis install 安装路径自定义
5、创建redis节点
每台机器创建两个节点,一主一从
创建目录
mkdir /home/redis/redis-cluster
在 redis-cluster 目录下,创建名为7000、7001的目录
$ cd /home/redis/redis-cluster/
$ mkdir 7000 7001
6、将配置文件/home/redis/redis-5.0.5/redis.conf 拷贝到 新建的这两个文件夹中
$ cd /home/redis/redis-5.0.5/
$ cp /home/redis/redis-5.0.5/redis.conf /home/redis/redis-cluster/7000
$ cp /home/redis/redis-5.0.5/redis.conf /home/redis/redis-cluster/7001
7、分别修改这两个配置文件
$ vi 7000/redis.conf
$ vi 7001/redis.conf
以上两个 需要修改的 redis.conf 配置内容 如下,在配置文件中搜索以下内容按照如下修改即可
port 7000
bind 0.0.0.0
daemonize yes
pidfile /var/run/redis_7000.pid
cluster-enabled yes
cluster-config-file nodes_7000.conf
cluster-node-timeout 15000
appendonly yes
各参数解释如下图
接着在另外两台机器上(10.xx.xx.112、10.xx.xx.112)重复以上所有步骤,只是把目录和端口改为7002、7003和7004、7005,对应的配置文件也按照上面规则修改即
8、启动所有节点
##第一台机器111上执行
$ ./home/redis/redis/redis-server /home/redis/redis-cluster/redis-cluster/7000/redis.conf
$ ./home/redis/redis/redis-server /home/redis/redis-cluster/redis-cluster/7001/redis.conf
##第二台机器112上执行
$ ./home/redis/redis/redis-server /home/redis/redis-cluster/redis-cluster/7002/redis.conf
$ ./home/redis/redis/redis-server /home/redis/redis-cluster/redis-cluster/7003/redis.conf
##第三台机器113上执行
$ ./home/redis/redis/redis-server /home/redis/redis-cluster/redis-cluster/7004/redis.conf
$ ./home/redis/redis/redis-server /home/redis/redis-cluster/redis-cluster/7005/redis.conf
9、创建集群
任意一台机器上操作
进入目录
cd /home/redis/redis/ 下
执行创建集群操作:
./redis-cli --cluster create 10.xx.xx.111:7000 10.xx.xx.111:7001 10.xx.xx.112:7002 10.xx.xx.112:7003 10.xx.xx.113:7004 10.xx.xx.113:7005 --cluster-replicas 1
--replicas 1 表示为集群中的每个主节点创建一个从节点,6 个节点就是 3 主 3 从。
注意:此创建集群的命令只有在redis版本大于5.0时才使用,低版本的redis只能借助于ruby工具进行创建
至此所有步骤全部完成
10、验证redis集群启动情况
在每台机器上执行查看redis启动情况和启动端口
$ ps -ef | grep redis
列出集群当前已知的所有节点(node),以及这些节点的相关信息
先登录一个redis的客户端
进入目录:/home/redis/redis/
执行登录
./redis-cli -h 10.xx.xx.111 -c -p 7000
(图中端口有误,按照自己实际端口登录)
进入后在命令行输入cluster nodes查看当前进群节点有哪些,哪些是master,哪些是slave
cluster nodes列出集群当前已知的所有节点( node),以及这些节点的相关信息。
验证在111上存值,在112上取值
(图中端口有误,按照自己实际端口登录)
111机器上
(图中端口有误,按照自己实际端口登录)
112上