文章目录

  • 1、三主三从集群搭建
    • 第一步: 各节点说明
    • 第二步: 集群搭建
      • 1:创建7001实例:
        • 创建安装目录:
      • 2:复制7001到7002~7006实例:
      • 3:创建start.sh,启动所有的实例:
      • 4:创建Redis集群(redis里不要有数据):
      • 5:截图效果展示:
  • 2、添加一主一从
    • 第一步:创建7007实例:
      • 1:安装redis
      • 2:拷贝7001下redis.conf配置文件到7007/bin目录下
      • 3:修改redis.conf配置文件端口号
    • 第二步:创建7008实例:
      • 1:复制7007到7008
      • 2:修改redis.conf配置文件端口号
    • 第三步:添加7007结点作为新节点,并启动:
      • 1:启动7007
      • 2:7001目录下添加新节点
      • 3:查看集群结点发现7007已添加到集群中
    • 第三步:hash槽重新分配(数据迁移)
      • 1:给刚添加的7007结点分配槽
      • 2:输入要分配的槽数量3000个
      • 3:输入接收槽的结点id,输入cluster nodes查看7007结点id
      • 4:输入源结点id类型输入:all
      • 5:输入yes开始移动槽到目标结点id
      • 6:查看结果
      • 7:截图效果展示:
    • 第四步:添加从节点7008
      • 1:启动7008
      • 2:将7008作为7007从节点
      • 3:截图效果展示:
  • 3、JedisCluster连接集群
    • 核心代码
    • 效果演示
  • 4、遇到问题及解决
    • 问题1:/bin/sh: cc: 未找到命令
    • 问题2:致命错误:jemalloc/jemalloc.h:没有那个文件或目录

1、三主三从集群搭建

第一步: 各节点说明

RedisCluster最少需要三台主服务器,三台从服务器,效果图如下;

主节点对应点的端口号:7001、7002、7003;

从节点对应点的端口号:7004、7005、7006;

第二步: 集群搭建

1:创建7001实例:

  1. 创建安装目录:
    [root@10 7001]# pwd
    /home/laosan/redis/redis-cluster/7001
    
  2. 安装redis

    [root@10 src]# pwd
    /home/laosan/redis/redis-5.0.5/src
    [root@10 src]# make install PREFIX=/home/laosan/redis/redis-cluster/7001CC Makefile.depHint: It's a good idea to run 'make test' ;)INSTALL installINSTALL installINSTALL installINSTALL installINSTALL install
    
  3. 拷贝redis.conf配置文件到7001/bin目录下

    [root@10 bin]# cp /home/laosan/redis/redis-5.0.5/redis.conf /home/laosan/redis/redis-cluster/7001/bin/
    [root@10 bin]# ls
    redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis.conf  redis-sentinel  redis-server
    
  4. 修改redis.conf配置文件

    #注释掉
    #bind 127.0.0.1
    #是否开启保护模式,由yes该为no
    protected-mode no
    #端口改为7001
    port 7001
    #将`daemonize`由`no`改为`yes`
    daemonize yes
    #集群模式取消注释,改为yes
    cluster-enabled yes
    

2:复制7001到7002~7006实例:

  1. 拷贝实例:

    [root@10 redis-cluster]# pwd
    /home/laosan/redis/redis-cluster
    [root@10 redis-cluster]# ls
    7001
    [root@10 redis-cluster]# cp -r 7001 7002
    [root@10 redis-cluster]# cp -r 7001 7003
    [root@10 redis-cluster]# cp -r 7001 7004
    [root@10 redis-cluster]# cp -r 7001 7005
    [root@10 redis-cluster]# cp -r 7001 7006
    [root@10 redis-cluster]# ls
    7001  7002  7003  7004  7005  7006
    
  2. 分别修改每一个实例中redis.conf端口

    [root@10 redis-cluster]# vim 7002/bin/redis.conf
    port 7002
    port 7003
    port 7004
    port 7005
    port 7006
    

3:创建start.sh,启动所有的实例:

[root@10 redis-cluster]# vim start.sh
cd 7001/bin
./redis-server redis.conf
cd ..
cd .. cd 7002/bin
./redis-server redis.conf
cd ..
cd .. cd 7003/bin
./redis-server redis.conf
cd ..
cd .. cd 7004/bin
./redis-server redis.conf
cd ..
cd .. cd 7005/bin
./redis-server redis.conf
cd ..
cd .. cd 7006/bin
./redis-server redis.conf
cd ..
cd ..

1.赋写和执行的权限

[root@10 redis-cluster]# chmod u+x start.sh

2.启动:

[root@10 redis-cluster]# ./start.sh

3.查看启动情况:

[root@10 redis-cluster]# ps -ef|grep redis
root      6661     1  0 01:20 ?        00:00:00 ./redis-server *:7001 [cluster]
root      6666     1  0 01:20 ?        00:00:00 ./redis-server *:7002 [cluster]
root      6668     1  0 01:20 ?        00:00:00 ./redis-server *:7003 [cluster]
root      6670     1  0 01:20 ?        00:00:00 ./redis-server *:7004 [cluster]
root      6675     1  0 01:20 ?        00:00:00 ./redis-server *:7005 [cluster]
root      6680     1  0 01:20 ?        00:00:00 ./redis-server *:7006 [cluster]
root      6691  3518  0 01:21 pts/1    00:00:00 grep --color=auto redis

4:创建Redis集群(redis里不要有数据):

1.创建集群:前三个ip加端口为master机器(此处将命令中127.0.0.1改为真是ip:192.168.0.106)

[root@10 bin]# ./redis-cli --cluster create 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 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
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: 43e54e8b7fac43e6453316f43e7c60d4a605f5d2 127.0.0.1:7001slots:[0-5460] (5461 slots) master
M: 3454af47a2d7d8d64e5988ddefe2618ba09bc563 127.0.0.1:7002slots:[5461-10922] (5462 slots) master
M: 8609afdfaff49639f77895ed7e6d3337df7e7412 127.0.0.1:7003slots:[10923-16383] (5461 slots) master
S: 781f89db090eb874b2d06135c5b4923d448dd185 127.0.0.1:7004replicates 8609afdfaff49639f77895ed7e6d3337df7e7412
S: 20075b3c0ad82f6cd9fa3da6da4e290d3367c1a3 127.0.0.1:7005replicates 43e54e8b7fac43e6453316f43e7c60d4a605f5d2
S: a420e5e878f38b42e66e1af14a63ef9b15a4278d 127.0.0.1:7006replicates 3454af47a2d7d8d64e5988ddefe2618ba09bc563
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: 43e54e8b7fac43e6453316f43e7c60d4a605f5d2 127.0.0.1:7001slots:[0-5460] (5461 slots) master1 additional replica(s)
S: a420e5e878f38b42e66e1af14a63ef9b15a4278d 127.0.0.1:7006slots: (0 slots) slavereplicates 3454af47a2d7d8d64e5988ddefe2618ba09bc563
S: 781f89db090eb874b2d06135c5b4923d448dd185 127.0.0.1:7004slots: (0 slots) slavereplicates 8609afdfaff49639f77895ed7e6d3337df7e7412
M: 8609afdfaff49639f77895ed7e6d3337df7e7412 127.0.0.1:7003slots:[10923-16383] (5461 slots) master1 additional replica(s)
S: 20075b3c0ad82f6cd9fa3da6da4e290d3367c1a3 127.0.0.1:7005slots: (0 slots) slavereplicates 43e54e8b7fac43e6453316f43e7c60d4a605f5d2
M: 3454af47a2d7d8d64e5988ddefe2618ba09bc563 127.0.0.1:7002slots:[5461-10922] (5462 slots) master1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

2.命令客户端连接集群:-c 表示是以redis集群方式进行连接

[root@10 bin]# ./redis-cli -h 127.0.0.1 -p 7001 -c
127.0.0.1:7001> xxxxxxxxxx [root@10 bin]# ./redis-cli -h 127.0.0.1 -p 7001 -c127.0.0.1:7001> [root@10 redis-cluster]# ./start.shshell

3.设置key值查看集群情况:

127.0.0.1:7001> set name:1 zhangsan
-> Redirected to slot [12501] located at 127.0.0.1:7003
OK
127.0.0.1:7003>

4.查看redis集群状态:

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:317
cluster_stats_messages_pong_sent:320
cluster_stats_messages_meet_sent:3
cluster_stats_messages_sent:640
cluster_stats_messages_ping_received:316
cluster_stats_messages_pong_received:320
cluster_stats_messages_meet_received:4
cluster_stats_messages_received:640

5.查看redis节点状态:

127.0.0.1:7003> cluster nodes
43e54e8b7fac43e6453316f43e7c60d4a605f5d2 127.0.0.1:7001@17001 master - 0 1595180020000 1 connected 0-5460
3454af47a2d7d8d64e5988ddefe2618ba09bc563 127.0.0.1:7002@17002 master - 0 1595180018843 2 connected 5461-10922
8609afdfaff49639f77895ed7e6d3337df7e7412 127.0.0.1:7003@17003 myself,master - 0 1595180021000 3 connected 10923-16383
20075b3c0ad82f6cd9fa3da6da4e290d3367c1a3 127.0.0.1:7005@17005 slave 43e54e8b7fac43e6453316f43e7c60d4a605f5d2 0 1595180020862 5 connected
a420e5e878f38b42e66e1af14a63ef9b15a4278d 127.0.0.1:7006@17006 slave 3454af47a2d7d8d64e5988ddefe2618ba09bc563 0 1595180022876 6 connected
781f89db090eb874b2d06135c5b4923d448dd185 127.0.0.1:7004@17004 slave 8609afdfaff49639f77895ed7e6d3337df7e7412 0 1595180021871 4 connected

5:截图效果展示:

2、添加一主一从

第一步:创建7007实例:

1:安装redis

[root@10 src]# pwd
/home/laosan/redis/redis-5.0.5/src
[root@10 src]# make install PREFIX=/home/laosan/redis/redis-cluster/7007CC Makefile.depHint: It's a good idea to run 'make test' ;)INSTALL installINSTALL installINSTALL installINSTALL installINSTALL install

2:拷贝7001下redis.conf配置文件到7007/bin目录下

[root@10 bin]# cp /home/laosan/redis/redis-cluster/7001/bin/redis.conf /home/laosan/redis/redis-cluster/7007/bin/
[root@10 bin]# ls
redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis.conf  redis-sentinel  redis-server

3:修改redis.conf配置文件端口号

[root@10 redis-cluster]# vim redis.conf
port 7007

第二步:创建7008实例:

1:复制7007到7008

[root@10 redis-cluster]# pwd
/home/laosan/redis/redis-cluster
[root@10 redis-cluster]# cp -r 7007 7008
[root@10 redis-cluster]#

2:修改redis.conf配置文件端口号

[root@10 redis-cluster]# vim redis.conf
port 7008

第三步:添加7007结点作为新节点,并启动:

1:启动7007

[root@10 bin]# pwd
/home/laosan/redis/redis-cluster/7007/bin
[root@10 bin]# ./redis-server redis.conf
7539:C 20 Jul 2020 01:56:13.422 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7539:C 20 Jul 2020 01:56:13.422 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=7539, just started
7539:C 20 Jul 2020 01:56:13.422 # Configuration loaded
[root@10 bin]# ps -ef|grep redis
root      6661     1  0 01:20 ?        00:00:00 ./redis-server *:7001 [cluster]
root      6666     1  0 01:20 ?        00:00:00 ./redis-server *:7002 [cluster]
root      6668     1  0 01:20 ?        00:00:00 ./redis-server *:7003 [cluster]
root      6670     1  0 01:20 ?        00:00:00 ./redis-server *:7004 [cluster]
root      6675     1  0 01:20 ?        00:00:00 ./redis-server *:7005 [cluster]
root      6680     1  0 01:20 ?        00:00:00 ./redis-server *:7006 [cluster]
root      7540     1  0 01:56 ?        00:00:00 ./redis-server *:7007 [cluster]
root      7545  6796  0 01:56 pts/1    00:00:00 grep --color=auto redis

2:7001目录下添加新节点

此处命令将127.0.0.1改为真实ip:192.168.0.106

[root@10 bin]# pwd
/home/laosan/redis/redis-cluster/7001/bin
[root@10 bin]# ./redis-cli --cluster add-node 127.0.0.1:7007 127.0.0.1:7001
>>> Adding node 127.0.0.1:7007 to cluster 127.0.0.1:7001
>>> Performing Cluster Check (using node 127.0.0.1:7001)
M: 43e54e8b7fac43e6453316f43e7c60d4a605f5d2 127.0.0.1:7001slots:[0-5460] (5461 slots) master1 additional replica(s)
S: a420e5e878f38b42e66e1af14a63ef9b15a4278d 127.0.0.1:7006slots: (0 slots) slavereplicates 3454af47a2d7d8d64e5988ddefe2618ba09bc563
S: 781f89db090eb874b2d06135c5b4923d448dd185 127.0.0.1:7004slots: (0 slots) slavereplicates 8609afdfaff49639f77895ed7e6d3337df7e7412
M: 8609afdfaff49639f77895ed7e6d3337df7e7412 127.0.0.1:7003slots:[10923-16383] (5461 slots) master1 additional replica(s)
S: 20075b3c0ad82f6cd9fa3da6da4e290d3367c1a3 127.0.0.1:7005slots: (0 slots) slavereplicates 43e54e8b7fac43e6453316f43e7c60d4a605f5d2
M: 3454af47a2d7d8d64e5988ddefe2618ba09bc563 127.0.0.1:7002slots:[5461-10922] (5462 slots) master1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 127.0.0.1:7007 to make it join the cluster.
[OK] New node added correctly.

3:查看集群结点发现7007已添加到集群中

[root@10 bin]# pwd
/home/laosan/redis/redis-cluster/7001/bin
[root@10 bin]# ./redis-cli -p 7001 -c
127.0.0.1:7001> cluster nodes
a420e5e878f38b42e66e1af14a63ef9b15a4278d 127.0.0.1:7006@17006 slave 3454af47a2d7d8d64e5988ddefe2618ba09bc563 0 1595181613000 6 connected
781f89db090eb874b2d06135c5b4923d448dd185 127.0.0.1:7004@17004 slave 8609afdfaff49639f77895ed7e6d3337df7e7412 0 1595181611000 4 connected
8609afdfaff49639f77895ed7e6d3337df7e7412 127.0.0.1:7003@17003 master - 0 1595181614767 3 connected 10923-16383
20075b3c0ad82f6cd9fa3da6da4e290d3367c1a3 127.0.0.1:7005@17005 slave 43e54e8b7fac43e6453316f43e7c60d4a605f5d2 0 1595181613759 5 connected
43e54e8b7fac43e6453316f43e7c60d4a605f5d2 127.0.0.1:7001@17001 myself,master - 0 1595181611000 1 connected 0-5460
2a6db334ac5bbbc3f0d50e50236d601519a4507a 127.0.0.1:7007@17007 master - 0 1595181613000 0 connected
3454af47a2d7d8d64e5988ddefe2618ba09bc563 127.0.0.1:7002@17002 master - 0 1595181612000 2 connected 5461-10922
127.0.0.1:7001>

第三步:hash槽重新分配(数据迁移)

1:给刚添加的7007结点分配槽

[root@10 bin]# ./redis-cli --cluster reshard 127.0.0.1:7007

2:输入要分配的槽数量3000个

How many slots do you want to move (from 1 to 16384)? 3000

3:输入接收槽的结点id,输入cluster nodes查看7007结点id

What is the receiving node ID?

4:输入源结点id类型输入:all

Please enter all the source node IDs. Type 'all' to use all the nodes as source nodes for the hash slots. Type 'done' once you entered all the source nodes IDs.

5:输入yes开始移动槽到目标结点id

Moving slot 994 from 127.0.0.1:7001 to 127.0.0.1:7007:
Moving slot 995 from 127.0.0.1:7001 to 127.0.0.1:7007:
Moving slot 996 from 127.0.0.1:7001 to 127.0.0.1:7007:
Moving slot 997 from 127.0.0.1:7001 to 127.0.0.1:7007:
Moving slot 998 from 127.0.0.1:7001 to 127.0.0.1:7007:
[root@10 bin]#

6:查看结果

[root@10 bin]# pwd
/home/laosan/redis/redis-cluster/7001/bin
[root@10 bin]# ./redis-cli -p 7001 -c
127.0.0.1:7001> cluster nodes
a420e5e878f38b42e66e1af14a63ef9b15a4278d 127.0.0.1:7006@17006 slave 3454af47a2d7d8d64e5988ddefe2618ba09bc563 0 1595182457000 6 connected
781f89db090eb874b2d06135c5b4923d448dd185 127.0.0.1:7004@17004 slave 8609afdfaff49639f77895ed7e6d3337df7e7412 0 1595182457759 4 connected
8609afdfaff49639f77895ed7e6d3337df7e7412 127.0.0.1:7003@17003 master - 0 1595182458765 3 connected 11922-16383
20075b3c0ad82f6cd9fa3da6da4e290d3367c1a3 127.0.0.1:7005@17005 slave 43e54e8b7fac43e6453316f43e7c60d4a605f5d2 0 1595182455000 5 connected
43e54e8b7fac43e6453316f43e7c60d4a605f5d2 127.0.0.1:7001@17001 myself,master - 0 1595182455000 1 connected 999-5460
2a6db334ac5bbbc3f0d50e50236d601519a4507a 127.0.0.1:7007@17007 master - 0 1595182456751 7 connected 0-998 5461-6461 10923-11921
3454af47a2d7d8d64e5988ddefe2618ba09bc563 127.0.0.1:7002@17002 master - 0 1595182455000 2 connected 6462-10922
127.0.0.1:7001>

7:截图效果展示:

第四步:添加从节点7008

1:启动7008

[root@10 bin]# pwd
/home/laosan/redis/redis-cluster/7008/bin
[root@10 bin]#  ./redis-server redis.conf
7980:C 20 Jul 2020 02:18:53.214 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7980:C 20 Jul 2020 02:18:53.214 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=7980, just started
7980:C 20 Jul 2020 02:18:53.214 # Configuration loaded
[root@10 bin]# ps -ef|grep redis
root      6661     1  0 01:20 ?        00:00:02 ./redis-server *:7001 [cluster]
root      6666     1  0 01:20 ?        00:00:01 ./redis-server *:7002 [cluster]
root      6668     1  0 01:20 ?        00:00:01 ./redis-server *:7003 [cluster]
root      6670     1  0 01:20 ?        00:00:01 ./redis-server *:7004 [cluster]
root      6675     1  0 01:20 ?        00:00:01 ./redis-server *:7005 [cluster]
root      6680     1  0 01:20 ?        00:00:01 ./redis-server *:7006 [cluster]
root      7540     1  0 01:56 ?        00:00:01 ./redis-server *:7007 [cluster]
root      7981     1  0 02:18 ?        00:00:00 ./redis-server *:7008 [cluster]
root      7986  6796  0 02:18 pts/1    00:00:00 grep --color=auto redis

2:将7008作为7007从节点

[root@10 bin]# pwd
/home/laosan/redis/redis-cluster/7001/bin
[root@10 bin]# ./redis-cli --cluster add-node 127.0.0.1:7008 127.0.0.1:7007 --cluster-slave --cluster-master-id 2a6db334ac5bbbc3f0d50e50236d601519a4507a
>>> Adding node 127.0.0.1:7008 to cluster 127.0.0.1:7007
>>> Performing Cluster Check (using node 127.0.0.1:7007)
M: 2a6db334ac5bbbc3f0d50e50236d601519a4507a 127.0.0.1:7007slots:[0-998],[5461-6461],[10923-11921] (2999 slots) master
M: 3454af47a2d7d8d64e5988ddefe2618ba09bc563 127.0.0.1:7002slots:[6462-10922] (4461 slots) master1 additional replica(s)
S: 20075b3c0ad82f6cd9fa3da6da4e290d3367c1a3 127.0.0.1:7005slots: (0 slots) slavereplicates 43e54e8b7fac43e6453316f43e7c60d4a605f5d2
S: 781f89db090eb874b2d06135c5b4923d448dd185 127.0.0.1:7004slots: (0 slots) slavereplicates 8609afdfaff49639f77895ed7e6d3337df7e7412
M: 8609afdfaff49639f77895ed7e6d3337df7e7412 127.0.0.1:7003slots:[11922-16383] (4462 slots) master1 additional replica(s)
M: 43e54e8b7fac43e6453316f43e7c60d4a605f5d2 127.0.0.1:7001slots:[999-5460] (4462 slots) master1 additional replica(s)
S: a420e5e878f38b42e66e1af14a63ef9b15a4278d 127.0.0.1:7006slots: (0 slots) slavereplicates 3454af47a2d7d8d64e5988ddefe2618ba09bc563
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 127.0.0.1:7008 to make it join the cluster.
Waiting for the cluster to join>>> Configure node as replica of 127.0.0.1:7007.
[OK] New node added correctly.
[root@10 bin]#

3:截图效果展示:

3、JedisCluster连接集群

核心代码

@SpringBootApplication
public class JedisclusterApplication {public static void main(String[] args) {SpringApplication.run(JedisclusterApplication.class, args);// 添加集群的服务节点Set集合Set<HostAndPort> hostAndPortsSet = new HashSet<HostAndPort>();// 添加节点hostAndPortsSet.add(new HostAndPort("192.168.0.106", 7001));hostAndPortsSet.add(new HostAndPort("192.168.0.106", 7002));hostAndPortsSet.add(new HostAndPort("192.168.0.106", 7003));hostAndPortsSet.add(new HostAndPort("192.168.0.106", 7004));hostAndPortsSet.add(new HostAndPort("192.168.0.106", 7005));hostAndPortsSet.add(new HostAndPort("192.168.0.106", 7006));hostAndPortsSet.add(new HostAndPort("192.168.0.106", 7007));hostAndPortsSet.add(new HostAndPort("192.168.0.106", 7008));// Jedis连接池配置JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();// 最大空闲连接数, 默认8个jedisPoolConfig.setMaxIdle(100);// 最大连接数, 默认8个jedisPoolConfig.setMaxTotal(500);//最小空闲连接数, 默认0jedisPoolConfig.setMinIdle(0);// 获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间,  默认-1jedisPoolConfig.setMaxWaitMillis(2000); // 设置2秒//对拿到的connection进行validateObject校验jedisPoolConfig.setTestOnBorrow(true);JedisCluster jedis = new JedisCluster(hostAndPortsSet, jedisPoolConfig);System.out.println("增加数据:" + jedis.set("name:2", "laosan"));System.out.println("获取key值为name:2对应的value数据:" + jedis.get("name:2"));}
}

效果演示

4、遇到问题及解决

问题1:/bin/sh: cc: 未找到命令

[root@10 src]# make install PREFIX=/home/laosan/redis/redis-cluster/7001CC adlist.o
/bin/sh: cc: 未找到命令
make: *** [adlist.o] 错误 127

解决:需要安装gcc

[root@10 src]# yum install gcc

问题2:致命错误:jemalloc/jemalloc.h:没有那个文件或目录

[root@10 src]# make install PREFIX=/home/laosan/redis/redis-cluster/7001CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录#include <jemalloc/jemalloc.h>^
编译中断。
make: *** [adlist.o] 错误 1

解决:

[root@10 src]# make MALLOC=libc

Redis5.0集群搭建(三主三从)、添加一主一从、JedisCluster连接集群相关推荐

  1. centos7 搭建三主三从 redis5.0集群

    最近在开始准备做毕设.楼主实习的公司为传统行业,技术太老了..只能自己慢慢找资料摸索新东西,打算用spring boot+spring cloud+redis+es+mysql+docker做个web ...

  2. REDIS三主三从集群搭建笔记(redis版本5.0.8)

    mkdir -p /app/redis tar -zxvf redis-5.0.8.tar.gz -C /app/redis cd /app/redis/redis-5.0.8编译安装: make & ...

  3. Redis三主三从集群搭建(三台机器)

    介绍 redis三种模式 一.主从模式 Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况.为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构. ...

  4. Redis搭建集群,三主三从集群模式

    几种常见的redis集群模式: 方案一:主从复制 优点: 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离 为了分载Master的读操作压力,Slave服务器可以为客户端提供只读操作的服务, ...

  5. redis相关的详细介绍,包括三主三从集群的搭建

    文章目录 1. 数据结构 1.1 String 1.2 hash 3. 如何搭建redis集群 3.2 哈希槽 1.4 LIST 1.5 SET 1.6 Redis HyperLogLog 1. 数据 ...

  6. 手把手搭建redis集群-三台虚拟机(三主三从)

    Redis集群环境搭建: Redis 集群简介: Redis 是一个开源的 key-value 分布式存储系统,由于其出众的性能,大部分互联网企业将其用来作为服务端分布式缓存使用.Redis 在 3. ...

  7. 两台服务器安装redis集群_redis 集群搭建,小白也能搭三主三从的集群环境

    redis集群简介: Redis集群是一个程序集,它提供在多个 Redis节点之间共享数据. 一个 Redis集群不支持同时处理多个键的 Redis命令,因为这要求将数据移动到多个节点之间,这会降低 ...

  8. Redis三主三从集群搭建

    一.引子 主从复制以及哨兵,他们可以提高读的并发,但是单个master容量有限,数据达到一定程度会有瓶颈,这个时候可以通过水平扩展为多master-slave集群(看原理图). 所以一起来学习redi ...

  9. Docker高级篇笔记(七)在docker里面进行redis三主三从的集群案例搭建步骤

    目录 搭建三主三从集群 数据读写存储 主从容错的切换迁移 主从扩容 主从缩容 搭建三主三从集群 1 先启动docker 2 拉取redis镜像 3 创建6个redis容器 docker run -d ...

  10. redis5.0.5版本搭建集群

                                         redis5.0.5版本搭建集群 安装redis5.0.5版本 将redis5.0.5解压 sudo tar -zxcf re ...

最新文章

  1. 数组名和数组名取地址的区别
  2. 探索Java语言与JVM中的Lambda表达式
  3. stm32f103c8t6掉坑记
  4. 你不得不知道的Visual Studio 2012(3)- 创建Windows应用程序
  5. 《白日梦想家》观后感
  6. 能行走如飞,会自己折叠:这个哈佛实验室有一群神奇的机器人
  7. Spring中事务管理的几种配法
  8. WEB学生网页作业【HTML+CSS】静态网页期末大作业课程设计
  9. Duplicate的一点总结
  10. 为什么我们创业失败了和选择创业公司的思考
  11. html5新年网页做给父母的,给父母的感谢信5篇模板
  12. 如何进行有效的计划管理?
  13. tpc-c 测试方案
  14. NiFi 的使用心得
  15. 【统计学笔记】如何判断变量间相关关系,并建立一元线性回归模型?
  16. proxmox ve 中文社区_Proxmox VE 部署维护
  17. C语言-ASCII与十六进制互相转换
  18. 拓臻生物任命Senthil Sundaram为首席执行官、Mark Vignola, Ph.D.为首席财务官、Erin Quirk, M.D.为总裁
  19. ElasticSearch 基本原理之全文检索
  20. 产品生命周期优化法PACE

热门文章

  1. 大行bya412和java513_转:我的折叠生活之大行bya412改装总结
  2. 心率监测仪全国产化电子元件推荐方案
  3. 【生活中的逻辑谬误】以暴制暴和压制理性
  4. 如何打开caj文件,以及caj文件如何转换为PDF格式
  5. HTML5游戏引擎(二)01-egret引擎的安装与hello world
  6. 人工智能AI系列 - 元宇宙 - 2D虚拟人
  7. Python 文本生僻字判定和拼音标注脚本
  8. 生活随记 - 方便面
  9. 家庭宽带服务器有什么作用,家用宽带网络与服务器使用的网络有什么不同?
  10. 【Linux系统开发】Study210开发板刷安卓系统