系列导航

一、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. [ABC280F] Pay or Receive

    Problem Statement There are $N$ towns numbered $1,\ldots,N$ and $M$ roads numbered $1,\ldots,M$. Roa ...

  2. Redis 学习笔记2:持久化

    目录 1 什么是持久化 1.1 aof 1.2 rdb 2 RDB持久化 2.1 RDB 是什么 2.2 手动触发 3 AOF持久化 3.1 aof 是什么 3.2 appendfile 文件说明: ...

  3. 关于yolov3在训练自己数据集时容易出现的bug集合,以及解决方法

    早先写了一篇关于yolov3训练自己数据集的博文Pytorch实现YOLOv3训练自己的数据集 其中很详细的介绍了如何的训练自定义的数据集合,同时呢笔者也将一些容易出现的bug写在了博文中,想着的是可 ...

  4. 【scikit-learn基础】--『预处理』之 缺失值处理

    数据的预处理是数据分析,或者机器学习训练前的重要步骤.通过数据预处理,可以 提高数据质量,处理数据的缺失值.异常值和重复值等问题,增加数据的准确性和可靠性 整合不同数据,数据的来源和结构可能多种多样, ...

  5. 数字孪生结合GIS会给矿业带来怎样的改变

    数字孪生技术和GIS的结合为矿业带来了革命性的改变.矿业作为重要的经济支柱,其发展与资源的开采.生产过程的管理密切相关.通过数字孪生和GIS的融合,矿业行业可以实现更高效.可持续的运营和管理,带来许多 ...

  6. 神经网络优化篇:详解其他正则化方法(Other regularization methods)

    其他正则化方法 除了\(L2\)正则化和随机失活(dropout)正则化,还有几种方法可以减少神经网络中的过拟合: 一.数据扩增 假设正在拟合猫咪图片分类器,如果想通过扩增训练数据来解决过拟合,但扩增 ...

  7. ElasticSearch之cat nodes API

    命令样例如下: curl -X GET "https://localhost:9200/_cat/nodes?v=true&pretty" --cacert $ES_HOM ...

  8. Python——第一章:占位——pass

    pass: 常用于代码占位 a = 10 if a > 100: pass 当设计代码时,有些条件或代码还没有想好要如何处理,先用pass做占位,后续可以回来继续写.如果不写pass则会报错,因 ...

  9. uni-app+vue3+ts项目搭建完整流程

    项目代码同步更新至码云 uni-vue3-ts-template 开发前准备 利用 uni-app 开发,有两种方法: 通过 HBuilderX 创建(需安装 HBuilderX 编辑器) 通过命令行 ...

  10. 云图说|ModelArts开发环境,让AI开发、探索、教学更简单

    摘要:ModelArts开发环境,以云原生的资源使用和开发工具链的集成,目标为不同类型AI开发.探索.教学用户. 本文分享自华为云社区<[云图说]| 第280期 ModelArts开发环境,让A ...