redis 集群搭建

redis 集群

1、规划

序号ip:服务端口域名主/从集群端口(服务端口+10000)
1192.168.85.151:7111redis1m117111
2192.168.85.152:7112redis2m217112
3192.168.85.153:7113redis3m317113
4192.168.85.154:7114redis4s117114
5192.168.85.155:7115redis5s217115
6192.168.85.156:7116redis6s317116
1.1 开启防火墙端口
1#
firewall-cmd --add-port=7111/tcp --zone=public --permanent
firewall-cmd --add-port=17111/tcp --zone=public --permanent
systemctl restart firewalld
2#
firewall-cmd --add-port=7112/tcp --zone=public --permanent
firewall-cmd --add-port=17112/tcp --zone=public --permanent
systemctl restart firewalld
3#
firewall-cmd --add-port=7113/tcp --zone=public --permanent
firewall-cmd --add-port=17113/tcp --zone=public --permanent
systemctl restart firewalld
4#
firewall-cmd --add-port=7114/tcp --zone=public --permanent
firewall-cmd --add-port=17114/tcp --zone=public --permanent
systemctl restart firewalld
5#
firewall-cmd --add-port=7115/tcp --zone=public --permanent
firewall-cmd --add-port=17115/tcp --zone=public --permanent
systemctl restart firewalld
6#
firewall-cmd --add-port=7116/tcp --zone=public --permanent
firewall-cmd --add-port=17116/tcp --zone=public --permanent
systemctl restart firewalld

1.2 安装

安装目录:

 /usr/local/redis3

编译和安装需要的包

yum install gcc tcl wget -y

下载安装

mkdir /usr/local/redis3
cd /usr/local/src 
wget http://download.redis.io/releases/redis-3.0.3.tar.gz
tar vxf redis-3.0.3.tar.gz
cd redis-3.0.3
make PREFIX=/usr/local/redis3 install

1.3 创建配置

1.3 创建配置
1#
[root@redis1 bin]#
mkdir -p /usr/local/redis3/cluster/7111

2#
[root@redis2 bin]#
mkdir -p /usr/local/redis3/cluster/7112

3#
[root@redis3 bin]# 
mkdir -p /usr/local/redis3/cluster/7113

4#
[root@redis4 bin]# 
mkdir -p /usr/local/redis3/cluster/7114

5#
[root@redis5 bin]# 
mkdir -p /usr/local/redis3/cluster/7115

6#
[root@redis6 bin]# mkdir -p /usr/local/redis3/cluster/7116

1.4 配置选项说明
配置选项选项值说明
daemonizeyes是否作为守护进程
pidfile/var/run/redis-7111.pid默认为:/var/run/redis.pid
port7111监听端口,默认为6379
databases1可用数据库数,默认为16,建议使用一个
cluster-enabledyes打开redis集群
cluster-config-file/usr/local/redis3/cluster/7111/nodes.conf集群配置文件(启动自动生成),不用人为干预
cluster-node-timeout15000节点间互联超时,毫秒
cluster-migration-barrier1数据迁移的副本临界数,一个主节点在拥有多个好的从节点的时候就要割让一个从节点出来给另外一个没有任何从节点的主节点
cluster-require-full-coverageyes如果某一些key space 没有被集群中的任何节点覆盖,集群将停止接受写入
appendonlyyes启动 aof持久化方式,因为redis本身同步文件是按照save条件来同步的,所以有的数据会再一段时间内只存在于内存中
1.5 上传配置文件
1.6 安装ruby rubygems

yum install ruby rubygems -y

gem install -redis 安装的时候ruby 版本过低


yum install -y curl
curl -L get.rvm.io | bash -s stable 
source /usr/local/rvm/scripts/rvm
rvm install  2.4.0
rvm remove 2.0.0
#安装redis 插件
gem install  redis






1.7 写脚本 批量启动redis



#!/bin/bash

for i in 1 2 3 4 5 6 
do
  ssh root@192.168.85.15$i  "source /etc/profile;/usr/local/redis3/bin/redis-server  /usr/local/redis3/cluster/711$i/redis-711$i.conf;ps -ef |grep redis"
 
echo "$i";
done


1.8 配置redis集群,配置成功

[root@redis1 src]# cp redis-trib.rb /usr/local/bin/redis-trib
[root@redis1 src]# redis-trib create --replicas 1 192.168.85.151:7111  192.168.85.152:7112 192.168.85.153:7113 192.168.85.154:7114 192.168.85.155:7115 192.168.85.156:7116  

[root@redis1 ~]# redis-trib create --replicas 1 192.168.85.151:7111  192.168.85.152:7112 192.168.85.153:7113 192.168.85.154:7114 192.168.85.155:7115 192.168.85.156:7116  
>>> Creating cluster
Connecting to node 192.168.85.151:7111: OK
Connecting to node 192.168.85.152:7112: OK
Connecting to node 192.168.85.153:7113: OK
Connecting to node 192.168.85.154:7114: OK
Connecting to node 192.168.85.155:7115: OK
Connecting to node 192.168.85.156:7116: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.85.151:7111
192.168.85.152:7112
192.168.85.153:7113
Adding replica 192.168.85.154:7114 to 192.168.85.151:7111
Adding replica 192.168.85.155:7115 to 192.168.85.152:7112
Adding replica 192.168.85.156:7116 to 192.168.85.153:7113
M: e04868606198c01ee9fbd0ea712f2904cc108ae0 192.168.85.151:7111
   slots:0-5460 (5461 slots) master
M: ba914dbab029a06fe84354644ca0090f743bdcd2 192.168.85.152:7112
   slots:5461-10922 (5462 slots) master
M: ba285f4d3a6278f11531f9e7150e9da358452871 192.168.85.153:7113
   slots:10923-16383 (5461 slots) master
S: 7ef267c2d8f15d38cefb538b32cb830f10482cd1 192.168.85.154:7114
   replicates e04868606198c01ee9fbd0ea712f2904cc108ae0
S: fd4013211413b9d18515f86083f68f6ec58a7543 192.168.85.155:7115
   replicates ba914dbab029a06fe84354644ca0090f743bdcd2
S: d7b491bfb96e4914764771730981ff4b68f63c48 192.168.85.156:7116
   replicates ba285f4d3a6278f11531f9e7150e9da358452871
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.85.151:7111)
M: e04868606198c01ee9fbd0ea712f2904cc108ae0 192.168.85.151:7111
   slots:0-5460 (5461 slots) master
M: ba914dbab029a06fe84354644ca0090f743bdcd2 192.168.85.152:7112
   slots:5461-10922 (5462 slots) master
M: ba285f4d3a6278f11531f9e7150e9da358452871 192.168.85.153:7113
   slots:10923-16383 (5461 slots) master
M: 7ef267c2d8f15d38cefb538b32cb830f10482cd1 192.168.85.154:7114
   slots: (0 slots) master
   replicates e04868606198c01ee9fbd0ea712f2904cc108ae0
M: fd4013211413b9d18515f86083f68f6ec58a7543 192.168.85.155:7115
   slots: (0 slots) master
   replicates ba914dbab029a06fe84354644ca0090f743bdcd2
M: d7b491bfb96e4914764771730981ff4b68f63c48 192.168.85.156:7116
   slots: (0 slots) master
   replicates ba285f4d3a6278f11531f9e7150e9da358452871
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
[root@redis1 ~]# ./redis-cli -c -p 7111 
#登录测试,集群成功



1.9 测试
#通过登录测试 进行 插入key   和查询key ,
#数据会根据不同的solt 的值的返回自动转向定位到值

[root@redis1 ~]# ./redis-cli -c -p 7111 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值