1.检查GCC是否安装,可以看看版本号
gcc -v
安装命令:yum install gcc-c++

2.安装Ruby和Rubygems
如果有网的话,则通过yum命令进行安装,自动将关联的依赖包全部安装
yum install ruby
yum install rubygems
Ruby离线安装去官网下载:http://www.ruby-lang.org/en/downloads/
./configure –-prefix=/usr/local/ruby -prefix是将ruby安装到指定目录,也可以自定义
make && make install
检查版本 ruby -v
配置环境变量 which gem
export RUBY_HOME=/usr/local/ruby
export PATH=$PATH:RUBY_HOME/bin
source /etc/profile
测试echo $PATH

Rubygems离线安装去官网下载 https://rubygems.org/pages/download。
解压并进入目录,执行命令:ruby setup.rb
更新 RubyGems 命令 gem update --system
配置环境变量 which gem
export RUBY_GEMS = XXXX
export PATH=$PATH:RUBY_HOME/bin:$RUBY_GEMS/bin
source /etc/profile
测试echo $PATH
3.安装对应的Redis的Rbuy接口包->Redis的gem包
官网下载https://rubygems.org/gems/redis/
安装 gem install redis-3.3.0.gem
如果报错
ERROR: Loading command: install (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass
我们需要再安装zlib才行,下载zlib,上传解压,安装zlib官方网站:http://www.zlib.net ,最新版1.2.11,安装我们就一笔带过
1 $tar -xvzf zlib-1.2.11.tar.gz
2 $cd zlib-1.2.8.tar.gz
3 $./configure --prefix=/usr/local/zlib 设置安装路径
4 $make
5 $make instal
又报错
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options
1 $ cd /home/cmfchina/ruby/ruby-2.4.1/ext/zlib
#备注:/home/cmfchina/ruby/ruby-2.4.1这个目录是ruby安装包后解压的目录,就是前面提到的ruby离线安装
2 $ ruby extconf.rb --with-zlib-include=/usr/local/zlib/include/ --with-zlib-lib=/usr/local/zlib/lib
#这时候会生成一个Makefile文件 备注:/usr/local/zlib是我的zlib安装目录
3 $ make && make install
接下来我们make && make install 安装一下,但是当我们make的时候,又出现了错误如下
make: *** No rule to make target `/include/ruby.h', needed by `zlib.o'. Stop
vim Makefile 修改如下信息
zlib.o: $(top_srcdir)/include/ruby.h 改成:zlib.o: ../../include/ruby.h
修改完成,然后保存:接着我们再make && make install
我们回到redis的gem目录下,继续执行命令:gem install redis-3.3.0.gem
又出现了错误,提示安装我们还需要安装OpenSSL,因为Redis集群交互是需要OpenSSL
我们又得安装OpenSSL才行,官网地址:https://www.openssl.org/source/ 上次压缩包到服务器,解压,
1 $ tar -xzvf openssl-1.0.2l.tar.gz
2 $ cd openssl-1.0.2l
3 $ ./config -fPIC --prefix=/usr/local/openssl enable-shared
4 $ ./config -t
5 $ make && make install
到Ruby解压的源码[/home/cmfchina/ruby-2.4.1]目录下的ext/openssl 目录
1 $ cd /home/cmfchina/ruby-2.4.1/ext/openssl
2 备注:/home/cmfchina/ruby/ruby-2.4.1这个目录是ruby安装包后解压的目录,就是前面提到的ruby离线安装
3 $ruby extconf.rb --with-openssl-include=/usr/local/openssl/include/ --with-openssl-lib=/usr/local/openssl/lib //会生成一个Makefile文件
4 备注:/usr/local/openssl是我的openssl安装目录
5 $ make && make install
如出错make: *** No rule to make target `/include/ruby.h', needed by `ossl.o'. Stop 将$(top_srcdir)全部改成../..
再回到之前redis目录下执行命令:gem install redis-3.3.0.gem

4.安装redis
到官网(https://redis.io/download)下载Redis 解压进入目录编译安装
# make && make install //make 这里如果不指定PREFIX,默认将安装在/usr/local/bin下,保持默认就好
make && make install PREFIX=/oradata/redis
拷贝Redis/src 目录下 redis-trib.rb 和Redis目录下的redis.conf 文档到 PREFIX的 bin 目录下统一管理
创建及集群文件夹和6个节点
mkdir redis_cluster
mkdir 700{1,2,3,4,5,6}
拷贝 redis.conf 到节点文件700*目录下
开始集群配置
port 7000 //端口7000,7002,7003
bind 本机ip //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7001,7002
logfile /var/run/redis_7000.log //logfile日志文件
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
启动bin目录下执行./redis-service 700*/redis.conf 检查启动
ps -ef | grep redis
netstat -tnlp | grep redis
考虑创建启动脚本放在redis_cluster目录下

5.启动集群
./redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006

6.Redis集群测试 说明:-h+host –p+端口号 –c 是要连接集群,
redis-cli -p 7001 -c
redis-cli -c -h 127.0.0.1 -p 7001 shutdown //关闭集群,如果没有-h参数,默认连接127.0.0.1,如果没有-p参数,默认连接6370端口(所有如果用默认的,就没有-h -p)
cluster info :打印集群的信息
cluster nodes :列出集群当前已知的所有节点( node),以及这些节点的相关信息。

7.重启集群
pkill -9 redis
rm -rf dump.rdb
rm -rf nodes-*.*
重启redis节点,逐个启动 创建集群

8.集群检查

可以使用trib的check检测的集群状态
redis-trib.rb check xxx:7001

如果出现以上的错误,可以尝试使用fix命令修复
redis-trib.rb fix xxx:7001

如果通过fix方式修复不了
pkill redis停止之前的redis进程
然后把aof,rdb,nodes节点文件删除,删除之前需要备份

./redis-trib.rb check 10.166.15.35:7001

Redis集群创建和配置的更多相关文章

  1. Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置

    Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...

  2. redis集群创建时报错:Sorry, can't connect to node

    1.redis集群创建时报错:Sorry, can't connect to node ip,端口等都配置正确的话,还需要将redis.conf文件中的密码注释掉    # requirepass 1 ...

  3. redis集群(主从配置)

    市面上太多kv的缓存,最常用的就属memcache了,但是memcache存在单点问题,不过小日本有复制版本,但是使用的人比较少,redis的出现让kv内存存储的想法成为现实.今天主要内容便是redi ...

  4. Redis集群创建报错

    Redis集群环境:och163/och164/och165 在执行如下脚本时报错: ./src/redis-trib.rb create 10.1.253.163: 10.1.253.164: 10 ...

  5. redis 集群创建常见几个问题

    Redis配置集群遇到问题及解决方法   配置完所有主节点后,报" ERR Invalid node address specified" 由于Redis-trib.rb 对域名或 ...

  6. Redis学习总结(五)--Redis集群创建

    在之前我们讲到了主从,但是对于大数据量的场景下我们就需要用到集群了,让我们来了解下集群吧. 为什么需要集群 单机内存太小 redis最高可以达到10万/s 请求,如果超过该频率呢? 数据分布方式 数据 ...

  7. redis集群创建

    先参考文章 https://www.cnblogs.com/PatrickLiu/p/8458788.html https://blog.csdn.net/fengshizty/article/det ...

  8. Redis 集群_主从配置_哨兵模式

    首先:slaveof 可以在[从]服务器启动一个service服务,直接将[从]服务器定义为[从Redis] redis-server --slaveof <master-ip> < ...

  9. Redis集群_主从配置

    链接地址http://www.2cto.com/database/201502/377069.html 收藏备用. Redis主从配置(Master-Slave) 一. Redis Replicati ...

随机推荐

  1. 创建Django项目(六)——模板

    2013-08-07 22:42:30|           1.设置模板路径         打开 settings.py 文件,修改 TEMPLATE_DIRS 内容,指向模板存放的绝对路径,而不 ...

  2. SpringBoot常用注解总结

    在SpringBoot框架中,注解做为一种隐式配置,极大的简化了之前xml文件的配置方式.SpringBoot中包含许多种类的注解,这里对在SpingBoot项目中经常使用到的一些注解的进行大致的归纳 ...

  3. Eclipse-Java代码规范和质量检查插件-SonarLint

    SonarQube(Sonar)之前的提供的本地工具是需要依赖SonarQube服务器的,这样导致其运行速度缓慢. 新出的SonarLint的扫描引擎直接安装在本地,速度超快,实时探测代码技术债务,给 ...

  4. Linux系统备份还原工具1(DD)(应用实例)

    DD使用教程:http://www.cnblogs.com/EasonJim/p/7442223.html 以下实例没经过大量测试,可能在一些机器上不会有效. 一般围绕以下几点进行设置: 1.dd完后 ...

  5. Redis官方文档资源

    官方文档: 如果要深入研究时,官方提供的文档是最权威的. 英文: https://redis.io/documentation 中文: http://www.redis.cn/documentatio ...

  6. JSP的EL表达式语言

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/expression-language.html: JSP表达式语言(EL)可以方便地访问存储在JavaB ...

  7. 基于Wi-Fi的HID注射器,利用WHID攻击实验

    WHID代表基于 Wi-Fi 的 HID 注射器,即对 HID 攻击进行无线化攻击的一种注入工具. 实验攻击原理如下图: 攻击者使用ESP8266作为AP,在自己的电脑创建客户端连接AP.在客户端键入 ...

  8. zabbix学习系列之基础概念

    触发器 概念 "监控项"仅负责收集数据,而通常收集数据的目的还包括在某指标对应的数据超出合理范围时给相关人员发送警告信息,"触发器"正式英语为监控项所收集的数据 ...

  9. 010 ACL

    Router>en Router#config t Enter configuration commands, one per line.  End with CNTL/Z. Router(co ...

  10. AutoCAD菜单加载失败 找不到文件mnc 怎么办

    菜单加载失败,找不到文件 SWFILECONV(mnu/mns/mnc)   找到CAD安装目录下的swfileconv.arx文件,用记事本打开,清空内容,然后保存即可.