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. 家的范围 Home on the Range(洛谷 2733)

    题目背景 农民约翰在一片边长是N (2 <= N <= 250)英里的正方形牧场上放牧他的奶牛.(因为一些原因,他的奶牛只在正方形的牧场上吃草.)遗憾的是,他的奶牛已经毁坏一些土地.( 一 ...

  2. C++字符串读入

    int read() { ,f=;char ch=getchar(); ;ch=getchar();} +ch-';ch=getchar();} return x*f; } int main() { ...

  3. Count the Colors-ZOJ1610(线段树区间求)

    Painting some colored segments on a line, some previously painted segments may be covered by some th ...

  4. 洛谷——P1151 子数整数

    P1151 子数整数 题目描述 对于一个五位数a1a2a3a4a5,可将其拆分为三个子数: sub1=a1a2a3 sub2=a2a3a4 sub3=a3a4a5 例如,五位数20207可以拆分成 s ...

  5. 洛谷 P3609 [USACO17JAN]Hoof, Paper, Scissor蹄子剪刀…

    P3609 [USACO17JAN]Hoof, Paper, Scissor蹄子剪刀… 题目背景 欢迎提供翻译,请直接在讨论区发帖,感谢你的贡献. 题目描述 You have probably hea ...

  6. Ubuntu 16.04升级Linux内核为4.7.0最快的方法

    升级内容有很多好处,比如支持最新硬件驱动,使系统更安装等.但是升级内容也会带来一些问题,比如一些软件的兼容性问题,从而出现一些莫名其妙的问题等,所以升级时要慎重考虑. 升级方法: 下载脚本: http ...

  7. yum install tree 出错primary.sqlite.bz2: [Errno -1] Metadata file does not match checks 解决办法

    Loaded plugins: fastestmirrorLoading mirror speeds from cached hostfilehttp://ftp.sjtu.edu.cn/centos ...

  8. how to read openstack code: Neutron architecture

    今天这一章节非常重要.我们知道neutron是一个非常复杂的系统,由很多组件构成.研究这样一个复杂的系统,正确的顺序应该是现在宏观上对其整体结构有所了解,然后再由针对性的对其组件进行深入了解.本章要做 ...

  9. 作为一名CEO

    你 不能怕得罪人 不能奢望完成工作的时候 有太多的愉悦感 你 必须要去做左右为难但左右亦可的 操蛋决策 你 得脸皮够厚 肚囊儿宽超 什么事情都能快速消化 哪怕 是 一坨屎 你 还得 决不放弃 永不言败 ...

  10. cmd-net命令详解

    NET ViewNET UserNET UseNET TimeNet Start Net PauseNet ContinueNET StopNet StatisticsNet Share Net Se ...