Redis集群安装
参考:
- 安装步骤参考:安装步骤
- 问题解决参考:
编译redis报错"cc:未找到命令"解决方案
Ruby环境安装
目标和准备
- 目标是搭建3主3从,物理机有2台
- IP分别是 192.168.31.111 192.168.31.112
安装Redis
- 环境装备:
yum -y install gcc automake autoconf libtool make - 下载源码
mkdir /usr/local/redis
cd /usr/local/redis
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
这里友情提示,路径可能会更新,可以自行去官方复制路径 - 解压
tar -zxvf redis-3.2.4.tar.gz - 编译
cd redis-3.2.4
make && make install - 将 redis-trib.rb 复制到 /usr/local/bin 目录下
cd src
cp redis-trib.rb /usr/local/bin/
注意: 两台物理机重复上述操作,都安装redis
启动服务
配置服务
- 目录切换到 redis-3.2.4下
cd /usr/local/redis/redis-3.2.4
mkdir redis_cluster
cd redis_cluster
mkdir 7000 7001 7002 # 第一机器 第二台 mkdir 7003 7004 7005
cp …/redis.conf ./7000/ ./7001/ ./7002/ - 修改redis.conf配置文件
cd 7000
vi redis.conf
注意:接着在另外一台机器上(192.168.31.112),的操作重复以上三步,只是把目录改为7003、7004、7005,对应的配置文件也按照这个规则修改即可port 7000 //端口7000,7002,7003 bind 192.168.31.111(本机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-server /usr/local/redis/redis-3.2.4/redis_cluster/7000/redis.conf
redis-server /usr/local/redis/redis-3.2.4/redis_cluster/7001/redis.conf
redis-server /usr/local/redis/redis-3.2.4/redis_cluster/7002/redis.conf
机器二:
redis-server /usr/local/redis/redis-3.2.4/redis_cluster/7003/redis.conf
redis-server /usr/local/redis/redis-3.2.4/redis_cluster/7004/redis.conf
redis-server /usr/local/redis/redis-3.2.4/redis_cluster/7005/redis.conf -
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
注意这里如果不关闭防火墙需要开放两个端口:
1. client访问服务器端口
2. 集群之间相互通信端口 -
检查
ps -ef | grep redis 查看是否对应得ip:端口得进程
创建集群
安装Ruby
-
本机yum安装版本太低,解决方案:
- 升级本机yum源,安装新版本
- 源码安装
-
吐槽下源码安装,试了2个小时,还是各种坑openssl,可能是我太笨了,百度解决方案试了还是不行,所以我最后还是选择切换yum源,安装
-
安装
yum install centos-release-scl-rh //会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源
yum install rh-ruby23 -y //直接yum安装即可
scl enable rh-ruby23 bash //必要一步
ruby -v //查看安装版本
gem install redis
gem install redis
创建
redis-trib.rb create --replicas 1 192.168.31.111:7000 192.168.31.111:7001 192.168.31.111:7002 192.168.31.112:7003 192.168.31.112:7004 192.168.31.112:7005
这里 replicas 1 代表是1个slave 对应就 1主1从 6个节点就是 3主3从
测试集群
- 111机器上面执行:
redis-cli -c -h 192.168.31.111 -p 7000 # 一定要加 -c 代表集群登录
set hello world - 112机器上面执行:
redis-cli -c -h 192.168.31.112 -p 7003
get hello