redis安装和redis集群配置
来源:互联网 发布:mac压缩包打不开 编辑:程序博客网 时间:2024/06/05 09:25
redis介绍
什么是redis
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库. 他通过提供多种数据类型来适应不同场景下的存储需求, 目前Redis键值数据类型有
字符串类型, 散列类型, 列表类型, 集合类型, 有序集合类型redis的应用场景
缓存(数据查询, 短连接, 新闻内容, 商品内容等)
分布式集群架构中的session分离
聊天室的在线好友列表
任务列表
应用排行榜
网站访问统计
数据过期处理(可以精确到毫秒)redis的安装
redis是C语言开发, 建议在linux上运行, 这里使用Centos7作为安装环境, 安装redis需要先将官网下的源码进行编译, 编译依赖gcc环境, 如果没有gcc环境 需要安装gcc: yum install gcc-c++
这里使用的是redis-4.0.2
将redis-4.0.0.tar.gz拷贝到/usr/local下(不一定要放在/usr/local下)
①解压源码
tar -zxvf redis-4.0.2.tar.gz
②进入解压后的目录进行编译
cd /usr/local/redis-4.0.2
make
③安装到指定目录, 如/usr/local/redis
cd /usr/local/redis-4.0.2
make install PREFIX=/usr/local/redis
⑤拷贝配置文件到安装目录下
进入源码目录, 里面有一份配置文件redis.conf, 然后将其拷贝到安装路径下
cd /usr/local/redis-4.0.2
cp redis.conf /usr/local/redis/bin
cd /usr/local/redis/bin
输入 ll 查看
redis-sentinel是redis集群管理工具可实现高可用redis启动
①直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法, 如下图:
②后端模式启动
修改redis.conf配置文件, daemonize yes 以后端模式启动
执行如下命令启动redis:
cd /usr/local/redis/bin
./redis-servcer redis.conf
输入ps aux|grep redis
redis默认使用6379端口- 到这里redis基本配置好了
redis集群
1.redis-cluster架构图
架构细节
(1)所有的redis节点彼此互联(PING-PONG机制),
内部使用二进制协议优化传输速度和带宽
(2)节点的fail是通过集群中超过半数的节点检测失效时才生效
(3)客户端与redis节点直连, 不需要中间proxy层, 客户端不需要连接集群所有节点, 连接集群中任何一个可用节点即可
(4)redis-cluster把所有的物理节点映射到[0-16383]slot上, cluster负责维护
Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点
2.redis-cluster投票: 容错
(1)领着投票过程是集群中所有master参与, 如果半数以上master节点与master节点通信超过(cluster-node-timeout), 认为当前master节点挂掉
(2):什么时候整个集群不可用(cluster_state:fail)?
a:如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成集群的slot映射[0-16383]不完成时进入fail状态.
b:如果集群超过半数以上master挂掉,无论是否有slave集群进入fail状态.
ps:当集群不可用时,所有对集群的操作做都不可用,收到((error) CLUSTERDOWN The cluster is down
错误
下面开始搭建集群环境
3.ruby环境
redis集群管理工具redis-trib.rb依赖ruby环境, 首先需要安装ruby环境
安装ruby
yum install ruby
安装ruby和redis的接口程序
gem install redis
这时候可能会报错 如下图
决解方法如下
yum install curl
然后输入查看 ruby最新版本
source /usr/local/rvm/scripts/rvm
rvm list known
最新版本是2.4.1
接着输入 rvm install 2.4.1进行安装
安装完成后
rvm use 2.4.1
rvm remove 2.0.0
gem install redis
4.集群搭建
这里创建6个redis实例, 端口号从7001 - 7006
①在/usr/local下创建redis-cluster目录
cd /usr/local
mkdir redis-cluster
cd redis
cp -r bin ../redis-cluster/redis01
cd ../redis-cluster
cd redis01
rm -f dump.rdb
然后修改redis.conf
vim redis.conf
这是第一个端口号就修改为7001
接着开启cluster-enabled 默认是被注释了
②接着复制
cp -r redis01/ redis02
cp -r redis01/ redis03
cp -r redis01/ redis04
cp -r redis01/ redis05
cp -r redis01/ redis06
依次打开修改下面的redis.conf的端口号改为7002 7003…7006
③将redis源码目录src下的redis-trib.rb拷贝到redis-cluster目录下
cd /usr/local/redis
cp *.rb /usr/local/redis-cluster/
cd /usr/local/redis-cluster
ll
④创建一个脚本方便开启redis
cd /usr/local/redis-cluster
vim startall.sh
编辑内容为
输入./startall.sh运行
这时候可能会提示权限不够
输入chmod +x startall.sh
⑤执行创建集群命令
127.0.0.1换为端口所在的ip, 我这里是127.0.0.1
可以输入ps axu|grep redis查看
./redis-trib.rb create –replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
⑥测试集群 -p 任意节点都可以, 主从节点都可以
-c代表集群
redis01/redis-cli -h 127.0.0.1 -p 7002 -c
⑧集群的关闭
cd /usr/local/redis-cluster
创建一个脚本
vim shutdown.sh
内容是
chmod +x shutdown.sh
关闭集群
./shutdown.sh
- redis安装和redis集群配置
- Redis集群配置和安装
- redis 集群安装配置
- redis集群安装配置
- redis集群安装配置
- Window下安装redis和配置集群
- redis集群和安装
- linux安装配置Redis及Redis集群
- Redis主从集群以及sentinel集群安装和配置总结
- redis 集群安装与配置
- centos7安装redis 配置集群
- 安装redis和配置redis
- 编译安装redis和redis集群
- CentOS下安装redis和redis集群
- redis安装配置使用,redis集群配置,redis集群管理,redis集群使用,php使用redis集群
- redis主从和集群配置
- redis和spring集群配置
- redis集群安装和使用
- dddddddd
- 如何更精准的找到你需要的开源库
- BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+分块)
- Ruby插入排序的常规写法和递归写法
- Java基础学习总结(1)—Java编程语言概述及环境搭建
- redis安装和redis集群配置
- 如何访问虚拟机(另一台设备)上运行的 Web 项目
- Linux下配置JDK
- JDBC为什么要使用PreparedStatement而不是Statement
- 网络工程师成长日记162-网络工程师的定位
- project euler 10 Summation of primes
- 菜鸟程序员—Andriod布局
- 深圳外包及不考虑公司名单
- Nginx干货(一)隐藏Nginx标识与版本号