###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. ios cell时间相同隐藏算法

  2. 使用Microsoft Fakes隔离测试代码

    在单元测试(Unit Test)中我们遇到的问题之一是:假如被测试组件(类或项目)为A,组件A依赖于组件B,那么在组件A的单元测试ATest中测试A时,也需要依赖于B,在B发生改动后,就可能影响到A的 ...

  3. C/C++ 结构体 数组 简单输入输出

    #include <stdio.h> #include <stdlib.h> struct student{ int num; ]; double dec; }; int ma ...

  4. PAT——乙级真题1003代码

    #include<iostream> #include<string> using namespace std; int getLength(string str0); int ...

  5. 开始学习bizTalk server了

    开始学习bizTalk Server 2013 R2了,有兴趣的朋友可以关注我,一同学习

  6. vnc服务的安装与配置

    1. 安装必要的软件包 系统为CentOS 6.0,为最小化安装. a. 安装vncserver服务端和客户端端 yum install tigervnc tigervnc-server -y b. ...

  7. Java多线程开发系列之二:如何创建多线程

    前文已介绍过多线程的基本知识了,比如什么是多线程,什么又是进程,为什么要使用多线程等等. 在了解了软件开发中使用多线程的基本常识后,我们今天来聊聊如何简单的使用多线程. 在Java中创建多线程的方式有 ...

  8. CheckBox 半选中状态

    <input type='checkbox' />可以半选中,这个特性,很多浏览器都支持,包括Firefox,Chrome和IE 用 input.indeterminate 这个属性来获取 ...

  9. ubuntu16.04.1下的mysql修改默认编码

    在Ubuntu 下配置 Mysql 的字符编码.安装完 Mysql 后,系统默认的字符编码是 latin1 ,输入的是中文,可是输出却是一堆乱码.现在要做的就是把 Mysql的默认字符编码设置为支持中 ...

  10. 并发框架Disruptor浅析

    1.引言 Disruptor是一个开源的Java框架,它被设计用于在生产者—消费者(producer-consumer problem,简称PCP)问题上获得尽量高的吞吐量(TPS)和尽量低的延迟.D ...