[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget http://download.redis.io/releases/redis-3.2.6.tar.gz
[root@localhost src]# tar zxvf redis-3.2.6.tar.gz -C /usr/local/soft/
[root@localhost src]# cd /usr/local/soft/
[root@localhost soft]# cd redis-3.2.6/
[root@localhost redis-3.2.6]# make && make install
[root@localhost redis-3.2.6]# cd /usr/local/soft/
[root@localhost soft]# mkdir redis_cluster
[root@localhost soft]# cd redis_cluster/
[root@localhost redis_cluster]# mkdir 7000 7001 7002
[root@localhost redis_cluster]# cp /usr/local/soft/redis-3.2.6/redis.conf /usr/local/soft/redis_cluster/7000
[root@localhost redis_cluster]# cp /usr/local/soft/redis-3.2.6/redis.conf /usr/local/soft/redis_cluster/7001
[root@localhost redis_cluster]# cp /usr/local/soft/redis-3.2.6/redis.conf /usr/local/soft/redis_cluster/7002
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7002,7003
port 7000 //端口7000,7002,7003
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 5000 //请求超时 设置5秒够了
appendonly yes
bind 真实ip地址
redis-cli -p 7000 CONFIG SET protected-mode no
[root@localhost redis_cluster]# redis-server /usr/local/soft/redis_cluster/7000/redis.conf
[root@localhost redis_cluster]# redis-server /usr/local/soft/redis_cluster/7001/redis.conf
[root@localhost redis_cluster]# redis-server /usr/local/soft/redis_cluster/7002/redis.conf
[root@localhost redis_cluster]# ps -ef | grep redis
root 5842 1 0 19:41 ? 00:00:00 redis-server 127.0.0.1:7000 [cluster]
root 5862 1 0 19:42 ? 00:00:00 redis-server 127.0.0.1:7001 [cluster]
root 5866 1 0 19:42 ? 00:00:00 redis-server 127.0.0.1:7002 [cluster]
root 5871 2583 0 19:42 pts/0 00:00:00 grep redis
[root@localhost redis_cluster]# netstat -tnpl | grep redis
tcp 0 0 127.0.0.1:17000 0.0.0.0:* LISTEN 5842/redis-server 1
tcp 0 0 127.0.0.1:17001 0.0.0.0:* LISTEN 5862/redis-server 1
tcp 0 0 127.0.0.1:17002 0.0.0.0:* LISTEN 5866/redis-server 1
tcp 0 0 127.0.0.1:7000 0.0.0.0:* LISTEN 5842/redis-server 1
tcp 0 0 127.0.0.1:7001 0.0.0.0:* LISTEN 5862/redis-server 1
tcp 0 0 127.0.0.1:7002 0.0.0.0:* LISTEN 5866/redis-server 1
[root@localhost redis_cluster]# cd /usr/local/soft/redis-3.2.6/src/
[root@localhost src]# ./redis-trib.rb
/usr/bin/env: ruby: No such file or directory
[root@localhost src]# yum -y install ruby ruby-devel rubygems rpm-build
[root@localhost src]# gem install redis
[root@localhost src]# ./redis-trib.rb
Usage: redis-trib <command> <options> <arguments ...>
rebalance host:port
--threshold <arg>
--simulate
--weight <arg>
--timeout <arg>
--auto-weights
--pipeline <arg>
--use-empty-masters
info host:port
check host:port
fix host:port
--timeout <arg>
add-node new_host:new_port existing_host:existing_port
--master-id <arg>
--slave
import host:port
--replace
--copy
--from <arg>
reshard host:port
--to <arg>
--from <arg>
--yes
--timeout <arg>
--slots <arg>
--pipeline <arg>
help (show this help)
call host:port command arg arg .. arg
set-timeout host:port milliseconds
del-node host:port node_id
create host1:port1 ... hostN:portN
--replicas <arg>
For check, fix, reshard, del-node, set-timeout you can specify the host and port of any working node in the cluster.
[root@localhost src]# ./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002
>>> Creating cluster
*** ERROR: Invalid configuration for cluster creation.
*** Redis Cluster requires at least 3 master nodes.
*** This is not possible with 3 nodes and 1 replicas per node.
*** At least 6 nodes are required.
- 新开一台机子, 配置如上, 端口号为 7003 7004 7005
- 开放端口号 7000 7001 7002 7003 7004 7005 17000 17001 17002 17003 17004 17005
- 再次创建集群
[root@localhost redis_cluster]# /usr/local/soft/redis-3.2.6/src/redis-trib.rb create --replicas 1 192.168.59.128:7000 192.168.59.128:7001 192.168.59.128:7002 192.168.59.129:7003 192.168.59.129:7004 192.168.59.129:7005
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.59.129:7003
192.168.59.128:7000
192.168.59.129:7004
Adding replica 192.168.59.128:7001 to 192.168.59.129:7003
Adding replica 192.168.59.129:7005 to 192.168.59.128:7000
Adding replica 192.168.59.128:7002 to 192.168.59.129:7004
M: bbf1f1150a661ec3adee9ecb37ab140c03290582 192.168.59.128:7000
slots:5461-10922 (5462 slots) master
S: 046219f4f154a5a757877cd1dc0f186423942424 192.168.59.128:7001
replicates ccd1c5d708b1844881c13ac4c6ac467574ff23f7
S: f5e01feb8dd6f085c3b25c35f25753f6b2fa750b 192.168.59.128:7002
replicates c7af24dcbe0ea6c26aec9965573c82130e98718a
M: ccd1c5d708b1844881c13ac4c6ac467574ff23f7 192.168.59.129:7003
slots:0-5460 (5461 slots) master
M: c7af24dcbe0ea6c26aec9965573c82130e98718a 192.168.59.129:7004
slots:10923-16383 (5461 slots) master
S: 0b9385e4fb3a939414891a00585f65c2fa07c29b 192.168.59.129:7005
replicates bbf1f1150a661ec3adee9ecb37ab140c03290582
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.59.128:7000)
M: bbf1f1150a661ec3adee9ecb37ab140c03290582 192.168.59.128:7000
slots:5461-10922 (5462 slots) master
1 additional replica(s)
S: 046219f4f154a5a757877cd1dc0f186423942424 192.168.59.128:7001
slots: (0 slots) slave
replicates ccd1c5d708b1844881c13ac4c6ac467574ff23f7
S: 0b9385e4fb3a939414891a00585f65c2fa07c29b 192.168.59.129:7005
slots: (0 slots) slave
replicates bbf1f1150a661ec3adee9ecb37ab140c03290582
M: ccd1c5d708b1844881c13ac4c6ac467574ff23f7 192.168.59.129:7003
slots:0-5460 (5461 slots) master
1 additional replica(s)
S: f5e01feb8dd6f085c3b25c35f25753f6b2fa750b 192.168.59.128:7002
slots: (0 slots) slave
replicates c7af24dcbe0ea6c26aec9965573c82130e98718a
M: c7af24dcbe0ea6c26aec9965573c82130e98718a 192.168.59.129:7004
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.
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget http://download.redis.io/releases/redis-3.2.6.tar.gz
[root@localhost src]# tar zxvf redis-3.2.6.tar.gz -C /usr/local/soft/
[root@localhost src]# cd /usr/local/soft/
[root@localhost soft]# cd redis-3.2.6/
[root@localhost redis-3.2.6]# make && make install
[root@localhost redis-3.2.6]# cd /usr/local/soft/
[root@localhost soft]# mkdir redis_cluster
[root@localhost soft]# cd redis_cluster/
[root@localhost redis_cluster]# mkdir 7000 7001 7002
[root@localhost redis_cluster]# cp /usr/local/soft/redis-3.2.6/redis.conf /usr/local/soft/redis_cluster/7000
[root@localhost redis_cluster]# cp /usr/local/soft/redis-3.2.6/redis.conf /usr/local/soft/redis_cluster/7001
[root@localhost redis_cluster]# cp /usr/local/soft/redis-3.2.6/redis.conf /usr/local/soft/redis_cluster/7002
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7002,7003
port 7000 //端口7000,7002,7003
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 5000 //请求超时 设置5秒够了
appendonly yes
bind 真实ip地址
redis-cli -p 7000 CONFIG SET protected-mode no
[root@localhost redis_cluster]# redis-server /usr/local/soft/redis_cluster/7000/redis.conf
[root@localhost redis_cluster]# redis-server /usr/local/soft/redis_cluster/7001/redis.conf
[root@localhost redis_cluster]# redis-server /usr/local/soft/redis_cluster/7002/redis.conf
[root@localhost redis_cluster]# ps -ef | grep redis
root 5842 1 0 19:41 ? 00:00:00 redis-server 127.0.0.1:7000 [cluster]
root 5862 1 0 19:42 ? 00:00:00 redis-server 127.0.0.1:7001 [cluster]
root 5866 1 0 19:42 ? 00:00:00 redis-server 127.0.0.1:7002 [cluster]
root 5871 2583 0 19:42 pts/0 00:00:00 grep redis
[root@localhost redis_cluster]# netstat -tnpl | grep redis
tcp 0 0 127.0.0.1:17000 0.0.0.0:* LISTEN 5842/redis-server 1
tcp 0 0 127.0.0.1:17001 0.0.0.0:* LISTEN 5862/redis-server 1
tcp 0 0 127.0.0.1:17002 0.0.0.0:* LISTEN 5866/redis-server 1
tcp 0 0 127.0.0.1:7000 0.0.0.0:* LISTEN 5842/redis-server 1
tcp 0 0 127.0.0.1:7001 0.0.0.0:* LISTEN 5862/redis-server 1
tcp 0 0 127.0.0.1:7002 0.0.0.0:* LISTEN 5866/redis-server 1
[root@localhost redis_cluster]# cd /usr/local/soft/redis-3.2.6/src/
[root@localhost src]# ./redis-trib.rb
/usr/bin/env: ruby: No such file or directory
[root@localhost src]# yum -y install ruby ruby-devel rubygems rpm-build
[root@localhost src]# gem install redis
[root@localhost src]# ./redis-trib.rb
Usage: redis-trib <command> <options> <arguments ...>
rebalance host:port
--threshold <arg>
--simulate
--weight <arg>
--timeout <arg>
--auto-weights
--pipeline <arg>
--use-empty-masters
info host:port
check host:port
fix host:port
--timeout <arg>
add-node new_host:new_port existing_host:existing_port
--master-id <arg>
--slave
import host:port
--replace
--copy
--from <arg>
reshard host:port
--to <arg>
--from <arg>
--yes
--timeout <arg>
--slots <arg>
--pipeline <arg>
help (show this help)
call host:port command arg arg .. arg
set-timeout host:port milliseconds
del-node host:port node_id
create host1:port1 ... hostN:portN
--replicas <arg>
For check, fix, reshard, del-node, set-timeout you can specify the host and port of any working node in the cluster.
[root@localhost src]# ./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002
>>> Creating cluster
*** ERROR: Invalid configuration for cluster creation.
*** Redis Cluster requires at least 3 master nodes.
*** This is not possible with 3 nodes and 1 replicas per node.
*** At least 6 nodes are required.
- 新开一台机子, 配置如上, 端口号为 7003 7004 7005
- 开放端口号 7000 7001 7002 7003 7004 7005 17000 17001 17002 17003 17004 17005
- 再次创建集群
[root@localhost redis_cluster]# /usr/local/soft/redis-3.2.6/src/redis-trib.rb create --replicas 1 192.168.59.128:7000 192.168.59.128:7001 192.168.59.128:7002 192.168.59.129:7003 192.168.59.129:7004 192.168.59.129:7005
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.59.129:7003
192.168.59.128:7000
192.168.59.129:7004
Adding replica 192.168.59.128:7001 to 192.168.59.129:7003
Adding replica 192.168.59.129:7005 to 192.168.59.128:7000
Adding replica 192.168.59.128:7002 to 192.168.59.129:7004
M: bbf1f1150a661ec3adee9ecb37ab140c03290582 192.168.59.128:7000
slots:5461-10922 (5462 slots) master
S: 046219f4f154a5a757877cd1dc0f186423942424 192.168.59.128:7001
replicates ccd1c5d708b1844881c13ac4c6ac467574ff23f7
S: f5e01feb8dd6f085c3b25c35f25753f6b2fa750b 192.168.59.128:7002
replicates c7af24dcbe0ea6c26aec9965573c82130e98718a
M: ccd1c5d708b1844881c13ac4c6ac467574ff23f7 192.168.59.129:7003
slots:0-5460 (5461 slots) master
M: c7af24dcbe0ea6c26aec9965573c82130e98718a 192.168.59.129:7004
slots:10923-16383 (5461 slots) master
S: 0b9385e4fb3a939414891a00585f65c2fa07c29b 192.168.59.129:7005
replicates bbf1f1150a661ec3adee9ecb37ab140c03290582
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.59.128:7000)
M: bbf1f1150a661ec3adee9ecb37ab140c03290582 192.168.59.128:7000
slots:5461-10922 (5462 slots) master
1 additional replica(s)
S: 046219f4f154a5a757877cd1dc0f186423942424 192.168.59.128:7001
slots: (0 slots) slave
replicates ccd1c5d708b1844881c13ac4c6ac467574ff23f7
S: 0b9385e4fb3a939414891a00585f65c2fa07c29b 192.168.59.129:7005
slots: (0 slots) slave
replicates bbf1f1150a661ec3adee9ecb37ab140c03290582
M: ccd1c5d708b1844881c13ac4c6ac467574ff23f7 192.168.59.129:7003
slots:0-5460 (5461 slots) master
1 additional replica(s)
S: f5e01feb8dd6f085c3b25c35f25753f6b2fa750b 192.168.59.128:7002
slots: (0 slots) slave
replicates c7af24dcbe0ea6c26aec9965573c82130e98718a
M: c7af24dcbe0ea6c26aec9965573c82130e98718a 192.168.59.129:7004
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.
- redis3.0.0 集群安装详细步骤
Redis集群部署文档(centos6系统) Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对 ...
- redis3.0.5集群部署安装详细步骤
Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) ...
- CentOS下redis集群安装
环境: 一台CentOS虚拟机上部署六个节点,创建3个master,3个slave节点 1.下载并解压 cd /root wget http://download.redis.io/releases/ ...
- redis离线集群安装
用一个叫redis-trib.rb的ruby脚本.redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下(redis-xxx/src/).是基于r ...
- 缓存系列之五:通过codis3.2实现redis3.2.8集群的管理
通过codis3.2实现redis3.2.8集群 一:Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没 ...
- Redis Sentinel 集群安装 step by step
一. 准备材料 服务器 IP address 操作系统 位数 Redis 版本 CNT06CAH05 192.168.3.47 CentOS 6.5 x64 Redis-3.2.6 sentine ...
- Redis-3.2.1集群内网部署
摘要: Redis-3.2.1集群内网部署 http://rubygems.org国内连不上时的一种Redis集群部署解决方案.不足之处,请广大网友指正,谢谢! 一. 关于redis cluster ...
- redis cluster 集群 安装 配置 详解
redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...
- 【Oracle 集群】Oracle 11G RAC教程之集群安装(七)
Oracle 11G RAC集群安装(七) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总. ...
随机推荐
- linux常用脚本
转载于http://justcoding.iteye.com/blog/1943504 我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个l ...
- 一些CSS/JS小技巧
CSS部分 1.文本框不可点击 .inputDisabled{ background-color: #eee;cursor: not-allowed;} 2.禁止复制粘贴 onpaste=" ...
- oracle分区表的建立方法(包含已经存在的表要分区)分享,非常好
非原创 Oracle提供了分区技术以支持VLDB(Very Large DataBase).分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中.分区完全对应用透明. Oracle的分区表可 ...
- .NET Framework 4.7 安装
我们打开.NET Framework下载界面: https://www.microsoft.com/net/download/framework 这时你会发现,我们能下载的.NET Framework ...
- avalon2对比avalon1 新增的功能汇总
avalon2.0 与1.4,1.5相比, 2.0是移除了ms-repeat, ms-each, ms-with, ms-include, ms-include-src,ms-data, ms-sca ...
- .NET枚举类型转为List类型
如图所示这个竞卖状态,原先是在前端界面通过html代码写死的几个状态,现在需要改为动态加载.这个几个状态是定义的枚举类型. 1:定义一个枚举类型 /// <summary> /// ...
- JSON 解析工具的封装(Java)
JSON 解析工具的封装(Java) 一直想有一个属于自己的JSON工具,今天终于弄好了..... 1.添加pom依赖包 <!--json解析--> <dependency> ...
- python——文件操作
open函数,该函数用于文件处理 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 1 文件句柄 = open('文件路径', '模式') 打开文件时,需要指定文件路径和以何等方式 ...
- collection and map and Collections
两者的区别: 两者都是接口: Collectoin是java集合框架的一个顶级接口,存储的元素可以是任意类型的对象: Map是java集合框架的映射接口,以键值对的形式存储对象: 也就是说,colle ...
- DokiCam 360°4K相机:为极致运动爱好者而生
去年11月,位于中国苏州的DokiCam为其360°消费像机推出了Kickstarter人群资助活动.随着本次活动圆满结束,这款被称为DokiCam 360°的动作相机现在已经可以购买. 进入360° ...