Redis与Redis 伪集群环境的搭建
一 、准备工作
- GCC编译环境
- ruby运行环境
- 安装ruby脚本运行包
二、环境安装
1.GCC环境
首先,因为redis是由C语言编写的,所以需要安装GCC环境,可以用
gcc -v
命令来检查是否安装了GCC环境,如果已经安装了的可以跳过这一步,没有用
yum install gcc-c++
来进行GCC环境的在线安装。
2.ruby运行环境
注:如果只是想使用单机Redis,即不搭建集群可以跳过2、3环境的安装,但是如果要搭建redis集群的话必须要有ruby环境和脚本运行包
使用以下两条命令来安装ruby的运行环境:
yum install ruby
yum install rubygems
3.ruby脚本运行包
网上自行下载ruby的脚本运行包,下载地址https://rubygems.org/gems/redis/versions/3.0.0上传到Linux中进行安装,我这里用的是redis-3.0.0.gem包,所以使用命令
gem install redis-3.0.0.gem
来进行安装,这里根据自己的版本来安装,
三、redis的安装
1.将自己下载的redis源码包上传到Linux中,解压缩
2.进入redis解压的目录,这里有一个Makefile文件,就是用于安装redis的,输入命令
make install PREFIX=/usr/local/redis
PREFIX后指定的是redis的安装目录,可以自行修改,我这里把它安装到/usr/local/redis目录
四、redis的启动
redis有两种前端和后端两种方式的启动,推荐使用后端启动,如果使用前端启动,退出客户端之后,redis服务就关闭了,不利于开发
前端启动
前端启动的方式比较简单,进入redis的目录
cd /usr/local/redis/bin
./redis-server
看到以下界面说明redis启动成功

后端启动
后端启动需要修改redis的配置文件,首先将解压目录的/redis-3.0.0/redis.conf复制到/usr/local/redis/bin目录下,
cp /redis-3.0.0/redis.conf /usr/local/redis/bin
之后修改配置文件,用vim打开redis.conf,然后找到daemonize no 将no修改为yes,保存退出,再用命令
./redis-server redis.conf
启动redis,可以用命令 ps aux|grep redis 来查看redis是否启动成功,如果有redis进程,就代表成功启动
连接和关闭redis
连接redis:./redis-cli -h 192.168.61.129-p 6379
-h:连接的服务器的地址
-p:服务的端口号
关闭redis: ./redis-cli shutdown
五、搭建redis的伪集群(重点)
因为redis的投票容错机制,redis集群至少需要三个redis服务器,每台redis服务器需要定时的向其他服务器发送自己的状态,让其它的redis服务器进行投票确认这台服务器是不是挂了,为了保证集群的高可用,每台主节点至少要有一个备用节点,因此这次我们搭建三个主节点和三个备用节点。
1.在/usr/local目录下创建 redis-cluster目录
2.修改bin目录下的redis.conf 文件 使用vim命令打开redis.conf 关键字搜索找到 cluster-enabled yes 这一条,把注释去掉,保存退出
3.将bin目录复制到redis-cluster目录,复制六份,并且每个文件夹重命名为redis01、redis02......以此类推
cp -r /usr/local/redis/bin/ /usr/local/redis-cluster/redis01
cp -r /usr/local/redis/bin/ /usr/local/redis-cluster/redis02
...........................
4.分别修改每个redis01,02中的配置文件的端口port分别为7001、7002、7003....以此类推

5.为了方便一键启动redis集群而不用一个一个启动server ,我们创建启动和关闭redis服务的批处理脚本,在redis-cluster目录下分别创建两个名为start-all.sh和shutdown-all.sh的文件,文件内容分别为:
start-all.sh
cd ../
cd redis02
./redis-server redis.conf
cd ../
cd redis03
./redis-server redis.conf
cd ../
cd redis04
./redis-server redis.conf
cd ../
cd redis05
./redis-server redis.conf
cd ../
cd redis06
./redis-server redis.conf
cd ../
shutdown-all.sh
redis01/redis-cli -p 7001 shutdown
redis02/redis-cli -p 7002 shutdown
redis03/redis-cli -p 7003 shutdown
redis04/redis-cli -p 7004 shutdown
redis05/redis-cli -p 7005 shutdown
redis06/redis-cli -p 7006 shutdown
并且修改这两个文件的权限,使之成为可执行文件
chmod u+x start-all.sh
chmod u+x shutdown-all.sh
6.使用批处理脚本启动每个redis节点,再使用ruby脚本搭建redis集群
./redis-trib.rb create --replicas 1 192.168.61.129:7001 192.168.61.129:7002 192.168.61.129:7003 192.168.61.129:7004 192.168.61.129:7005 192.168.61.129:7006
在这里有一个特别要注意的点,在使用上面的命令搭建集群的时候,当执行到Can I set the above configuration? (type 'yes' to accept)的时候,会让你输入yes继续,注意!!!这里是输入yes!这里是输入yes!这里是输入yes!而不是像其他的Linux命令输入 y 就执行,如果不是输入的yes,首先集群搭建不成功但是没有错误提示,会导致后面的一些连接节点的操作无法执行,博主曾经在这个坑里待了一下午才找到原因,切记切记!!!
到此redis的集群就搭建完成了,因为条件的限制,我们这次搭建的是伪集群。
六:集群的连接
使用命令连接集群,其中的-c参数表示连接的是redis集群
redis01/redis-cli -p 7002 -c
Redis与Redis 伪集群环境的搭建的更多相关文章
- redis集群环境的搭建和错误分析
redis集群环境的搭建和错误分析 redis集群时,出现的几个异常问题 09 redis集群的搭建 以及遇到的问题
- ZooKeeper伪集群环境搭建
1.从官网下载程序包. 2.解压. [dev@localhost software]$ tar xzvf zookeeper-3.4.6.tar.gz 3.进入zookeeper文件夹后创建data文 ...
- hadoop集群环境的搭建
hadoop集群环境的搭建 今天终于把hadoop集群环境给搭建起来了,能够运行单词统计的示例程序了. 集群信息如下: 主机名 Hadoop角色 Hadoop jps命令结果 Hadoop用户 Had ...
- Nacos集群环境的搭建与配置
Nacos集群环境的搭建与配置 集群搭建 一.环境: 服务器环境:CENTOS-7.4-64位 三台服务器IP:192.168.102.57:8848,192.168.102.59:8848,192. ...
- Linux下Hadoop2.7.3集群环境的搭建
Linux下Hadoop2.7.3集群环境的搭建 本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安 ...
- Linux下Redis集群环境的搭建
一.安装redis(使用redis3.0版本) 1.需要gcc环境,如果没有执行命令安装gcc yum install gcc-c++ 2.下载redis3.0的源码包并上传至服务器 3.解压源码包 ...
- ElasticSearch 5.2.2 集群环境的搭建
在之前 ElasticSearch 搭建好之后,我们通过 elasticsearch-header 插件在查看 ES 服务的时候,发现 cluster-health 显示的是 YELLOW. Why? ...
- zookeeper3台机器集群环境的搭建
三台机器zookeeper的集群环境搭建 Zookeeper 集群搭建指的是 ZooKeeper 分布式模式安装. 通常由 2n+1台 servers 组成. 这是因为为了保证 Leader 选举(基 ...
- redis之(十六)redis的cluster集群环境的搭建,转载
最近redis已经比较火了,有关redis的详细介绍,网上有一大堆,我这里只作简单的介绍,然后跟大家一起学习Redis Cluster 3.0的搭建与使用.Redis是一款开源的.网络化的.基于内存的 ...
随机推荐
- Dubbo加权轮询负载均衡的源码和Bug,了解一下?
本文是对于Dubbo负载均衡策略之一的加权随机算法的详细分析.从2.6.4版本聊起,该版本在某些情况下存在着比较严重的性能问题.由问题入手,层层深入,了解该算法在Dubbo中的演变过程,读懂它的前世今 ...
- 【TS】358- 浅析 TypeScript 设计模式
点击上方"前端自习课"关注,学习起来~ 作者:DD菜 https://zhuanlan.zhihu.com/p/43283016 设计模式就是软件开发过程中形成的套路,就如同你在玩 ...
- 2.成产出现 max(vachar2)取值问题
uat 测试结果正确max(9)>max(8),结果生产出现 max(9)>max(12) 原因:字符类型,默认比较第一个字符的ASCII码. 解决方式: max(to_number(va ...
- 花生日记_花生日记APP下载_花生日记官方网站
花生日记 国内领先的社交电商导购分享平台. 独创社交电商3+模式,社交+电商+社群,上线1个月注册用户超百万.合作商家涵括各个类目以及平台.为数万宝妈提供月收入3000以上兼职收入. 微信扫描下方二维 ...
- (译)An introduction to Kubernetes
原文:https://www.jeremyjordan.me/kubernetes/(博客园团队推荐的) 这篇博客文章将对Kubernetes进行介绍,以便您了解该工具背后的动机,含义以及使用方式.在 ...
- JavaFX如何为按钮设置快捷键?
JavaFX为按钮设置快捷键的方式有很多,先说下常见的一种. 第一种: KeyCodeCombination kc1 = new KeyCodeCombination(KeyCode.W, KeyCo ...
- vue解惑之slot(插槽)
一.插槽是个什么玩意,能吃吗 在vue中[插槽],从字面意思来看,插槽意味着[内容的增加],回到vue的使用场景,插槽就是[父组件调用子组件时,额外增加的内容]. 插槽显不显示.显示的内容是由父组件来 ...
- 深度学习优质学习项目大放送!-AI Studio精选开源项目合集推荐
近期 在AI Studio上发现了不少优质的开源深度学习项目,从深度学习入门到进阶,涵盖了CV.NLP.生成对抗网络.强化学习多个研究方向,还有最新的动态图,都以NoteBook的方式直接开源出来,并 ...
- day07什么是方法、方法的定义、方法的调用
复习 1.数组 1)什么是数组 数组就是一种能够保存 多个相同数据类型的数据的变量 2)为什么使用数组 3)数组的构成 3.1)数组名 3.2)数组元素 3.3)数组长度 3.4)数组下标 4)数组的 ...
- ASP.NET Core on K8S深入学习(10)K8S包管理器Helm
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 一.关于Helm 1.1 为何需要Helm? 虽然K8S能够很好地组织和编排容 ...