centos 安装 redis3.2.0 集群(单机6个节点集群)
http://www.cnblogs.com/Leo_wl/p/5485455.html
这里创建6个redis节点,其中三个为主节点,三个为从节点。
redis和端口对应关系:
127.0.0.1:7000
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
步骤:
1,下载redis。官网下载3.0.0版本,之前几的版本不支持集群模式
下载地址:http://download.redis.io/releases/redis-3.0.0.tar.gz
2:上传服务器,解压,编译
tar -zxvf redis-3.2.1.tar.gz
mv redis-3.0.0 redis3.0
cd /usr/local/redis-3.2.1
make & make install
3:创建集群需要的目录并拷贝redis
mkdir -p /usr/local/cluster
mkdir -p /usr/local/cluster/7000
mkdir -p /usr/local/cluster/7001
mkdir -p /usr/local/cluster/7002
mkdir -p /usr/local/cluster/7003
mkdir -p /usr/local/cluster/7004
mkdir -p /usr/local/cluster/7005
cp -rf /usr/local/redis-3.2.1/* /usr/local/cluster/7000/
cp -rf /usr/local/redis-3.2.1/* /usr/local/cluster/7001/
cp -rf /usr/local/redis-3.2.1/* /usr/local/cluster/7002/
cp -rf /usr/local/redis-3.2.1/* /usr/local/cluster/7003/
cp -rf /usr/local/redis-3.2.1/* /usr/local/cluster/7004/
cp -rf /usr/local/redis-3.2.1/* /usr/local/cluster/7005/
4:修改配置文件redis.conf
vi /usr/local/cluster/7000/redis.conf
##修改配置文件中的下面选项
bind 127.0.0.1 192.168.138.135
port 7000
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
7000
#同样再对其它配置文件进行修改
vi /usr/local/cluster/7001/redis.conf
vi /usr/local/cluster/7002/redis.conf
vi /usr/local/cluster/7003/redis.conf
vi /usr/local/cluster/7004/redis.conf
vi /usr/local/cluster/7005/redis.conf
##注意:不同的目录配置不同的redis.conf中的port
5:启动6个redis
cd /usr/local/cluster/7000/src
redis-server ../redis.conf
cd /usr/local/cluster/7001/src
redis-server ../redis.conf
cd /usr/local/cluster/7002/src
redis-server ../redis.conf
cd /usr/local/cluster/7003/src
redis-server ../redis.conf
cd /usr/local/cluster/7004/src
redis-server ../redis.conf
cd /usr/local/cluster/7005/src
redis-server ../redis.conf
/usr/local/cluster/7000/src/redis-server /usr/local/cluster/7000/redis.conf &
/usr/local/cluster/7001/src/redis-server /usr/local/cluster/7001/redis.conf &
/usr/local/cluster/7002/src/redis-server /usr/local/cluster/7002/redis.conf &
/usr/local/cluster/7003/src/redis-server /usr/local/cluster/7003/redis.conf &
/usr/local/cluster/7004/src/redis-server /usr/local/cluster/7004/redis.conf &
/usr/local/cluster/7005/src/redis-server /usr/local/cluster/7005/redis.conf &
##启动之后使用命令查看redis的启动情况ps -ef|grep redis
6,创建redis集群
cd /usr/local/redis-3.2.1/src
./redis-trib.rb create --replicas 1 127.0.0.1:7000 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
/usr/local/redis-3.2.1/src/redis-trib.rb create --replicas 1 127.0.0.1:7000 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
6.1执行上面的命令的时候会报错,因为是执行的的脚本,需要
错误内容:/usr/bin/env: ruby: No such file or directory
所以需要安装ruby的环境,这里推荐使用yum install ruby
success!
[root@centos-zookeeper-01 src]# ./redis-trib.rb create --replicas 1 127.0.0.1:7000 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
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:7000
127.0.0.1:7001
127.0.0.1:7002
Adding replica 127.0.0.1:7003 to 127.0.0.1:7000
Adding replica 127.0.0.1:7004 to 127.0.0.1:7001
Adding replica 127.0.0.1:7005 to 127.0.0.1:7002
M: 88529c0e629d57671497e34cb63bd9d3b50e6938 127.0.0.1:7000
slots:0-5460 (5461 slots) master
M: 6c374725bed2299c835d69c4be2e45ef90e703c7 127.0.0.1:7001
slots:5461-10922 (5462 slots) master
M: 41aca2b94096bd6ef50ca565348eb59a7c70dc8a 127.0.0.1:7002
slots:10923-16383 (5461 slots) master
S: ae4bcd5a591cdf4587a83dd40de8adbd3874f1ce 127.0.0.1:7003
replicates 88529c0e629d57671497e34cb63bd9d3b50e6938
S: 6499c3652eb0fe1c7e691e5bef40c9cf572e810d 127.0.0.1:7004
replicates 6c374725bed2299c835d69c4be2e45ef90e703c7
S: b1df0e073c5242ffa5740591b75108c78f45f253 127.0.0.1:7005
replicates 41aca2b94096bd6ef50ca565348eb59a7c70dc8a
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:7000)
M: 88529c0e629d57671497e34cb63bd9d3b50e6938 127.0.0.1:7000
slots:0-5460 (5461 slots) master
M: 6c374725bed2299c835d69c4be2e45ef90e703c7 127.0.0.1:7001
slots:5461-10922 (5462 slots) master
M: 41aca2b94096bd6ef50ca565348eb59a7c70dc8a 127.0.0.1:7002
slots:10923-16383 (5461 slots) master
M: ae4bcd5a591cdf4587a83dd40de8adbd3874f1ce 127.0.0.1:7003
slots: (0 slots) master
replicates 88529c0e629d57671497e34cb63bd9d3b50e6938
M: 6499c3652eb0fe1c7e691e5bef40c9cf572e810d 127.0.0.1:7004
slots: (0 slots) master
replicates 6c374725bed2299c835d69c4be2e45ef90e703c7
M: b1df0e073c5242ffa5740591b75108c78f45f253 127.0.0.1:7005
slots: (0 slots) master
replicates 41aca2b94096bd6ef50ca565348eb59a7c70dc8a
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
[root@centos-zookeeper-01 src]#
yum install ruby
6.2然后再执行第步的创建集群命令,还会报错,提示缺少rubygems组件
错误内容:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:24
yum install rubygems
6.3再次执行第步的命令,还会报错,提示不能加载redis,是因为缺少redis的接口
错误内容:
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./redis-trib.rb:25
gem install redis
这里可能无法安装,因为无法连接gem服务器:
[@zw_22_90 src]# gem install redis --version 3.0.0
ERROR: Could not find a valid gem 'redis' (= 3.0.0) in any repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
需要手工下载并安装:
wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem
gem install -l ./redis-3.2.1.gem
6.4 再次执行第步的命令,正常执行
输入yes,然后配置完成。
[@zw_22_90 src]# ./redis-trib.rb create --replicas 1 127.0.0.1:7000 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
>>> Creating cluster
Connecting to node 127.0.0.1:7000: OK
Connecting to node 127.0.0.1:7001: OK
Connecting to node 127.0.0.1:7002: OK
Connecting to node 127.0.0.1:7003: OK
Connecting to node 127.0.0.1:7004: OK
Connecting to node 127.0.0.1:7005: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:7000
127.0.0.1:7001
127.0.0.1:7002
Adding replica 127.0.0.1:7003 to 127.0.0.1:7000
Adding replica 127.0.0.1:7004 to 127.0.0.1:7001
Adding replica 127.0.0.1:7005 to 127.0.0.1:7002
M: 2022f24d581b4a7c3342e3245c32927cbd5ec16d 127.0.0.1:7000
slots:0-5460 (5461 slots) master
M: 37b7008f80f8c21a698da8cb1f1b32db8c0c415c 127.0.0.1:7001
slots:5461-10922 (5462 slots) master
M: ac6dc5fa96e856b34c1ba4c3814394e4ebb698dd 127.0.0.1:7002
slots:10923-16383 (5461 slots) master
S: b5b76d70bbb0dbf3e7df8a38f1259e95e2054721 127.0.0.1:7003
replicates 2022f24d581b4a7c3342e3245c32927cbd5ec16d
S: 6881f8fef9c25da486f320ebf2ead39c1502db4c 127.0.0.1:7004
replicates 37b7008f80f8c21a698da8cb1f1b32db8c0c415c
S: f090526d32cced97731eef2a2e1722a7bac7d9ea 127.0.0.1:7005
replicates ac6dc5fa96e856b34c1ba4c3814394e4ebb698dd
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:7000)
M: 2022f24d581b4a7c3342e3245c32927cbd5ec16d 127.0.0.1:7000
slots:0-5460 (5461 slots) master
M: 37b7008f80f8c21a698da8cb1f1b32db8c0c415c 127.0.0.1:7001
slots:5461-10922 (5462 slots) master
M: ac6dc5fa96e856b34c1ba4c3814394e4ebb698dd 127.0.0.1:7002
slots:10923-16383 (5461 slots) master
M: b5b76d70bbb0dbf3e7df8a38f1259e95e2054721 127.0.0.1:7003
slots: (0 slots) master
replicates 2022f24d581b4a7c3342e3245c32927cbd5ec16d
M: 6881f8fef9c25da486f320ebf2ead39c1502db4c 127.0.0.1:7004
slots: (0 slots) master
replicates 37b7008f80f8c21a698da8cb1f1b32db8c0c415c
M: f090526d32cced97731eef2a2e1722a7bac7d9ea 127.0.0.1:7005
slots: (0 slots) master
replicates ac6dc5fa96e856b34c1ba4c3814394e4ebb698dd
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
至此redis集群即搭建成功!
7,redis-cli命令进入集群环境
[@zw_22_90 src]# ./redis-cli -c -p 7000 or ./redis-cli -c -h 192.168.8.222 -p 7000
127.0.0.1:7000> quit;
相关推荐
Redis 3.0在原有的基础上进行了升级,新增了丰富的功能,其中包括支持Lua脚本、可插拔模块化、多主复制、集群等,使得Redis 3.0在性能、可扩展性、安全性等方面有着显著的提升。 2、Redis 3.0新特性: (1)支持Lua...
linux下redis3.0 安装与优化
Redis 3.0版本是其发展历程中的一个重要里程碑,它带来了许多改进和新特性,旨在提升性能、稳定性和功能多样性。 在Redis 3.0中,主要关注以下几个方面的更新: 1. **多线程I/O**: 以往的Redis版本是单线程模型,...
在Windows环境下,特别是32位操作系统上安装和使用Redis可能需要额外的注意事项。以下是对Redis 3.0在Win7 32位x86系统上的一些关键知识点的详细说明: **1. Redis版本3.0** Redis 3.0是Redis的一个重要版本,发布...
本文将详细讲解如何在Windows环境下安装Redis 3.0.503版本,以及安装过程中可能遇到的问题和解决方法。 首先,Redis 3.0.503是Redis的一个较早版本,但在当时已经具备了稳定性和高效性。在安装前,确保你的系统满足...
本资源“redis3.0-window免安装”是专门为Windows操作系统设计的Redis 3.0版本,旨在简化在Windows平台上的部署和使用流程。 Redis 3.0是一个重要的版本,它引入了多项新特性和改进,包括但不限于: 1. **多线程...
Redis 3.0 集群环境安装手册 Redis 3.0 集群环境安装手册是指在 Linux 操作系统中安装和配置 Redis 3.0 集群的步骤指南。Redis 是一个开源、基于内存的数据结构存储系统,可以用作数据库、消息队列、缓存层等。 ...
这个"redis3.0-windows"压缩包文件显然包含了Redis 3.0版本的Windows兼容版本,允许用户在Windows操作系统上运行和管理Redis实例。 Redis的核心特性包括: 1. **键值存储**:Redis的基础是键值对存储,它允许存储...
这个版本是Redis 3.0.504的64位版本,适合在Windows操作系统上运行。它是一个绿色免安装版本,意味着你无需经过传统安装过程,只需将压缩包解压到任意目录,然后执行`startup.bat`脚本就可以启动Redis服务器。 1. *...
在Windows环境下编译Redis3.0,可以让你在本地系统上测试和开发基于Redis的应用,尤其是利用其新特性——Cluster。 **Redis3.0的新特性:** 1. **Cluster支持**:Redis 3.0引入了Cluster功能,这是一个分布式解决...
在Redis 3.0版本中,它已经具备了丰富的特性和功能,使其成为开发者们青睐的NoSQL数据库之一。以下是关于Redis 3.0的一些关键知识点: 1. **数据类型**:Redis支持五种基本数据类型,包括字符串(String)、哈希(Hash...
"redis3.0 windows64位" 版本是指Redis的3.0版本,特别适配于Windows操作系统64位环境。在Windows上部署Redis可能与Linux或Unix系统有所不同,因为Redis通常是为类Unix系统优化的。Windows版Redis提供了方便Windows...
Redis 3.0.504 是一个稳定版本的开源键值存储系统,以其高性能、丰富的数据结构和灵活的数据操作而被广泛应用于缓存、数据库和消息中间件等多个场景。这个版本是为32位操作系统设计的,确保了在资源有限的环境下也能...
redis3.0windows版,解压后可直接使用
Redis 3.0是Redis数据库的一个重要版本,...通过正确安装和配置Redis 3.0,你可以将其无缝集成到你的64位系统中,充分利用其高效的数据处理能力,提升应用程序的性能。记住,定期更新和维护是确保Redis稳定运行的关键。
本文将详细介绍如何在Windows上安装和使用Redis 3.0.504版本,以及其主要功能和使用技巧。 一、Redis 3.0.504 for Windows 安装 1. 下载:首先,你需要从官方或者可靠的第三方源下载Redis 3.0.504 for Windows的...
3.0.501是Redis的一个版本,而“绿色版”通常指的是免安装版本,可以直接运行,不需要进行系统级别的安装,方便在不同的环境中快速部署和使用。 在Redis 3.0.501绿色版中,我们可以通过提供的批处理文件来管理Redis...
在这个“redis3.0 demo”中,我们可以期待看到如何利用这些新特性来构建实际的应用场景。下面,我们将详细探讨Redis 3.0的关键知识点。 1. **Cluster模式**: - 文件名`redis.cluster`暗示了我们可能在研究Redis的...