Redis学习笔记7--Redis集群搭建

在安装redis集群之前,要先安装一些环境

(1)安装zlib

确保系统安装zlib,否则gem install会报(no such file to load -- zlib)

zlib-1.2.6.tar

./configure

make

make install

(2)安装ruby

ruby 使用本地yum安装也能使用(推荐)

编译安装:

这里不能使用make & make install

ruby1.9.2

./configure -prefix=/usr/local/ruby

make

make install

sudo cp ruby /usr/local/bin

(3)安装rubygem:version(1.8.16)

# rubygems-1.8.24.tgz

cd /path/gem

sudo ruby setup.rb

(4)安装gem-redis:version(3.0.0)

将网络放开,切换为淘宝源地址:

# gem source -l

# gem source --remove http://rubygems.org/

# gem sources -a https://ruby.taobao.org/

# gem source -l

gem install redis --version 3.0.0

报错信息:

ERROR: RDoc documentation generator not installed: no such file to load -- rdoc/rdoc

解决办法:

yum install ruby-rdoc -y

vi  redis.conf

##修改配置文件中的下面选项

port 7000

daemonize yes

cluster-enabled yes

cluster-config-file nodes-对应端口号.conf

cluster-node-timeout 5000

appendonly yes

bind ip地址

以配置文件分别启动这6个redis实例

redis-server redis.conf指定以配置文件启动

--replicas 1代表一个主节点下面有一个副节点

./redis-trib.rb create --replicas 1 10.10.10.30:6379 10.10.10.30:6380 10.10.10.40:6381 10.10.10.40:6382 10.10.10.50:6383 10.10.10.50:6384

[[email protected] src]# ./redis-trib.rb create --replicas 1 10.10.10.30:6379 10.10.10.30:6380 10.10.10.40:6381 10.10.10.40:6382 10.10.10.50:6383 10.10.10.50:6384
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
10.10.10.50:6383
10.10.10.40:6381
10.10.10.30:6379
Adding replica 10.10.10.40:6382 to 10.10.10.50:6383
Adding replica 10.10.10.50:6384 to 10.10.10.40:6381
Adding replica 10.10.10.30:6380 to 10.10.10.30:6379
M: 89626713538d146b7890e6f47c62c6aad78f53d2 10.10.10.30:6379
   slots:10923-16383 (5461 slots) master
S: 825e93a27442e225204ee30c59691d0d5e29fe26 10.10.10.30:6380
   replicates 89626713538d146b7890e6f47c62c6aad78f53d2
M: 4919bd2396b138160fd10946f762e0b5b7ef755f 10.10.10.40:6381
   slots:5461-10922 (5462 slots) master
S: 5f06981deeb179aee3671143d8dcfd4001896716 10.10.10.40:6382
   replicates f276f424f1807f2d381cd054ac7579e2b790d0cf
M: f276f424f1807f2d381cd054ac7579e2b790d0cf 10.10.10.50:6383
   slots:0-5460 (5461 slots) master
S: fb84aeb17bb628840f19566a0a2d89e60ab540cc 10.10.10.50:6384
   replicates 4919bd2396b138160fd10946f762e0b5b7ef755f
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 10.10.10.30:6379)
M: 89626713538d146b7890e6f47c62c6aad78f53d2 10.10.10.30:6379
   slots:10923-16383 (5461 slots) master
   1 additional replica(s)
S: 825e93a27442e225204ee30c59691d0d5e29fe26 10.10.10.30:6380
   slots: (0 slots) slave
   replicates 89626713538d146b7890e6f47c62c6aad78f53d2
S: 5f06981deeb179aee3671143d8dcfd4001896716 10.10.10.40:6382
   slots: (0 slots) slave
   replicates f276f424f1807f2d381cd054ac7579e2b790d0cf
S: fb84aeb17bb628840f19566a0a2d89e60ab540cc 10.10.10.50:6384
   slots: (0 slots) slave
   replicates 4919bd2396b138160fd10946f762e0b5b7ef755f
M: 4919bd2396b138160fd10946f762e0b5b7ef755f 10.10.10.40:6381
   slots:5461-10922 (5462 slots) master
   1 additional replica(s)
M: f276f424f1807f2d381cd054ac7579e2b790d0cf 10.10.10.50:6383
   slots:0-5460 (5461 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

连接redis集群必须指定IP地址和端口:

./redis-cli -h 10.10.10.30 -p 6379 -c


10.10.10.30:6379> set name1 qiangge

OK

10.10.10.30:6379> set name2 wanningxi

-> Redirected to slot [742] located at 10.10.10.50:6383

OK

10.10.10.50:6383> set name3 longge

OK

10.10.10.50:6383> set name4 xiaomin

-> Redirected to slot [8736] located at 10.10.10.40:6381

OK

10.10.10.40:6381> get name3

-> Redirected to slot [4807] located at 10.10.10.50:6383

"longge"

10.10.10.50:6383> get name2

"wanningxi"

10.10.10.50:6383> get name1

-> Redirected to slot [12933] located at 10.10.10.30:6379

"qiangge"

10.10.10.30:6379> get name

-> Redirected to slot [5798] located at 10.10.10.40:6381

"wanning"

10.10.10.40:6381>

时间: 2024-08-09 23:29:29

Redis学习笔记7--Redis集群搭建的相关文章

Redis复制与可扩展集群搭建【转】

本文会讨论一下Redis的复制功能以及Redis复制机制本身的优缺点以及集群搭建问题. Redis复制流程概述 Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了Redis的复制功能,就一定会有内存快照发生,那么首先要注意你的系统内存容量规划,原因可以参考我上一篇文章中提到的Redis磁盘IO问题. Redis复制流程在Slave和Master端各自是一套状态机流转,涉及的状态信息是: Slave 端: REDIS

(转)Redis复制与可扩展集群搭建

讨论了Redis的常用数据类型与存储机制,本文会讨论一下Redis的复制功能以及Redis复制机制本身的优缺点以及集群搭建问题. Redis复制流程概述 Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了Redis的复制功能,就一定会有内存快照发生,那么首先要注意你的系统内存容量规划,原因可以参考我上一篇文章中提到的Redis磁盘IO问题. Redis复制流程在Slave和Master端各自是一套状态机流转,涉及的

Redis复制与可扩展集群搭建

抄自:http://www.infoq.com/cn/articles/tq-redis-copy-build-scalable-cluster 讨论了Redis的常用数据类型与存储机制,本文会讨论一下Redis的复制功能以及Redis复制机制本身的优缺点以及集群搭建问题. Redis复制流程概述 Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了Redis的复制功能,就一定会有内存快照发生,那么首先要注意你的系统

[redis读书笔记] 第二部分 集群

1. 一个集群会包含多个节点(一个节点就是一个reid是服务器),CLUST MEET <ip><port>可以添加一个node到集群,命令执行后,两个node之间就会进行握手,握手成功构成集群 2.节点(即redis服务器)启动时,将cluster-enable配置为YES,来决定是否开启服务器的集群模式,开启的node功能如下 3.集群数据结构 CLUSTER MEET的流程,在两个node进行了握手后,发起者NODE A会发送gossip协议消息给所有集群里的其他nodes,

Redis 3.2 Linux 环境集群搭建与java操作

redis 采用 redis-3.2.4 版本. 安装过程 1. 下载并解压 cd /usr/local wget http://download.redis.io/releases/redis-3.2.4.tar.gz tar -zxvf redis-3.2.4.tar.gz 2. 编译安装 cd redis-3.2.4 make && make install 3. 将 redis-trib.rb 复制到 /usr/local/bin 目录下 cd src cp redis-trib.

Redis 3主-3从集群搭建

CentOS7的安装及配置 1.使用VirtualBox最小化安装centos 设置系统内存大小:3072MB:设置硬盘大小:20GB,格式:普通(VDI) 2.centos配置静态ip 修改VirtualBox中当前主机的网络设置 进入当前主机控制台,修改网卡设置 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE="Ethernet"BOOTPROTO="static"NAME="enp0s3&quo

Hadoop学习笔记—13.分布式集群中的动态添加与下架

开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如何动态(不关机且正在运行的情况下)地添加一个Hadoop节点与下架一个Hadoop节点. 一.实验环境结构 本次试验,我们构建的集群是一个主节点,三个从节点的结构,其中三个从节点的性能配置各不相同,这里我们主要在虚拟机中的内存设置这三个从节点分别为:512MB.512MB与256MB.首先,我们暂时只设置两个从节点,另外一个作为动态添加节点的时候使用.主节点与

Redis学习笔记~StackExchange.Redis实现分布式Session

回到目录 对于多WEB的环境现在已经是必须的了,很难想像一台WEB服务器面对百万并发的响应,所以,我们需要多台WEB服务器集群合作,来缓解这种高并发,高吞吐的场景,而对于多WEB的场景又会有个问题出现,即session存储的问题,如一个用户登陆后,把一个状态信息存储到当前WEB服务器的session里,而你请求其它页面时,很可能就被路由到另一台服务器了,这时,session也就丢了,而对于这种情况,有人把redis这个存储中间件想了起来,对它进行了封装,就有了今天基于redis的session共

Redis学习笔记(三) Redis API与常用数据类型简介

一.Redis中常用数据类型 由上一篇博客可知,Redis目前提供五种数据类型:string(字符串).list(链表).Hash(哈希).set(集合)及zset(sorted set)  (有序集合).现在,我们一一来看看这五种数据类型的基本使用方法.在开始介绍之前,我们先使用刚刚引入的Redis API建立一个Redis客户端对象,有了这个客户端对象,我们才能和Redis服务端进行通信,且看下面的一行代码.我们需要事先指定好Redis服务端的IP地址和端口号,然后根据这两个信息建立一个Re

Hadoop学习笔记—13.分布式集群中节点的动态添加与下架

开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如何动态(不关机且正在运行的情况下)地添加一个Hadoop节点与下架一个Hadoop节点. 一.实验环境结构 本次试验,我们构建的集群是一个主节点,三个从节点的结构,其中三个从节点的性能配置各不相同,这里我们主要在虚拟机中的内存设置这三个从节点分别为:512MB.512MB与256MB.首先,我们暂时只设置两个从节点,另外一个作为动态添加节点的时候使用.主节点与