centos下搭建redis集群
必备的工具:
redis-3.0.0.tar
redis-3.0.0.gem (ruby和redis接口)
分析:
首先,集群数需要基数,这里搭建一个简单的redis集群(6个redis实例进行集群)。
在一台服务器上操作,因此仅需要6个不同的端口号即可。分别是:7001、7002、7003、7004、7005、7006。
步骤:
1、上传redis-3.0.0.tar到服务器(自己指定自己的软件目录),解压redis-3.0.0.tar。
2、安装c语言环境(安装centos之后,自带c语言环境)
yum install gcc-c++
3、进入到redis-3.0.0目录
make
4、安装redis到/usr/local/redis目录
make install PREFIX=/usr/local/redis
5、查看是否安装成功(出现bin目录即可)
6、前端启动redis(进入上图的bin目录)
./redis-server(开启)
./redis-cli shutdown(关闭)
7、后端启动
需要将redis解压之后的源码包中(redis-3.0.0目录下)的redis.conf文件拷贝到bin目录下
修改redis.conf文件,将daemonize改为yes先要使用vim redis.conf
使用命令后端启动redis
(插播一段,很严重的问题,勒索病毒源!!)
【redis出的漏洞,因为是要发布的服务,所以运行所有ip访问,攻击者可以利用该漏洞帮我创建一个linux用户账户,然后给我加密了一部分文件,所以,在上图的配置中,请点开bind 127.0.0.1,去掉#号或者其他服务器要访问请点开上面的】
【如果是专有网络类型,请不要填写外网ip去绑定,绑定会失败的,填写内网ip就行,阿里云会完成转换的】
bin目录下执行 ./redis-server redis.conf
查看是否启动成功
关闭后端启动的方式:
./redis-cli shutdown
以上是单独的redis安装,接下来搭建集群!
安装ruby
yum install ruby
yum install rubygems
将以下文件上传到linux系统
redis-3.0.0.gem (ruby和redis接口)
进入该目录执行:gem install redis-3.0.0.gem
将redis-3.0.0包下src目录中的以下文件拷贝到/usr/local/redis/redis-cluster/
前提:先新建一个redis-cluster目录
搭建集群最少也得需要3台主机,如果每台主机再配置一台从机的话,则最少需要6台机器。
端口设计如下:7001-7006
第一步:复制出一个7001机器
进入/usr/local/redis/目录执行 cp bin ./redis-cluster/7001 –r
第二步:如果存在持久化文件,则删除
rm -rf appendonly.aof dump.rdb
第三步:设置集群参数
第四步:修改端口
第五步:复制出7002-7006机器
给出我桌面系统下的目录结构:
接下来设置一键启动全部redis或者关闭redis群:
首先,新建一个文件,可以用vim打开一个不存在的文件,然后保存就存在了。(上图的start-all.sh和shutdow-all.sh就是我新建的)
start-all.sh:
- cd 7001
- ./redis-server redis.conf
- cd ..
- cd 7002
- ./redis-server redis.conf
- cd ..
- cd 7003
- ./redis-server redis.conf
- cd ..
- cd 7004
- ./redis-server redis.conf
- cd ..
- cd 7005
- ./redis-server redis.conf
- cd ..
- cd 7006
- ./redis-server redis.conf
- cd ..
shutdow-all.sh:
- cd 7001
- ./redis-cli -p 7001 shutdown
- cd ..
- cd 7002
- ./redis-cli -p 7002 shutdown
- cd ..
- cd 7003
- ./redis-cli -p 7003 shutdown
- cd ..
- cd 7004
- ./redis-cli -p 7004 shutdown
- cd ..
- cd 7005
- ./redis-cli -p 7005 shutdown
- cd ..
- cd 7006
- ./redis-cli -p 7006 shutdown
- cd ..
接下来修改那两个文件权限,设置其为可启动的脚本文件
chmod u+x start-all.sh
chmod u+x shutdown-all.sh
接下来用ruby连接这几个集群,进行管理
/redis-trib.rb create --replicas 1 192.168.78.133:7001 192.168.78.133:7002 192.168.78.133:7003 192.168.78.133:7004 192.168.78.133:7005 192.168.78.133:7006
出现:
- Connecting to node 192.168.242.137:7001: OK
- Connecting to node 192.168.242.137:7002: OK
- Connecting to node 192.168.242.137:7003: OK
- Connecting to node 192.168.242.137:7004: OK
- Connecting to node 192.168.242.137:7005: OK
- Connecting to node 192.168.242.137:7006: OK
- >>> Performing hash slots allocation on 6 nodes...
- Using 3 masters:
- 192.168.242.137:7001
- 192.168.242.137:7002
- 192.168.242.137:7003
- Adding replica 192.168.242.137:7004 to 192.168.242.137:7001
- Adding replica 192.168.242.137:7005 to 192.168.242.137:7002
- Adding replica 192.168.242.137:7006 to 192.168.242.137:7003
- M: 8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24 192.168.242.137:7001
- slots:0-5460 (5461 slots) master
- M: 4f52a974f64343fd9f1ee0388490b3c0647a4db7 192.168.242.137:7002
- slots:5461-10922 (5462 slots) master
- M: cb7c5def8f61df2016b38972396a8d1f349208c2 192.168.242.137:7003
- slots:10923-16383 (5461 slots) master
- S: 66adf006fed43b3b5e499ce2ff1949a756504a16 192.168.242.137:7004
- replicates 8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24
- S: cbb0c9bc4b27dd85511a7ef2d01bec90e692793b 192.168.242.137:7005
- replicates 4f52a974f64343fd9f1ee0388490b3c0647a4db7
- S: a908736eadd1cd06e86fdff8b2749a6f46b38c00 192.168.242.137:7006
- replicates cb7c5def8f61df2016b38972396a8d1f349208c2
- Can I set the above configuration? (type 'yes' to accept): yes
- >>> Nodes configuration updated
- >>> Assign a different config epoch to each node
- >>> Sending CLUSTER MEET messages to join the cluster
- Waiting for the cluster to join..
- >>> Performing Cluster Check (using node 192.168.242.137:7001)
- M: 8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24 192.168.242.137:7001
- slots:0-5460 (5461 slots) master
- M: 4f52a974f64343fd9f1ee0388490b3c0647a4db7 192.168.242.137:7002
- slots:5461-10922 (5462 slots) master
- M: cb7c5def8f61df2016b38972396a8d1f349208c2 192.168.242.137:7003
- slots:10923-16383 (5461 slots) master
- M: 66adf006fed43b3b5e499ce2ff1949a756504a16 192.168.242.137:7004
- slots: (0 slots) master
- replicates 8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24
- M: cbb0c9bc4b27dd85511a7ef2d01bec90e692793b 192.168.242.137:7005
- slots: (0 slots) master
- replicates 4f52a974f64343fd9f1ee0388490b3c0647a4db7
- M: a908736eadd1cd06e86fdff8b2749a6f46b38c00 192.168.242.137:7006
- slots: (0 slots) master
- replicates cb7c5def8f61df2016b38972396a8d1f349208c2
- [OK] All nodes agree about slots configuration.
- >>> Check for open slots...
- >>> Check slots coverage...
- [OK] All 16384 slots covered.
则代表成功了!
测试一下,进入7001目录执行:./redis-cli -h 192.168.242.137 -p 7001 –c
centos下搭建redis集群的更多相关文章
- Windows下搭建Redis集群
Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用 ...
- Redis集群搭建(转自一菲聪天的“Windows下搭建Redis集群”)
配置Redis参考:http://blog.csdn.net/zsg88/article/details/73715947 使用Ruby配置集群参考:https://www.cnblogs.com/t ...
- Windows下 搭建redis集群
Windows下搭建redis集群教程 一,redis集群介绍 Redis cluster(redis集群)是在版本3.0后才支持的架构,和其他集群一样,都是为了解决单台服务器不够用的情况,也防止了主 ...
- windows环境下搭建Redis集群
转载请注明出处,原文章地址: https://www.cnblogs.com/tommy-huang/p/6240083.html Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Red ...
- Windows下搭建REDIS集群
Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用 ...
- linux系统centOS7下搭建redis集群中ruby版本过低问题的解决方法
问题描述: 在Centos7中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4... 那就有点麻烦了,譬如:我准备使用redis官方给的 ...
- Windows环境下搭建Redis集群(Redis-x64-3.2.100)
一 .前期准备Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb 二.安装配置redisredis下载地址 ht ...
- Redis → Windows下搭建redis集群
一,redis集群介绍 Redis cluster(redis集群)是在版本3.0后才支持的架构,和其他集群一样,都是为了解决单台服务器不够用的情况,也防止了主服务器宕机无备用服务器,多个节点网络互联 ...
- CentOS下部署Redis集群
一.部署环境 服务器三台: 10.10.15.41(配置运行两个实例,端口:6379,6380) 10.10.15.42(配置运行两个实例,端口:6381,6382) 10.10.15.43(配置运行 ...
随机推荐
- lvm的vg扩容
本次扩容的目的是要扩展 / 的整体容量,具体操作如下: 1.首先查看是否存在未分配的磁盘 [root@NH-Test-44 ~]# fdisk -l Disk /dev/vda: 53.7 GB, 5 ...
- 【Spring】BeanFactory解析bean详解
在该文中来讲讲Spring框架中BeanFactory解析bean的过程,该文之前在小编原文中有发表过,要看原文的可以直接点击原文查看,先来看一个在Spring中一个基本的bean定义与使用. pac ...
- c++内存优化:二级间接索引模式内存池
/********************************************************* 在一些不确定内存总占用量的情形下,频繁的使用new申请内存,再通过链表 进行索引似 ...
- python selenium2示例 - 生成 HTMLTestRunner 测试报告
前言 在python selenium2自动化测试过程中,一个合适的报告是必须的,而HTMLTestRunner模块为我们提供了一个很好的报告生成功能. 什么是HTMLTestRunner HTMLT ...
- C#非泛型集合和泛型集合的超级详解
C# 泛型集合之非泛型集合类与泛型集合类的对应: ArrayList对应List HashTable对应Dictionary Queue对应Queue Stack对应Stack SortedList对 ...
- Python爬虫 正则表达式
1.正则表达式概述 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来 ...
- Oracle 一些基本命令
--创建表空间 --DATAFILE: 表空间数据文件存放路径 --SIZE: 起初设置为200M --空间名称MOF_TEMP与数据文件名称不要求相同,可随意命名. --AUTOEXTEND ON/ ...
- 微信端解决a标签链接 失效的问题
最近常碰到这个问题就是 在微信端点击a标签链接的时候,第一次正常界面跳转.但是,界面重新跳转回来再次点击a标签的话 .出现 界面不跳转,但是进度条加载完毕,点击多次页面无法跳转. 解决办法 在链接后边 ...
- Webpack模块加载器
一.介绍 Webpack是德国开发者 Tobias Koppers 开发的模块加载器,它能把所有的资源文件(JS.JSX.CSS.CoffeeScript.Less.Sass.Image等)都作为模块 ...
- vim粘贴代码问题
vim粘贴代码问题 vim 在使用xshell进行vim操作的时候,经常会直接粘贴一些外部的代码,然后粘贴上之后会出现逐行缩进的情况,之前一直没有去找为啥,并且逐行的给他弄回去. 转自:https:/ ...