Redis集群创建和配置
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集群创建和配置的更多相关文章
- Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置
Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...
- redis集群创建时报错:Sorry, can't connect to node
1.redis集群创建时报错:Sorry, can't connect to node ip,端口等都配置正确的话,还需要将redis.conf文件中的密码注释掉 # requirepass 1 ...
- redis集群(主从配置)
市面上太多kv的缓存,最常用的就属memcache了,但是memcache存在单点问题,不过小日本有复制版本,但是使用的人比较少,redis的出现让kv内存存储的想法成为现实.今天主要内容便是redi ...
- Redis集群创建报错
Redis集群环境:och163/och164/och165 在执行如下脚本时报错: ./src/redis-trib.rb create 10.1.253.163: 10.1.253.164: 10 ...
- redis 集群创建常见几个问题
Redis配置集群遇到问题及解决方法 配置完所有主节点后,报" ERR Invalid node address specified" 由于Redis-trib.rb 对域名或 ...
- Redis学习总结(五)--Redis集群创建
在之前我们讲到了主从,但是对于大数据量的场景下我们就需要用到集群了,让我们来了解下集群吧. 为什么需要集群 单机内存太小 redis最高可以达到10万/s 请求,如果超过该频率呢? 数据分布方式 数据 ...
- redis集群创建
先参考文章 https://www.cnblogs.com/PatrickLiu/p/8458788.html https://blog.csdn.net/fengshizty/article/det ...
- Redis 集群_主从配置_哨兵模式
首先:slaveof 可以在[从]服务器启动一个service服务,直接将[从]服务器定义为[从Redis] redis-server --slaveof <master-ip> < ...
- Redis集群_主从配置
链接地址http://www.2cto.com/database/201502/377069.html 收藏备用. Redis主从配置(Master-Slave) 一. Redis Replicati ...
随机推荐
- Mysql Replace语句的使用
Mysql Replace语句的语法: REPLACE [LOW_PRIORITY | DELAYED] [INTO] tbl_name [(col_name,...)] VALUES ({expr ...
- Linux下汇编语言学习笔记17 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- Web App 响应式页面制作 笔记整理
一.移动端种类.分辨率大小 说明: 以主流的iPad.iPhone为例. 工具: Resizer官网: Resizer 用法: 将通栏处写有 “Click or Bookmark”的蓝色按钮拖拽至标签 ...
- UEFI 下安装 ubuntu 及 win8 双系统 的一些事
给电脑原装的win8系统装Ubuntu 出现了好多问题,重装多次,刷坏一块主板后,(都是泪啊...) 终于成功. 可能的问题 1:win8 系统下进入 blos 解决方案 1)关闭快速启动:管理员命 ...
- json数组显示格式
{“colorAndImg”:[{"颜色":“红色”,"地址":“www.sohu.com”}, {“颜色”:“绿色,“地址”:“www.sohu.com”}] ...
- mysql建表语句key的含义
CREATE TABLE `admin_role` ( `adminSet_id` varchar(32) NOT NULL, `roleSet_id` varchar(32) NOT NULL, ...
- Java File类 mkdir 不能创建多层目录,如果是多层,可以调mkdirs
public static void createDir(String destDirName) { File dir = new File(destDirName); if (!dir.exists ...
- 必测的支付漏洞(一)——使用fiddler篡改支付金额
互联网产品中常会遇到支付功能,测试人员测试这部分功能时一定要重视,因为如果这部分出现了较严重的bug,将会给公司带来不小的经济损失!如果你测出了问题领导也一定会高兴的!因此测试优先级很高,但具有一定难 ...
- CentOS 6.9正式版下载
2017-04-07 ,CentOS 6.9正式发布,带来了诸多改进,具体如下. CentOS 6.9重大改进: — 不再有LiveCD,用户可将LiveDVD复制到USB key,在需要时使用: ...
- android 加密手机完毕后待机两分钟出现有频率的杂音
这个音效是code里面主动加的,是为了提醒end user输入PIN的一个提示音,也标志着加密手机动作的完毕. 详细位置是在alps\packages\apps\Settings\src\com\an ...