Redis3.2.8集群安装配置

准备环境:

使用2台centos服务器,每台机器上部署3个实例,集群为三个主节点与三个从节点:

第一台

192.168.1.107:7000

192.168.1.107:7001

192.168.1.107:7002

第二台

192.168.1.108:7003

192.168.1.108:7004

192.168.1.108:7005

安装配置:

192.168.1.107服务器

#yum -y install gcc zlib ruby rubygems

#gem install redis

#wgethttp://download.redis.io/releases/redis-3.2.8.tar.gz

#tar -zxvf redis-3.2.8.tar.gz

#cd redis-3.2.8

#make && make install

将redis-trib.rb 复制到 /usr/local/bin 目录下

#cp src/redis-trib.rb /usr/local/bin/

#mkdir -p /data/redis/{conf,data,logs}

#cp redis.conf/data/redis/conf/redis-7000.conf

#cp redis.conf/data/redis/conf/redis-7001.conf

#cp redis.conf/data/redis/conf/redis-7002.conf

配置内容如下(redis-7000.conf其它类同):

daemonize yes

pidfile/data/redis/data/redis-7000.pid

port 7000

bind 192.168.1.107

unixsocket/data/redis/data/redis-7000.sock

unixsocketperm 700

timeout 300

loglevel verbose

logfile/data/redis/logs/redis-7000.log

databases 16

dbfilename dump-7000.rdb

dir /data/redis/data/

#aof持久化

appendonly yes

appendfilename appendonly-7000.aof

appendfsync everysec

no-appendfsync-on-rewrite yes

auto-aof-rewrite-percentage 80-100

auto-aof-rewrite-min-size 64mb

lua-time-limit 5000

#集群配置

cluster-enabled yes

cluster-config-file /data/redis/data/nodes-7000.conf

cluster-node-timeout 5000

同样的在192.168.1.108上配置其它端口,配置后我们分别启动

192.168.1.107主机

#redis-server/data/redis/conf/redis-7000.conf

#redis-server/data/redis/conf/redis-7001.conf

#redis-server/data/redis/conf/redis-7002.conf

192.168.1.108主机

#redis-server/data/redis/conf/redis-7003.conf

#redis-server/data/redis/conf/redis-7004.conf

#redis-server/data/redis/conf/redis-7005.conf

分别在两台主机查看启动进程与端口:

# ps -ef|grep redis

root     4663     1  0 10:53 ?        00:00:09 redis-server192.168.1.107:7000 [cluster]

root     4667     1  0 10:53 ?        00:00:09 redis-server192.168.1.107:7001 [cluster]

root     5566     1  0 12:12 ?        00:00:06 redis-server192.168.1.107:7002 [cluster]

root     5611  5313  0 14:49 pts/1    00:00:00 grep redis

# netstat -tnlp | grep redis

tcp       0      0 192.168.1.107:7000         0.0.0.0:*                   LISTEN      4663/redis-server 1

tcp       0      0 192.168.1.107:7001         0.0.0.0:*                   LISTEN      4667/redis-server 1

tcp       0      0 192.168.1.107:7002         0.0.0.0:*                   LISTEN      5566/redis-server 1

tcp       0      0 192.168.1.107:17000        0.0.0.0:*                   LISTEN      4663/redis-server 1

tcp       0      0 192.168.1.107:17001        0.0.0.0:*                   LISTEN      4667/redis-server 1

tcp       0      0 192.168.1.107:17002        0.0.0.0:*                   LISTEN      5566/redis-server 1

创建集群

redis-trib.rb命令介绍可以参考:

http://weizijun.cn/2016/01/08/redis%20cluster%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7redis-trib-rb%E8%AF%A6%E8%A7%A3/

# redis-trib.rb  create --replicas  1  192.168.1.107:7000 192.168.1.107:7001  192.168.1.107:7002 192.168.1.108:7003  192.168.1.108:7004  192.168.1.108:7005

>>> Creating cluster

>>> Performing hash slotsallocation on 6 nodes...

Using 3 masters:

192.168.1.108:7003

192.168.1.107:7000

192.168.1.108:7004

Adding replica 192.168.1.107:7001 to192.168.12.108:7003

Adding replica 192.168.1.108:7005 to192.168.12.107:7000

Adding replica 192.168.1.107:7002 to192.168.12.108:7004

M: d0ce4d4eb8c503267ffea606e90d1c537a83a22e192.168.1.107:7000

slots:5461-10922 (5462 slots) master

S: 24ca2753885db7f37c0e0077b1f43eb2b1a52e42192.168.1.107:7001

replicates 8ee448821d5e757af73bab65861340e557b8cd14

S: 90c36924c71ae924b1179ff1a384c53e5ea2e484192.168.1.107:7002

replicates 5a93221a3281f88f9984c24b6e1d6f08b3685c89

M: 8ee448821d5e757af73bab65861340e557b8cd14192.168.1.108:7003

slots:0-5460 (5461 slots) master

M: 5a93221a3281f88f9984c24b6e1d6f08b3685c89192.168.1.108:7004

slots:10923-16383 (5461 slots) master

S: a63176f88cbf58ab879421148da3b171f169540d192.168.1.108:7005

replicates d0ce4d4eb8c503267ffea606e90d1c537a83a22e

Can I set the above configuration? (type‘yes‘ to accept): yes  #输入yes

>>> Nodes configuration updated

>>> Assign a different configepoch to each node

>>> Sending CLUSTER MEET messagesto join the cluster

Waiting for the cluster to join.....

>>> Performing Cluster Check(using node 192.168.1.107:7000)

M: d0ce4d4eb8c503267ffea606e90d1c537a83a22e192.168.1.107:7000

slots:5461-10922 (5462 slots) master

M: 24ca2753885db7f37c0e0077b1f43eb2b1a52e42192.168.1.107:7001

slots: (0 slots) master

replicates 8ee448821d5e757af73bab65861340e557b8cd14

M: 90c36924c71ae924b1179ff1a384c53e5ea2e484192.168.1.107:7002

slots: (0 slots) master

replicates 5a93221a3281f88f9984c24b6e1d6f08b3685c89

M: 8ee448821d5e757af73bab65861340e557b8cd14192.168.1.108:7003

slots:0-5460 (5461 slots) master

M: 5a93221a3281f88f9984c24b6e1d6f08b3685c89192.168.1.108:7004

slots:10923-16383 (5461 slots) master

M: a63176f88cbf58ab879421148da3b171f169540d192.168.1.108:7005

slots: (0 slots) master

replicates d0ce4d4eb8c503267ffea606e90d1c537a83a22e

[OK] All nodes agree about slotsconfiguration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.        #集群创建成功

集群验证

192.168.1.107的7002端口的节点写入数据,在192.168.1.108的7005端口查询,接方式为

redis-cli -h 192.168.31.245 -c -p 7002  ,加参数 -C 可连接到集群,因为上面redis.conf

将 bind 改为了ip地址,所以 -h 参数不可以省略。

# redis-cli -h 192.168.1.107 -c -p 7002

192.168.1.108:7003> set test01"this is test01"

OK

192.168.1.108:7003>

# redis-cli -h 192.168.1.108 -c -p 7005

192.168.12.108:7005> get test01

-> Redirected to slot [1840] located at192.168.12.108:7003

"this is test01"

说明集群运作正常。

Redis 集群会把数据存在一个 master 节点,然后在这个master 和其对应的salve 之间进行数据同步。当读取数据时,也根据一致性哈希算法到对应的 master 节点获取数据。只有当一个master 挂掉之后,才会启动一个对应的 salve 节点,充当 master 。

需要注意的是:必须要3个或以上的主节点,否则在创建集群时会失败,并且当存活的主节点数小于总节点数的一半时,整个集群就无法提供服务了。

时间: 2024-08-25 06:55:51

Redis3.2.8集群安装配置的相关文章

高可用RabbitMQ集群安装配置

RabbitMQ集群安装配置+HAproxy+Keepalived高可用 rabbitmq 集群 消息队列 RabbitMQ简介 RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现. AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然.AMQP的主

elk集群安装配置详解

#  一:简介 ``` Elasticsearch作为日志的存储和索引平台: Kibana 用来从 Elasticsearch获取数据,进行数据可视化,定制数据报表: Logstash 依靠强大繁多的插件作为日志加工平台: Filebeat 用来放到各个主机中收集指定位置的日志,将收集到日志发送到 Logstash: Log4j 直接与 Logstash 连接,将日志直接 Logstash(当然此处也可以用 Filebeat 收集 tomcat 的日志). ``` ####  port ```

spark集群安装配置

spark集群安装配置 一. Spark简介 Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发.Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所具有的优点:但不同于Hadoop MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,节省了磁盘IO耗时,性能比Hadoop更快. 所以,相对来说Hadoop更适合做批处理,而Spark更适合做需要反复迭代的机器学习.下面是我在ubuntu1

Hadoop集群安装配置文档

Hadoop集群安装配置文档 日期 内容 修订人 2015.6.3 文档初始化 易新             目录 1 文档概要... 5 1.1软件版本... 5 1.2机器配置... 5 2 虚拟机配置... 5 2.1新建虚拟机... 5 2.2虚拟网络配置... 8 3 CentOS安装及配置... 9 3.1系统安装... 9 3.2系统配置... 10 3.2.1防火墙配置... 10 3.2.2 SElinux配置... 10 3.2.3 IP配置... 11 3.2.4安装vim

Hadoop2.2集群安装配置-Spark集群安装部署

配置安装Hadoop2.2.0 部署spark 1.0的流程 一.环境描写叙述 本实验在一台Windows7-64下安装Vmware.在Vmware里安装两虚拟机分别例如以下 主机名spark1(192.168.232.147),RHEL6.2-64 操作系统,usernameRoot 从机名spark2(192.168.232.152).RHEL6.2-64 操作系统,usernameRoot 二.环境准备 1.防火墙禁用.SSH服务设置为开机启动.并关闭SELINUX 2.改动hosts文件

集群安装配置Hadoop详细图解

集群安装配置Hadoop 集群节点:node4.node5.node6.node7.node8.具体架构: node4 Namenode,secondnamenode,jobtracker node5 Datanode,tasktracker node6 Datanode,tasktracker node7 Datanode,tasktracker node8 Datanode,tasktracker 操作系统为:CentOS release 5.5 (Final) 安装步骤 一.创建Hadoo

Etcd集群安装配置

本次测试集群为2各节点 一. Etcd集群安装配置 安装包:etcd-3.3.11-2.el7.centos.x86_64.rpm 配置文件: #[Member] #ETCD_CORS="" ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #ETCD_WAL_DIR="" ETCD_LISTEN_PEER_URLS="http://192.168.218.146:2380" ETCD_LI

redis3.2.8集群安装

Redis3.2.8集群部署 第一步:安装redis wget http://download.redis.io/releases/redis-3.2.8.tar.gz tar xfredis-3.2.8.tar.gz cd redis-3.2.8/ make  --编译安装 make install #将可执行文件拷贝到/usr/local/bin目录下 也可以PREFIX=""指定目录 makePREFIX=/some/other/directory install  #指定二进制

第一章 redis 集群安装配置

*** 集群对应的主从节点如果同时down,则整个redis集群无法工作 *** 部分是对网上资源的整理,部分是安装过程中存在问题的总结 准备.环境 centos1:192.168.215.156 A centos2:192.168.215.157 B yum -y install zlib ruby rubygems gem install redis 查看ruby安装的软件的结合 gem list 安装redis [root@A opt]# tar -zxvf redis-3.2.2.tar