俩台服务器搭建redis集群

1、俩服务器分别新建目录:usr/local/redis-cluster

2、下载源码并解压编译(使用redis版本5.0.4)

3、tar xzf redis-5.0.4.tar.gz

4、cd redis-5.0.4

5、make & make install

测试编译:发现报错

6、cd src

make test

CC Makefile.dep

You need tcl 8.5 or newer in order to run the Redis test

make: *** [test] Error 1

问题原因:缺少依赖,进行安装

7、yum install tcl

8、再次测试编译ok

make test

\o/ All tests passed without errors!

Cleanup: may take some time... OK

9、至此,可以启动redis了,默认启动模式为前端启动,指令如下

cd usr/local/bin

./redis-server

10、验证启动是否成功

ps -ef | grep redis

11、报错

a、运行redis-server报错bash: redis-server: command not found

这是因为在系统的usr/local/bin目录下没有命令文件,这就要将usr/local/redis-cluster/redis/ redis-5.0.4/bin下redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-rdb、redis-sentinel这些可执行文件复制到local/bin下

c、所以修改redis.conf里的daemonize改为yes

12、前端启动的话,如果客户端关闭,redis服务也会停掉,只能新开一个窗口或者改成后台启动redis。

具体做法分为两步 ->

第一步:将redis解压文件里面的redis.conf文件复制到当前目录,修改redis.conf里的daemonize改为yes

第二步:启动

13、创建集群目录

俩台服务器在redis-cluster下分别创建7001,7002,7003 // 7004,7005,7006目录

mkdir 7001 7002 7003

mkdir 7004 7005 7006

14、首先对redis.conf下的参数进行修改

(1)、daemonize 设置yes   设置后台运行redis

(2)、cluster-enabled 设置yes并去掉注释  (启动集群模式)

(3)、cluster-node-timeout 设置5000并去掉注释

(4)、bind 127.0.0.1(默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群 )

(5)、protected-mode设置 no(关闭保护模式)需要不同服务器的节点连通,这个就要设置为 no

(6)、appendonly 设置yes   aof日志开启 有需要就开启,它会每次写操作都记录一条日志 

15、复制redis.conf

分别复制redis.conf文件到7001-7006目录下

根据不同端口需要个性化设置的地方(可以批量替换)

(1)、port 7001(分别对每个机器的端口号进行设置)

(2)、设置pidfile存放在 run目录下的文件名  pidfile  /var/run/redis_7001.pid

(3)、logfile /var/log/redis/redis_7001.log

(4)、dbfilename dump_7001.rdb

(5)、appendfilename "appendonly_7001.aof"

(6)、cluster-config-file nodes-7001.conf(集群节点信息文件) 去掉注释

16、创建集群

(1)、先对每台服务器的端口进行开放

输入命令行: uname

会出现系统的名称

再输入

cat /etc/redhat-release

则会出现具体系统

vim /etc/sysconfig/iptables

“I”键输入命令行:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 7001 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 7002 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 7003 -j ACCEPT

....

注意BUG点:新开放的端口行一定要在端口行22的下面一行

(2)、关闭防火墙

重启防火墙使配置生效:

[root@Neo777 ~]# /etc/init.d/iptables restart

查看开放端口

[root@Neo777 ~]# /etc/init.d/iptables status

关闭防火墙命令为:

[root@Neo777 ~]# /etc/init.d/iptables stop

(3)、创建集群

./redis-cli --cluster create 172.25.44.10:7001 172.25.44.10:7002 172.25.44.10:7003 172.25.44.11:7004 172.25.44.11:7005 172.25.44.11:7006 --cluster-replicas 1

留意屏幕,会有一句(type 'yes' to accept),输入 yes ,回车,就是接受自动分配的三主三从

如果最后出现

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

说明成功了。

如果是出现

Waiting for the cluster to join...........

一直有 “.”出现,说明另一台服务器的端口策略没通,一直在等那边的节点加入集群,那么恭喜你,要悲剧了.....

俩台服务器搭建redis集群5.0.4的更多相关文章

  1. 基于 twemproxy 搭建 redis 集群

    概述 由于单台redis服务器的内存管理能力有限,使用过大内存redis服务器的性能急剧下降,且服务器发生故障将直接影响大面积业务.为了获取更好的缓存性能及扩展型,我们将需要搭建redis集群来满足需 ...

  2. Windows下 搭建redis集群

    Windows下搭建redis集群教程 一,redis集群介绍 Redis cluster(redis集群)是在版本3.0后才支持的架构,和其他集群一样,都是为了解决单台服务器不够用的情况,也防止了主 ...

  3. Windows 环境搭建Redis集群

    环境以及引用资料 1.windows server 2008 r2 enterprise  (木有办法,公司的服务器全是如此,就这种环境搭建吧) 2.redis官方资料下载: https://redi ...

  4. 这次一定要教会你搭建Redis集群和MySQL主从同步(非Docker)

    前言 一直都想自己动手搭建一个Redis集群和MySQL的主从同步,当然不是依靠Docker的一键部署(虽然现在企业开发用的最多的是这种方式),所以本文就算是一个教程类文章吧,但在动手搭建之前,会先聊 ...

  5. docker搭建redis集群

    一.简介 docker作为一个容器技术,在搭建资源隔离性服务上具有很大的优势,在一台服务器上可以启动多个docker容器,感觉每个在容器里面部署的服务就像是部署在不同的服务器上.此次基于docker以 ...

  6. Windows下搭建Redis集群

    Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用 ...

  7. Redis集群搭建(转自一菲聪天的“Windows下搭建Redis集群”)

    配置Redis参考:http://blog.csdn.net/zsg88/article/details/73715947 使用Ruby配置集群参考:https://www.cnblogs.com/t ...

  8. centos6搭建redis集群搭建(单机多节点)

    一.安装redis 1.安装gcc环境 yum install gcc-c++ 2.下载源码包并解压 wget http://download.redis.io/releases/redis-3.2. ...

  9. 手动搭建 redis 集群

    转自http://meia.fun/article/1544161420745 手动搭建 redis 集群 redis 基本命令: 启动 redis 服务:redis-server xxx.conf ...

随机推荐

  1. QT5 屏幕旋转90度

    主要思路是将所有项目界面加载到QGraphicsScene,再进行旋转操作.直接上代码#include <QApplication>#include <QGraphicsView&g ...

  2. cStor云存储、cProc云处理、cVideo云视频、cTrans云传输,云创个人网盘

    http://www.cstor.cn,微信公众号:cstor_cn.      云创大数据是国际上云计算产品线齐全的企业之一,针对爆炸式增长的大数据需求,研发了自主知识产权的cStor云存储.cPr ...

  3. MongoDB自学日记2——权限

    首先应该明确的是为什么要学MongoDB.OK,如果是仅仅出于对于流行技术的原始兴趣,可能并不能深入学习,还必须有应用需求.刚开始学习MongoDB,因为以前对其它数据库的了解也不是特别深入,所以许多 ...

  4. jqGrid使用经验分享(一)——jqGrid简单使用、json格式和jsonReader介绍

    广大的读者朋友们大家好,很高兴又可以在博客中和大家分享我的开发经验了. 此次,我准备向大家介绍一个非常好用的jQuery表格插件——jqGrid. 如果您在实际项目中遇到web端表格展示功能的需求,又 ...

  5. 完美解决iis下JWplayer提示Error loading media: File could not be played错误

    最近开发项目需要使用JWplayer插件播放视频,但是无论换那个版本.换什么样的视频总是提示Error loading media: File could not be played错误,废了好大的劲 ...

  6. XML转义字符 如"&"

    解析数据 XML 解析器通常情况下会处理XML文档中的所有文本. 当XML元素被解析的时候,XML元素内部的文本也会被解析,例如: <message>Hello Word!</mes ...

  7. poi 操作Excel 以及大数据量导出

    maven 依赖 (版本必须一致,否则使用SXSSFworkbook 时程序会报错) <dependency> <groupId>org.apache.poi</grou ...

  8. 对shell脚本进行加密

    用shell脚本对系统进行自动化维护,简单,便捷而且可移植性好.但shell脚本是可读写的,很有可能会泄露敏感信息,如用户名,密码,路径,IP等.同样,在shell脚本运行时会也泄露敏感信息.请问如何 ...

  9. 软件测试入门-测试模型(V型 W型 H型)

    软件测试工程师称为“QA”,质量保证者——这是入门的第一点要学习的. 首先看基本的测试模型 1.“V”型 特点:[活动串行]这是一种古老的瀑布模型,反映了实际和测试之间的关系. 局限:仅仅把测试过程作 ...

  10. 如何两个月刷400道leetcode

    前言随着互联网寒潮的到来, 越来越多的互联网公司提高了面试的难度,其中之一就是加大了面试当中手撕算法题的比例.这里说的算法题不是深度学习,机器学习这类的算法,而是排序,广度优先,动态规划这类既考核数据 ...