Redis集群部署

18 篇文章 0 订阅
11 篇文章 0 订阅
                             Redis集群部署

以下为了验证集群可用性只在一台服务器启动6个不同端口的实例

1.关闭selinux、firewalld
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i “s/SELINUX=enforcing/SELINUX=disabled/g” /etc/sysconfig/selinux

2.为6台服务器安装redis服务
yum - y install gcc gcc-c++
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar -xf redis-5.0.5.tar.gz
cd redis-5.0.5
make && make install

cd /redis-5.0.5/utils
sh ./install _server.sh //脚本运行安装配置redis 方便开机自动启动

直接回车 //默认端口6379 如需修改端口直接输入端口号
直接回车 //默认端口配置文件路径 /etc/redis/6379.conf
直接回车 //日志默认路径 /var/log/redis_6379.log
直接回车 //数据库目录文件 /var/lib/redis/6379
直接回车
回车 完成

再启动第二个实例端口6380
sh ./install _server.sh
输入 6380
一直回车到结束

第三个实例
sh ./install _server.sh
输入 6381
一直回车到结束

直到6个实例

netstat -nulpt //可以看到有不同实例的6个端口

3.修改配置文件开启集群以及节点

配置文件路径 /etc/redis/
有6个不同配置文件 6379.conf 6380.conf 6381.conf 6382.conf …
每个配置文件都要开启集群和节点

vi 6379.conf

70 行 bind 0.0.0.0
501行 #requirepass foobared 修改为 requirepass 123456 //设置密码为123456
825 行 cluster-enabled yes //开启集群
833行 cluster-conifg-file nodes-xxx.conf //xxx自定义端口号
839行 cluster-node-timeout 5000
maxclients 10000 //并发连接数
daemonize yes //守护进程方式运行
databases 16 //数据库个数

vi 6380.conf
70 行 bind 0.0.0.0
501行 #requirepass foobared 修改为 requirepass 123456 //设置密码为123456
825 行 cluster-enabled yes //开启集群
833行 cluster-conifg-file nodes-xxx.conf //xxx自定义端口号
839行 cluster-node-timeout 5000
maxclients 10000 //并发连接数
daemonize yes //守护进程方式运行
databases 16 //数据库个数

重启所有redis服务实例
提醒:如果kill杀死进程,无法重启就重启服务器redis服务自动启动
ss -nultp //有十二个redis服务器端口

启动/停止及连接服务

/etc/init.d/redis_6379 //启动命令
/etc/init.d/redis_6379 restat //重启动命令
/etc/init.d/redis_6379 status
/etc/init.d/redis_6379 stop /这种停服务 进程没有了,但仍然redis is running()如果修改了端口使用脚本停服务无法停止/

redis-cli shutdown //这种停服务直接可退出
redis-cli -p 6380 shutdown //修改了端口后的停止服务

redis-cli //默认连接 127.0.0.1 6379-
在客户端访问任意一台master主机存数据
redis-cli -c -h主机 -p 端口 -a密码 //-c是集群模式
redis-cli -h 10.10.100.110 -p 6380 -a 123456
cluster info //查看集群信息
cluster nodes //查看节点信息

四.在任意一台redis服务器上,执行创建集群脚本
部署ruby脚本运行环境
创建集群

yum -y install ruby rubygems ruby-devel // 由于直接官方源安装版本太低需要配置源安装方法一:
yum install centos-release-scl-rh
yum -y install rh-ruby23
scl enable rh-ruby23 bash
ruby -v
gem -v

gem install redis
cp -r /redis-5.0.5/src/redis-trib.rb /usr/local/sbin

方法二: wget https://rubygems.org/gems/rubygems-update-3.0.6.gem
gem rubygems-update-3.0.6.gem

创建集群
cd /redis-5.0.5/src/
redis-trib.rb create --replicas 1 host:port host:post //格式
–replicas 1 //自动为每一个master节点分配一个slave节点

redis-trib.rb create --replicas 1 10.10.100.110:6379 10.10.100.110:6380
10.10.100.110:6381 10.10.100.110:6382 10.10.100.110:6383 10.10.100.110:6384

//redis-cli命令
redis-cli -h //查看命令帮助
常用选项
-h ip地址
-p 端口
-c 集群模式

redis-trib.rb脚本
redis-trib.rb 选项 参数
常用选项
add-node 添加master主机
check 检测集群
reshard 重新分布
add-node --slave 添加slave主机
del-node 删除主机

                    redis 主从复制

主从复制缺点:
网络繁忙,会产生数据同步延时问题
系统繁忙,会产生数据同步延时问题

同样方式安装redis
redis服务运行后,默认都是master服务器
配置从库 :
sed -n ‘’70p;282p;289p” /etc/redis/6379.conf
bind 0.0.0.0
slaveof 10.10.100.111 6379 //主库ip与端口
msterauth 123456 //主库密码
/etc/init.d/redis_6379 restart
redis-cli -h 10.10.100.110
info replication //查看主从状态
输入命令 slaveof 10.10.100.111 6379

反客为主 (需手动)
主库宕机后,手动将从库设置为主库
redis-cli -h 10.10.100.110
slaveof no one //手动设置为主库
info replication //查看主从配置信息

                           哨兵模式   

哨兵模式
主机宕机后,从库自动升级为主库
在slave主机编辑sentinel.conf 文件
在slave主机运行哨兵程序
vim /etc/sentinel.conf
sentinel monitor redis111 10.10.100.111 6379 1
sentinel auth-pass redis111 123456//是连接主库密码
// 1 是票数:有几台哨兵主机连接不上主库时,切换主库
// 6379 端口
// redis111 是自定义的

redis-sentinel /etc/sentinel.conf

                         持久化之RDB  

R

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值