redis从3.0版本开始支持集群,2.X版本主支持sentinel主从模式;所以要搭建集群务必下载3.0以上版本,本教程以3.2.2版本为例。

redis集群最少要有3个主节点,最典型的是3主3从组成集群;本教程以在同一台主机(192.168.220.128)搭建3个主节点(master)的集群为例。

1.下载

下载页面:https://redis.io/download

当前最新版本下载:http://download.redis.io/releases/redis-4.0.1.tar.gz

历史版本下载:http://download.redis.io/releases/

2.安装

先创建基本的目录结构

mkdir redis
mkdir redis/adm
mkdir redis/bin-3.2.
ln -s bin-3.2. redis/bin
mkdir redis/data
mkdir redis/conf
mkdir redis/logs
mkdir redis/tmp

解压编译redis

tar -zxf redis-3.2..tar.gz
cd redis-3.2.
make

将redis二进制文件和ruby脚本移动bin目录,将配置文件移到conf目录

cd src
ll |grep x
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb ../../redis/bin
cd ..
cp runtest runtest-cluster runtest-sentinel ../redis/bin
cp redis.conf sentinel.conf ../redis/conf/

3.配置和启动redis

创建各端口进程的data目录

cd redis/data
mkdir
mkdir
mkdir
mkdir
mkdir
mkdir

创建各端口进程的配置文件,其中portNum和bind的IP根据自己情况修改

cd ../conf
for portNum in
do
cat > redis-$portNum.conf <<EOF
daemonize yes
pidfile /usr/myapp/redis/tmp/redis-$portNum.pid
dir /usr/myapp/redis/data/$portNum/ loglevel notice
logfile /usr/myapp/redis/logs/redis-$portNum.log
maxclients bind 192.168.220.128
port $portNum protected-mode yes
#requirepass yourpasswd cluster-enabled yes
cluster-config-file nodes-$portNum.conf
cluster-node-timeout
cluster-require-full-coverage no appendonly no
appendfsync everysec
auto-aof-rewrite-percentage
auto-aof-rewrite-min-size 256mb save "" repl-diskless-sync no
repl-diskless-sync-delay
EOF
done

创建集群时上边的bind最好只绑定一个本机网卡的IP地址,127.0.0.1也不要绑,不然在后边使用redis-trib创建集群时会一直停在等待节点加入状态。(不绑127.0.0.1的问题是redis-cli需要用-h指定IP才能登录)

然后启动各server进程

cd ../bin
./redis-server ../conf/redis-.conf
./redis-server ../conf/redis-.conf
./redis-server ../conf/redis-.conf
./redis-server ../conf/redis-.conf
./redis-server ../conf/redis-.conf
./redis-server ../conf/redis-.conf

4.安装ruby

由于redis官方提供的集群组建脚本是ruby写的,所以我们需要安装ruby

yum -y install ruby ruby-devel rubygems rpm-build
gem install redis

对于内网环境可能或是不能连接外网或没有源,需要先在别的机器上离线下载然后上传上去离线安装

yum install --downloaddir=.  --downloadonly ruby #下载ruby及其依赖到当前目录,如果还有其他包没下载可模仿下载
yum install --downloaddir=. --downloadonly rubygems #下载gem及其依赖到当前目录
wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.2.gem
yum localinstall ruby -y  #进入上传的ruby存放的目录执行
yum localinstall rubygems -y #进入上传的rubygems目录执行
gem install -l ./redis-3.2..gem

yum localinstall有时装不上改用rpm逐个包安装即可;ruby依次安装compat-readline5--ruby-libs--ruby;gem依次安装ruby-irb--ruby-rdoc--rubygems

5.创建集群

cd ../bin
./redis-trib.rb create --replicas 192.168.220.128: 192.168.220.128: 192.168.220.128: 192.168.220.128: 192.168.220.128: 192.168.220.128:

在提示Can I set the above configuration? (type 'yes' to accept):时输入yes接受即可(redis-trib有时会报错权限不足,以root执行即可)

6.查看集群情况

./redis-cli -h 192.168.220.128 -p  -c cluster nodes

-c是登录集群使可以自动跳转;如果要确保集群可用,可登录set/get一下

参考:

http://www.cnblogs.com/wuxl360/p/5920330.html

redis集群搭建教程(以3.2.2为例)的更多相关文章

  1. centos redis集群搭建

    说明: 10.0.0.111部署6500,6501,6502三个主节点 10.0.0.222部署6500,6501,6502三个备份节点 1.安装redis:略 2.配置内核参数 # 配置 vm.ov ...

  2. redis集群搭建踩坑笔记

    推荐参考教程:https://blog.csdn.net/pucao_cug/article/details/69250101 错误: from /usr/lib/ruby/2.3.0/rubygem ...

  3. 25.redis集群搭建笔记

    ###Redis集群### 0.准备 软件: redis-3.0.0.gem redis-3.0.0.tar.gz#源码   1.安装ruby环境 redis基于ruby槽位计算,hash算法技术,k ...

  4. Redis 集群搭建详细指南

    先有鸡还是先有蛋? 最近有朋友问了一个问题,说毕业后去大城市还是小城市?去大公司还是小公司?我的回答都是大城市!大公司! 为什么这么说呢,你想一下,无论女孩男孩找朋友都喜欢找个子高胸大的.同样的道理嘛 ...

  5. 二、redis集群搭建

    redis集群搭建 redis3.0后支持集群.集群中应该至少有三个节点,每个节点有一备份节点.需要6台服务器.搭建伪分布式,需要6个redis实例.搭建集群的步骤: 一.安装单机版redis 第一步 ...

  6. redis集群搭建及注意事项

    上一篇:redis的安装及注意事项 这里,在一个Linux虚拟机上搭建6个节点的redis伪集群,思路很简单,一台虚拟机上开启6个redis实例,每个redis实例有自己的端口.这样的话,相当于模拟出 ...

  7. Linux Redis集群搭建与集群客户端实现(Python)

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

  8. [转载] Redis集群搭建最佳实践

    转载自http://blog.csdn.net/sweetvvck/article/details/38315149?utm_source=tuicool 要搭建Redis集群,首先得考虑下面的几个问 ...

  9. Linux Redis集群搭建与集群客户端实现

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

随机推荐

  1. IIS7.5 错误代码0x8007007e HTTP 错误 500.19 - Internal Server Error

    今天在win2008+IIS7.5的环境中部署WCF服务后,一直出现无法打开的页面.具体错误信息如下: HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面 ...

  2. Ubuntu 下 Python自由切换

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternati ...

  3. 深入JVM对象引用

    在jdk 1.2以前,创建的对象只有处在可触及(reachaable)状态下,才能被程序所以使用,垃圾回收器一旦发现无用对象,便会对其进行回收.但是,在某些情况下,我们希望有些对象不需要立刻回收或者说 ...

  4. HashMap源码解读

    1.HashMap  1.6解读 a).put,get,遍历方式参看 http://www.cnblogs.com/skywang12345/p/3310835.html#a23 需要注意的是,1.7 ...

  5. R 的内部机制

    在前面的章节中,我们已经学习了 R 语言的基础功能,并且了解了如何运用向量.矩阵.列表和数据框表示不同形式的数据,以及用内置函数解决简单的问题.但是仅仅了解这些功能并不能解决所有问题.现实中的数据分析 ...

  6. 力扣(LeetCode)13. 罗马数字转整数

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并 ...

  7. 《剑指offer》第五十题(字符串中第一个只出现一次的字符)

    // 面试题50(一):字符串中第一个只出现一次的字符 // 题目:在字符串中找出第一个只出现一次的字符.如输入"abaccdeff",则输出 // 'b'. #include & ...

  8. Java之——利用Comparator接口对多个排序条件进行处理

    转载自:http://blog.csdn.net/l1028386804/article/details/56513205 膜拜大神··· 一.需求 假设现在有个如此的需求:需要对一个这样的雇员列表进 ...

  9. Spark Streaming笔记

    Spark Streaming学习笔记 liunx系统的习惯创建hadoop用户在hadoop根目录(/home/hadoop)上创建如下目录app 存放所有软件的安装目录 app/tmp 存放临时文 ...

  10. DAY5 基本数据类型及内置方法

    一.可变与不可变数据类型 1.可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型 2.不可变类型:值改变,但是id也跟着变,证明是产生了新的值,是不可变类型 二.数字类型 1.整型int ...