redis集群搭建

最近在看redis相关的知识,亲自操刀搭建了一下环境
软件环境,vmware虚拟机、centos 7.1 64位
1、下载redis软件
采用wget命令获取当前最新版的redis源代码软件, 命令如下:
wget http://download.redis.io/releases/redis-3.2.1.tar.gz
2、解压
tar -zxvf redis-3.2.1.tar.gz
3、进入redis目录
cd redis-3.2.1
make
make test
make install(可选步骤,这个命令把redis-cli、redis-server等命令放到/usr/bin目录下)
4、简单修改redis.conf配置文件
port 6379 //端口默认是6379
tcp-backlog 2048 //tcp连接数, 受操作系统tcp连接数限制,可以通过修改linux内核参数来调整操作系统的tcp连接数,只调整此参数,不调整操作系统内核参数不起作用的,调整内核参数的分为临时调整(echo 2048 > /proc/sys/net/core/somaxconn)和永久调整(在/etc/sysctl.conf中添加net.core.somaxconn = 2048, 然后执行sysctl -p)

集群参数
cluster-enabled yes
cluster-config-file nodes.conf //nodes.conf 生成的, 不需要自己编辑,每15分钟更新一次
cluster-node-timeout 5000
appendonly yes
5、集群配置
5.1、原理介绍
Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。
Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误.
Redis 集群通过分区来提供一定程度的可用性,在实际环境中当某个节点宕机或者不可达的情况下继续处理命令. Redis 集群的优势:
自动分割数据到不同的节点上。
整个集群的部分节点失败或者不可达的情况下能够继续处理命令。
5.2、搭建步骤
创建6个文件夹,采用端口命名,命令如下:
mkdir 7000 7001 7002 7003 7004 7005
在每个文件夹创建redis.conf
内容如下:
[color=red]port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes[/color]

分别启动每个redis实例
../redis-server ./redis.conf

创建集群
首先安装ruby,命令如下:
yum install ruby
安装ruby redis,命令如下:
gem install redis
安装成功后,会在redis-3.2.1的src目录下有一个redis-trib.rb文件,就是采用它创建集群的

./redis-trib.rb create --replicas 1 127.0.0.1:7000 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
执行后,可以看到输出[color=red][OK] All 16384 slots covered[/color]

这样安装的集群,有3个master和3个slave, 每一个master对应一个slave

5.3、添加节点
创建目录,命令如下:
mkdir 7006
创建 redis.conf文件
启动
../redis-server redis.conf

添加到集群
./redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000

新节点作为某一个master节点的slave
redis 127.0.0.1:7006> cluster replicate ·nodeid·

5.4、删除节点
slave节点可以随意删除
./redis-trib del-node 127.0.0.1:7000 `<node-id>`

master节点不可随意删除
需要先把master节点变为slave节点然后再删除, 具体方法见官网


参考:
1、http://www.redis.cn/topics/cluster-tutorial.html
2、http://blog.csdn.net/tengdazhang770960436/article/details/49925031
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值