redis的集群安装
1、创建安装目录 在master ,node1 ,node2中分别创建
mkdir /usr/local/soft/redis-cluster
2、将redis 复制到redis-cluster 目录下修改名字为7000
cp -r /usr/local/soft/redis /usr/local/soft/redis-cluster
mv /usr/local/soft/redis-cluster/redis /usr/local/soft/redis-cluster/7000
删除单机版缓存文件
rm -rf appendonly.aof
rm -rf dump.rdb
3、修改配置文件 vim redis.conf (可以通过 /xxx 来查找)
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000
port 7000 //端口7000
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes.conf //集群的配置 配置文件首次启动自动生成
cluster-node-timeout 5000 //请求超时 设置5秒够了
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志 (全持久化)
4、复制7000
cp -r 7000 7001
cp -r 7000 7002
cp -r 7000 7003
cp -r 7000 7004
cp -r 7000 7005
5、修改每一个里面的配置
vim 7001/bin/redis.conf
把7000改成对应的端口号
pidfile /var/run/redis_7001.pid
port 7001
6、在7002 ,7003 复制到node1(scp 命令用于 Linux 之间复制文件和目录)
scp -r /usr/local/soft/redis-cluster/7002 node1:/usr/local/soft/redis-cluster/
scp -r /usr/local/soft/redis-cluster/7003 node1:/usr/local/soft/redis-cluster/
7、在7004 ,7005 复制到node2
scp -r /usr/local/soft/redis-cluster/7004 node2:/usr/local/soft/redis-cluster/
scp -r /usr/local/soft/redis-cluster/7005 node2:/usr/local/soft/redis-cluster/
8、启动redis()
1. " ./ “ 的方式类似于新建了一个shell, 在这个新建的shell中去执行脚本中的程序,类似于新建了一个子进程,但这个子进程不继承父进程的所有非export类型的变量,并且脚本中对非export环境变量的创建或修改不会反馈到外部调用shell中
2. ” . " 的方式类似于将脚本中的每一行指令逐条在当前shell中执行,因此它继承了当前shell的环境变量,同时脚本中对环境变量的修改也可以反馈到shell中
1、在master中执行
cd /usr/local/soft/redis-cluster/7000/bin
./redis-server redis.conf
cd /usr/local/soft/redis-cluster/7001/bin
./redis-server redis.conf
2、在node1中执行
cd /usr/local/soft/redis-cluster/7002/bin
./redis-server redis.conf
cd /usr/local/soft/redis-cluster/7003/bin
./redis-server redis.conf
3、在node2中执行
cd /usr/local/soft/redis-cluster/7004/bin
./redis-server redis.conf
cd /usr/local/soft/redis-cluster/7005/bin
./redis-server redis.conf
8、通过工具构建集群 在master中安装
安装工具
yum -y install ruby ruby-devel rubygems rpm-build
上传redis-3.0.0.gem
gem install -l redis-3.0.0.gem
放在/usr/local/bin/ 目录下的命令可以在任何一个位置运行
cp /usr/local/soft/redis-3.0.0/src/redis-trib.rb /usr/local/bin/redis-trib
9、启动集群 第一次使用 都免集群重启不需要使用(在/usr/local/bin下启动)
# replicas 每一个主节点的备份节点数量
redis-trib create --replicas 1 192.168.163.110:7000 192.168.163.110:7001 192.168.163.120:7002 192.168.163.120:7003 192.168.163.130:7004 192.168.163.130:7005
10、客户端访问reids集群
# -p 端口号 -h 节点ip -c 自动重定向
redis-cli -p 7000 -h master -c
查看集群信息
cluster info
查看节点信息
cluster nodes
集群模式不区分读写请求 如果想要在从节点进行查询需要在查询之前执行readonly