###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集群搭建与简单使用【转】

    Redis集群搭建与简单使用 安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. 两台虚拟机都 ...

  5. 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. centos7.1 x86_64系统安装openstack(Mitaka)一

    一.Openstack各组件简单介绍 keystone:身份认证服务 glance:镜像服务 nova:计算服务 neutron:网络服务 Cinder:块存储服务 Swift:对象存储服务 heat ...

  2. 从 IClassFactory 为 CLSID 为 {00024500-0000-0000-C000-000000000046} 的 COM 组件创建实例失败,原因是出现以下错误: 8001010a解决办法

    1.在命令行中输入:dcomcnfg,会显示出“组件服务”管理器 2.打开“组件服务->计算机->我的电脑->DCOM 配置”,找到“Microsoft Word文档”,单击右键,选 ...

  3. Android 自定义view (一)——attr 理解

    前言: 自定义view是android自定义控件的核心之一,那么在学习自定义view之前,我们先来了解下自定义view的自定义属性的attr的用法吧 Android attr 是什么 (1)attr ...

  4. MFC获取Windows启动状态(正常启动、安全模式启动、网络安全模式启动)

    UINT nFlags = GetSystemMetrics(SM_CLEANBOOT); switch(nFlags) { : AfxMessageBox(TEXT("正常启动" ...

  5. Python 多线程教程:并发与并行

    转载于: https://my.oschina.net/leejun2005/blog/398826 在批评Python的讨论中,常常说起Python多线程是多么的难用.还有人对 global int ...

  6. iOS常用设计模式笔记

    一.原则 1.单一职责原则 (Single Responsiblity Principle SRP) 2.开闭原则(Open Closed Principle,OCP) 3.里氏替换原则(Liskov ...

  7. Hdu 2955 Robberies 0/1背包

    Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  8. 【KeyCode 键码】

    Key codes returned by Event.keyCode. These map directly to a physical key on the keyboard. KeyCode是由 ...

  9. jquery 获取父窗口的元素 父窗口 子窗口

    一.获取页面元素 取父窗口的元素方法:$(selector, window.parent.document); 那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent ...

  10. Jquery插件Ztree使用所遇问题

    问题1.$.fn.zTree为空或为Undefined 我在MVC中引用Jquery插件Ztree的JS并不存任何问题,而当我将Ztree的js引入项目中,就出现$.fn.zTree为空或为Undef ...