# jedis-demo **Repository Path**: wangzhe_spring/jedis-demo ## Basic Information - **Project Name**: jedis-demo - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-26 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 搭建Redis集群 下载安装包 ```shell wget https://download.redis.io/releases/redis-5.0.5.tar.gz tar -zxf redis-5.0.5.tar.gz cd redis-5.0.5/ ``` 准备编译环境 ```shell yum -y install gcc gcc-c++ libstdc++-devel ``` 编译 ```shell make install PREFIX=/root/redis-master1 MALLOC=libc ``` 复制配置文件 ```shell cp /root/redis-5.0.5/redis.conf /root/redis-master1/bin ``` 将master1复制到master2、master3、slaver1、slaver2、slaver3 ```shell cp -r /root/redis-master1/ /root/redis-master2 cp -r /root/redis-master1/ /root/redis-master3 cp -r /root/redis-master1/ /root/redis-slaver1 cp -r /root/redis-master1/ /root/redis-slaver2 cp -r /root/redis-master1/ /root/redis-slaver3 ``` 修改配置 ```shell cd /root/redis-master1/bin/ vim redis.conf # 修改端口 port 6379 # 注释访问限制 # bind 127.0.0.1 # 关闭保护模式 protected-mode no # 将`daemonize`由`no`改为`yes` deamonize yes # 将`cluster-enable`由`no`改为`yes` cluster-enable yes ``` ```shell cd /root/redis-master2/bin/ vim redis.conf # 修改端口 port 6479 # 注释访问限制 # bind 127.0.0.1 # 关闭保护模式 protected-mode no # 将`daemonize`由`no`改为`yes` deamonize yes # 将`cluster-enable`由`no`改为`yes` cluster-enable yes ``` ```shell cd /root/redis-master3/bin/ vim redis.conf # 修改端口 port 6579 # 注释访问限制 # bind 127.0.0.1 # 关闭保护模式 protected-mode no # 将`daemonize`由`no`改为`yes` deamonize yes # 将`cluster-enable`由`no`改为`yes` cluster-enable yes ``` ```shell cd /root/redis-slaver1/bin/ vim redis.conf # 修改端口 port 6380 # 注释访问限制 # bind 127.0.0.1 # 关闭保护模式 protected-mode no # 将`daemonize`由`no`改为`yes` deamonize yes # 将`cluster-enable`由`no`改为`yes` cluster-enable yes ``` ```shell cd /root/redis-slaver2/bin/ vim redis.conf # 修改端口 port 6480 # 注释访问限制 # bind 127.0.0.1 # 关闭保护模式 protected-mode no # 将`daemonize`由`no`改为`yes` deamonize yes # 将`cluster-enable`由`no`改为`yes` cluster-enable yes ``` ```shell cd /root/redis-slaver3/bin/ vim redis.conf # 修改端口 port 6580 # 注释访问限制 # bind 127.0.0.1 # 关闭保护模式 protected-mode no # 将`daemonize`由`no`改为`yes` deamonize yes # 将`cluster-enable`由`no`改为`yes` cluster-enable yes ``` 启动redis ```shell cd /root/redis-master1/bin/ ./redis-server redis.conf cd /root/redis-master2/bin/ ./redis-server redis.conf cd /root/redis-master3/bin/ ./redis-server redis.conf cd /root/redis-slaver1/bin/ ./redis-server redis.conf cd /root/redis-slaver2/bin/ ./redis-server redis.conf cd /root/redis-slaver3/bin/ ./redis-server redis.conf ``` 创建redis集群 ```shell ./redis-cli --cluster create 192.168.42.167:6379 192.168.42.167:6479 192.168.42.167:6579 192.168.42.167:6380 192.168.42.167:6480 192.168.42.167:6580 --cluster-replicas 1 ``` ``` [root@localhost bin]# ./redis-cli --cluster create 192.168.42.167:6379 192.168.42.167:6479 192.168.42.167:6579 192.168.42.167:6380 192.168.42.167:6480 192.168.42.167:6580 --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 192.168.42.167:6480 to 192.168.42.167:6379 Adding replica 192.168.42.167:6580 to 192.168.42.167:6479 Adding replica 192.168.42.167:6380 to 192.168.42.167:6579 >>> Trying to optimize slaves allocation for anti-affinity [WARNING] Some slaves are in the same host as their master M: 49fa4d94f96d8f83edfaac9946e720cf4c186d24 192.168.42.167:6379 slots:[0-5460] (5461 slots) master M: 3300be03f2ac597e801abbd4d30e701d86c35c96 192.168.42.167:6479 slots:[5461-10922] (5462 slots) master M: 7f863fb65c6dfd03d11d85c4bf4f2e9625616b43 192.168.42.167:6579 slots:[10923-16383] (5461 slots) master S: 6fd4ab08c34101eb875ecf707080cc2a68387621 192.168.42.167:6380 replicates 7f863fb65c6dfd03d11d85c4bf4f2e9625616b43 S: 3a3ba0fc11acf0b3009a28c34a24b684add55038 192.168.42.167:6480 replicates 49fa4d94f96d8f83edfaac9946e720cf4c186d24 S: 2d7184c7f92e06469603b428ac7807a20e2a8d03 192.168.42.167:6580 replicates 3300be03f2ac597e801abbd4d30e701d86c35c96 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.42.167:6379) M: 49fa4d94f96d8f83edfaac9946e720cf4c186d24 192.168.42.167:6379 slots:[0-5460] (5461 slots) master 1 additional replica(s) S: 6fd4ab08c34101eb875ecf707080cc2a68387621 192.168.42.167:6380 slots: (0 slots) slave replicates 7f863fb65c6dfd03d11d85c4bf4f2e9625616b43 S: 2d7184c7f92e06469603b428ac7807a20e2a8d03 192.168.42.167:6580 slots: (0 slots) slave replicates 3300be03f2ac597e801abbd4d30e701d86c35c96 S: 3a3ba0fc11acf0b3009a28c34a24b684add55038 192.168.42.167:6480 slots: (0 slots) slave replicates 49fa4d94f96d8f83edfaac9946e720cf4c186d24 M: 3300be03f2ac597e801abbd4d30e701d86c35c96 192.168.42.167:6479 slots:[5461-10922] (5462 slots) master 1 additional replica(s) M: 7f863fb65c6dfd03d11d85c4bf4f2e9625616b43 192.168.42.167:6579 slots:[10923-16383] (5461 slots) master 1 additional replica(s) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. ``` 扩容 ```shell # 复制,注:/var/redis-master1/路径下是一个刚编译好的redis,该节点未启动过,干净节点 cp -r /var/redis-master1/ /root/redis-master4 cp -r /var/redis-master1/ /root/redis-slaver4 # 修改配置,master4端口号修改为6679,slaver4端口号修改为6680 vim /root/redis-master4/bin/redis.conf vim /root/redis-slaver4/bin/redis.conf # 启动master4和slaver4 cd /root/redis-master4/bin/ ./redis-server redis.conf cd /root/redis-slaver4/bin/ ./redis-server redis.conf ``` ```shell # 添加主节点 ./redis-cli --cluster add-node 192.168.42.167:6679 192.168.42.167:6379 ``` ```shell # 重新分配槽 ./redis-cli --cluster reshard 192.168.42.167:6679 # 依次输入 3000 354047330919579651073074385fa411863fa592 all yes # 为master4分配3000个槽 ``` ```shell # 添加从节点 ./redis-cli --cluster add-node 192.168.42.167:6680 192.168.42.167:6679 --cluster-slave --cluster-master-id 354047330919579651073074385fa411863fa592 ```