系列导航

一、redis单例安装(linux)

二、redis主从环境搭建

三、redis集群搭建

四、redis增加密码验证

五、java操作redis

环境:centos7
需要的安装包: redis-4.0.10.tar.gz
说明:如下演示环境都在一台服务器上,生产环境需要放在多台服务器上使用

安装步骤
1、安装包解压
拷贝redis-4.0.10.tar.gz 到/opt目录下
cd /opt
tar -xzvf redis-4.0.10.tar.gz

2、编译
[root]# cd  /opt/redis-4.0.10
[root]# make

3、修改配置文件
  cd /opt/redis-4.0.10
  mkdir 7001
  mkdir 7002
  mkdir 7003
  mkdir 7004
  mkdir 7005
  mkdir 7006
 
  创建配置文件(其他redis_7002.conf,redis_7003.conf, redis_7004.conf, redis_7005.conf,redis_7006.conf配置文件照样例创建)
 
  vi redis_7001.conf
  #添加如下内容:
port 7001
bind 127.0.0.1

#关闭保护模式
protected-mode no
port 7001
tcp-backlog 511
timeout 0
tcp-keepalive 300

#开启守护进程模式
daemonize yes
supervised no

#修改pidfile指向路径
pidfile /opt/redis-4.0.10/7001/redis.pid
loglevel verbose
logfile "/opt/redis-4.0.10/7001/redis_log.log"
databases 16
always-show-logo yes

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb

dir ./
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
slave-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
cluster-enabled yes

#修改集群配置文件指向路径
cluster-config-file nodes-7001.conf   
cluster-node-timeout 5000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
 
    
 

4、启动redis
[root@minio4 redis-4.0.10]#  /opt/redis-4.0.10/src/redis-server  /opt/redis-4.0.10/redis_7001.conf  
[root@minio4 redis-4.0.10]#  /opt/redis-4.0.10/src/redis-server  /opt/redis-4.0.10/redis_7002.conf  
[root@minio4 redis-4.0.10]#  /opt/redis-4.0.10/src/redis-server  /opt/redis-4.0.10/redis_7003.conf  
[root@minio4 redis-4.0.10]#  /opt/redis-4.0.10/src/redis-server  /opt/redis-4.0.10/redis_7004.conf  
[root@minio4 redis-4.0.10]#  /opt/redis-4.0.10/src/redis-server  /opt/redis-4.0.10/redis_7005.conf  
[root@minio4 redis-4.0.10]#  /opt/redis-4.0.10/src/redis-server  /opt/redis-4.0.10/redis_7006.conf  
 

5、ruby安装(这个很讨厌)

[root@minio4 ~]# rpm -qa | grep ruby
[root@minio4 ~]# yum install ruby
 ruby安装后是2.0版本需要升级到3.0版(需要和redis的版本匹配,本利redis4.0版)
 
 如何升级参考如下道友写的博客亲测有用
 https://www.cnblogs.com/name-lizonglin/p/12069114.html
 
 
 
6、创建集群
[root@minio4 src]# cd /opt/redis-4.0.10/src
[root@minio4 src]# ./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
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:7001
127.0.0.1:7002
127.0.0.1:7003
Adding replica 127.0.0.1:7005 to 127.0.0.1:7001
Adding replica 127.0.0.1:7006 to 127.0.0.1:7002
Adding replica 127.0.0.1:7004 to 127.0.0.1:7003
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: ef2efc3117d9da0a399cba785ecc0b3e000fdfe6 127.0.0.1:7001
   slots:0-5460 (5461 slots) master
M: 276d90d980c5db413f65abe761c68c12429906a3 127.0.0.1:7002
   slots:5461-10922 (5462 slots) master
M: 7bdbb165ac29d6bd803be1d69a122800a2803bd9 127.0.0.1:7003
   slots:10923-16383 (5461 slots) master
S: 0cac24e2a8891b24a33974e239873c4ee7a7167f 127.0.0.1:7004
   replicates 7bdbb165ac29d6bd803be1d69a122800a2803bd9
S: 4612663207fc597112cc5f9211c9b75b393fa717 127.0.0.1:7005
   replicates ef2efc3117d9da0a399cba785ecc0b3e000fdfe6
S: d1098bdc5d592f2269603765c4b75f30d899c9b4 127.0.0.1:7006
   replicates 276d90d980c5db413f65abe761c68c12429906a3
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 127.0.0.1:7001)
M: ef2efc3117d9da0a399cba785ecc0b3e000fdfe6 127.0.0.1:7001
   slots:0-5460 (5461 slots) master
   1 additional replica(s)
M: 7bdbb165ac29d6bd803be1d69a122800a2803bd9 127.0.0.1:7003
   slots:10923-16383 (5461 slots) master
   1 additional replica(s)
M: 276d90d980c5db413f65abe761c68c12429906a3 127.0.0.1:7002
   slots:5461-10922 (5462 slots) master
   1 additional replica(s)
S: d1098bdc5d592f2269603765c4b75f30d899c9b4 127.0.0.1:7006
   slots: (0 slots) slave
   replicates 276d90d980c5db413f65abe761c68c12429906a3
S: 0cac24e2a8891b24a33974e239873c4ee7a7167f 127.0.0.1:7004
   slots: (0 slots) slave
   replicates 7bdbb165ac29d6bd803be1d69a122800a2803bd9
S: 4612663207fc597112cc5f9211c9b75b393fa717 127.0.0.1:7005
   slots: (0 slots) slave
   replicates ef2efc3117d9da0a399cba785ecc0b3e000fdfe6
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

 
7、测试集群
[root@minio4 7001]# cd /opt/redis-4.0.10/src
[root@minio4 src]# ./redis-cli -c -h localhost -p 7001
localhost:7001> set foo bar
-> Redirected to slot [12182] located at 127.0.0.1:7003
OK
127.0.0.1:7003> set hello world
-> Redirected to slot [866] located at 127.0.0.1:7001
OK
127.0.0.1:7001>

cluster info :打印集群的信息
cluster nodes :列出集群当前已知的所有节点( node),以及这些节点的相关信息
如下:
127.0.0.1:7003> cluster nodes
7bdbb165ac29d6bd803be1d69a122800a2803bd9 127.0.0.1:7003@17003 myself,master - 0 1620472701000 3 connected 10923-16383
4612663207fc597112cc5f9211c9b75b393fa717 127.0.0.1:7005@17005 slave ef2efc3117d9da0a399cba785ecc0b3e000fdfe6 0 1620472701000 5 connected
ef2efc3117d9da0a399cba785ecc0b3e000fdfe6 127.0.0.1:7001@17001 master - 0 1620472701000 1 connected 0-5460
0cac24e2a8891b24a33974e239873c4ee7a7167f 127.0.0.1:7004@17004 slave 7bdbb165ac29d6bd803be1d69a122800a2803bd9 0 1620472702285 4 connected
d1098bdc5d592f2269603765c4b75f30d899c9b4 127.0.0.1:7006@17006 slave 276d90d980c5db413f65abe761c68c12429906a3 0 1620472702584 6 connected
276d90d980c5db413f65abe761c68c12429906a3 127.0.0.1:7002@17002 master - 0 1620472701284 2 connected 5461-10922
127.0.0.1:7003> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:3
cluster_stats_messages_ping_sent:634
cluster_stats_messages_pong_sent:662
cluster_stats_messages_meet_sent:4
cluster_stats_messages_sent:1300
cluster_stats_messages_ping_received:660
cluster_stats_messages_pong_received:638
cluster_stats_messages_meet_received:2
cluster_stats_messages_received:1300

到此集群搭建成功

如果后期集群不好用之后彻底恢复
cd /opt/redis-4.0.10
rm -f  appendonly.aof dump.rdb nodes-7001.conf  nodes-7002.conf nodes-7003.conf nodes-7004.conf nodes-7005.conf nodes-7006.conf

 
然后重建集群
[root@minio4 src]# cd /opt/redis-4.0.10/src
[root@minio4 src]# ./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
                                                     

三、redis集群搭建的更多相关文章

  1. Redis集群搭建的三种方式

    一.Redis主从 1.1 Redis主从原理 和MySQL需要主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生性能瓶颈,特别是在读压力上,为了分担压力,Redis支持主从复制. ...

  2. Redis集群搭建 三主三从

    Redis集群介绍 Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存.Redis在3.0版本之前只支持单实例模式 虽然支持主从模式,哨兵模式 ...

  3. Redis 集群搭建详细指南

    先有鸡还是先有蛋? 最近有朋友问了一个问题,说毕业后去大城市还是小城市?去大公司还是小公司?我的回答都是大城市!大公司! 为什么这么说呢,你想一下,无论女孩男孩找朋友都喜欢找个子高胸大的.同样的道理嘛 ...

  4. 二、redis集群搭建

    redis集群搭建 redis3.0后支持集群.集群中应该至少有三个节点,每个节点有一备份节点.需要6台服务器.搭建伪分布式,需要6个redis实例.搭建集群的步骤: 一.安装单机版redis 第一步 ...

  5. redis集群搭建及注意事项

    上一篇:redis的安装及注意事项 这里,在一个Linux虚拟机上搭建6个节点的redis伪集群,思路很简单,一台虚拟机上开启6个redis实例,每个redis实例有自己的端口.这样的话,相当于模拟出 ...

  6. Linux Redis集群搭建与集群客户端实现(Python)

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

  7. [转载] Redis集群搭建最佳实践

    转载自http://blog.csdn.net/sweetvvck/article/details/38315149?utm_source=tuicool 要搭建Redis集群,首先得考虑下面的几个问 ...

  8. Linux Redis集群搭建与集群客户端实现

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

  9. redis集群搭建及设置账户(转)

    Redis集群搭建以及为集群设置密码 介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. ...

  10. redis 集群搭建: redis-cluster

    前言 redis数据存储在内存中, 就会受到内存的限制, 大家都知道, 一台电脑, 硬盘可以有1T, 但是内存, 没有听说有1T的内存吧. 那如果数据非常多, 超过一台电脑的内存空间, 怎么办呢? 正 ...

随机推荐

  1. TPC-DS工具介绍及性能测试

    一. Hive-testbench工具介绍 TPC-DS:https://www.cnblogs.com/webDepOfQWS/p/10544528.html 由于原生态工具生产测试数据表存在bug ...

  2. C# 对象与JSON字符串互相转换

    一.JSON字符串转对象(反序列化) 1.使用Newtonsoft.Json 反序列化字符串转换为指定类型 (T) JsonConvert.DeserializeObject<T>(jso ...

  3. 语言模型:GPT与HuggingFace的应用

    本文分享自华为云社区<大语言模型底层原理你都知道吗?大语言模型底层架构之二GPT实现>,作者:码上开花_Lancer . 受到计算机视觉领域采用ImageNet对模型进行一次预训练,使得模 ...

  4. CentOS(7.6)环境下迁移Mysql(5.7)的data目录到指定位置

    第一步:关闭Mysql #关闭Mysql服务systemctl stop mysqld#查看Mysql服务状态 ps -ef|grep mysql 第二步:创建新目录,并拷贝数据文件 #创建data文 ...

  5. [ABC246B] Get Closer

    section> Problem Statement From the point $(0,0)$ in a two-dimensional plane, let us move the dis ...

  6. 华企盾DSC防泄密申请解密、外发等失败常见处理方法

    1.检查文件是否已经打开或被占用,以及文件的权限不是只读(错误代码32或5,这种情况比较常见) 2.系统用户名不能带特殊字符.老版本文件路径中不能含特殊字符(包括备份路径) 3.备份路径是否有读写权限 ...

  7. pytest框架中conftest.py的作用

    conftest.py 是 pytest 框架中的一个特殊文件.它允许你为测试提供自定义的配置和钩子函数.以下是 conftest.py 的主要作用: 提供全局配置:你可以在 conftest.py ...

  8. ASR项目实战-数据

    使用机器学习方法来训练模型,使用训练得到的模型来预测语音数据,进而得到识别的结果文本,这是实现语音识别产品的一般思路. 本文着重介绍通用语音识别产品对于数据的诉求. 对数据的要求 训练集 相关要求,如 ...

  9. 从零玩转设计模式之简单工厂设计模式-jiandangonchangmoshi

    title: 从零玩转设计模式之简单工厂设计模式 date: 2022-12-08 11:31:19.472 updated: 2022-12-11 23:03:34.805 url: https:/ ...

  10. vulnhub - lazySysAdmin - writeup

    信息收集 可以看到目标开放了常见的22, 80, 139, 445, 3306这个6667的服务少见. root@kali tmp/lazySysAdmin » arp-scan -I eth1 -l ...