###Redis集群###
0.准备
软件:
redis-3.0.0.gem
redis-3.0.0.tar.gz#源码
 
1.安装ruby环境
redis基于ruby槽位计算,hash算法技术,key是用hash存在的,key分布在数组的槽位内(16384个槽位),下标从0到2^N,并且采用链表解决冲突。
yum install -y ruby
yum install -y rubygems
2.安装ruby和redis的接口程序
cp redis-3.0.0.gem /usr/local/
gem install redis-3.0.0.gem
2.安装到opt下面
cd /opt/
mkdir redis-cluster
cd /home
tar -zxvf redis-3.0.0.tar.gz -C /opt/redis-cluster
创建6个目录7001--7006,redis集群最低6台机器,搭建伪集群需要创建6个redis实例,以端口区分;redis集群要求最低3个主节点,所以3个master,3个slave一共最少6个redis实例.
mkdir 7001 7002 7003 7004 7005 7006
 
修改配置文件夹redis.conf
pidfile /opt/redis-cluster/7001/redis.pid[是不是非必须需要测]
port 7001[同一台机器伪集群必须改]
daemonize yes
cluster-enabled yes[必须]
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
bind 192.168.10.100[每个redis改成自己的ip]
 
cp redis.conf ../7001
cp redis.conf ../7002
cp redis.conf ../7003
cp redis.conf ../7004
cp redis.conf ../7005
cp redis.conf ../7006
 
修改端口号:
cd ../
vim 7001/redis.conf
vim 7002/redis.conf
vim 7003/redis.conf
vim 7004/redis.conf
vim 7005/redis.conf
vim 7006/redis.conf
 
#编译源码
cd /opt/redis-cluster/redis-3.0.0
make && make install
 
复制生成的可执行文件
cd src
cp redis-server/opt/redis-cluster/7001#redis服务端
cp redis-server/opt/redis-cluster/7002
cp redis-server/opt/redis-cluster/7003
cp redis-server/opt/redis-cluster/7004
cp redis-server/opt/redis-cluster/7005
cp redis-server/opt/redis-cluster/7006
 
cp redis-cli /opt/redis-cluster#控制台客户端工具
cp redis-trib.rb/opt/redis-cluster#初始化集群可执行文件
 
#3.启动集群
先启动6台redis实例
进入7001 7002 7003 7004 7005 7006
分别执行
./redis-server ./redis.conf
ps -ef | grep redis
6个redis启动成功
 
初始化集群,把6台机器纳入集群
cd /opt/redis-cluster
./redis-trib.rb create --replicas 1 192.168.10.100:7001 192.168.10.100:7002 192.168.10.100:7003 192.168.10.100:7004 192.168.10.100:7005  192.168.10.100:7006
到此redis集群搭建启动成功.
 
#连接redis任意一台
./redis-cli -c -p 7001 -h ip
#查看集群信息
>cluster info
>cluster nodes
#杀死所有redis进程
kill -9 $(ps -ef|grep -E 'redis'|grep -v grep|awk '{print $2}')
有关配置文件参数说明:参考分类笔记-->NoSQL-->Redis-->Redis配置文件参数说明
 
集群动态扩展:
客户端连接redis:
./redis-cli -p 7001 -h ip
cluster info
quit
 
添加节点:
主节点
./redis-trib.rb add-node  192.168.10.100:7001 192.168.10.100:7007一次添加一台机器
从节点
./redis-trib.rb add-node --slave --master-id
[OK] New node added correctly.
删除主节点
./redis-trib.rb del-node 192.168.10.100:7001 192.168.10.100: 7007
 
cluster nodes查看集群节点信息
./redis-cli -c -p 7001
 
分配槽位:
./redis-trib.rb reshard 192.168.10.100:7001
500
8ebe5fe6f79a343319201066c962f55327f1037a
all
./redis-cli -c -p 7001
cluster nodes
看到:ted 0-165 5461-5627 10923-11088分配成功
 
添加从节点:
./redis-trib.rb add-node --slave --master-id 8ebe5fe6f79a343319201066c962f55327f1037a 192.168.10.100:7007 192.168.10.100:7008
 
 
 
 
 

25.redis集群搭建笔记的更多相关文章

  1. Redis集群搭建笔记

    系统为CentOS7,创建9001-9006 6个文件夹,复制 redis-server redis.conf 文件到6个新文件夹下 redis.conf文件配置如下: port 9001 daemo ...

  2. redis集群搭建踩坑笔记

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

  3. 二、redis集群搭建

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

  4. Redis 集群搭建详细指南

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

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

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

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

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

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

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

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

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

  9. Redis集群搭建-韩国庆

    认真一步一步搭建下来,就可以成功.... Redis-cluster集群架构讲解 redis集群专业名词称之为Redis-cluster,redis集群是从3.0版本以后才有的概念,也就是说在3.0之 ...

随机推荐

  1. BZOJ 1462: Superkmp

    Description 匹配字符串A,B,匹配条件是在A长度为=B的子串中,排名顺序相同. Sol KMP+树状数组. KMP匹配的时候计算排名就可以了啊...这个东西可以用树状数组维护. 这题是个双 ...

  2. SmartJS 第一期(0.1)发布 - AOP三剑客

    隔了好久才终于又发布了一点东西,SmartJS是最近才开始搞的一个开源js库,目的是做一些比较有特点的事情(smartjs暂时也是依赖于jquery). SmartJS的内容规划比较多,也无法在短时间 ...

  3. 软件工程 speedsnail 冲刺1

    2015-5-5 完成任务:背景音乐的添加: 遇到问题:循环播放的设置: 明日任务:snail的移动功能.

  4. 使用Handler和Timer+Timertask实现简单的图片轮播

    布局文件就只放了一个简单的ImageView,就不展示了. 下面是Activity package com.example.administrator.handlerthreadmessagedemo ...

  5. ubuntu文件定时加密压缩

    #!/bin/sh #zip.sh DATE=`date -d yesterday +"%Y%m%d"` #password PASS="123456" if ...

  6. COM组件入门(一)

    近期须要用到COM组件的知识,看了看COM编程指南,感觉还不错.把我的学习心得记录下来.这是我依据教程写的demo StopWatch接口实现部分,接口部分我的项目是动态库,主要源代码例如以下: 完整 ...

  7. sed示例

    引用:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html [root@www ~]# sed [-nefr] [动作] 选 ...

  8. python的memcache使用如果对key设置了一个int型

    如果对key设置了int型,会出现不可预知的错误,这个问题纠结了我好久,最终还是加了个str(),切忌切忌

  9. 让delphi程序不受WINDOWS日期格式的影响(使用SetLocaleInfo函数和Application.UpdateFormatSettings)

    如果WINDOWS系统的短日期格式为“yyyy/m/d”,执行下面的代码会报错:2013-01-29 00:00:00不是合法的日期procedure TFrmQuerySale.FormShow(S ...

  10. zeros()和ones()和eye()

    python--zeros函数和ones函数 使用numpy.zeros,numpy.ones,numpy.eye等方法可以构造特定的矩阵 >>>from numpy import ...