Redis集群安装

Redis3集群安装

  1. 什么是Redis

Redis是目前一个非常优秀的key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set有序集合)和hash(哈希类型)。

  1. 为什么要安装Redis3集群

Redis3.x支持集群模式,更加可靠!

  1. 安装Redis3集群(6台Linux)

参考文章:http://blog.csdn.net/myrainblues/article/details/25881535

 

  1. 下载redis3的稳定版本,下载地址http://download.redis.io/releases/redis-3.0.7.tar.gz
  2. 上传redis-3.0.7.tar.gz到服务器
  3. 解压redis源码包

tar -zxvf redis-3.0.7.tar.gz -C /usr/local/src/

  1. 进入到源码包中,编译并安装redis

cd /usr/local/src/redis-3.0.7/

make && make install

  1. 报错,缺少依赖的包

 

  1. 配置本地YUM源并安装redis依赖的rpm包

yum -y install gcc

  1. 编译并安装

make && make install

  1. 报错,原因是没有安装jemalloc内存分配器,可以安装jemalloc或直接输入

make MALLOC=libc && make install

 

  1. 重新编译安装

make MALLOC=libc && make install

  1. 用同样的方式在其他的机器上编译安装redis
  2. 在所有机器的/usr/local/下创建一个redis目录,然后拷贝redis自带的配置文件redis.conf到/usr/local/redis

mkdir /usr/local/redis

cp /usr/local/src/redis-3.0.7/redis.conf /usr/local/redis

  1. 修改所有机器的配置文件redis.conf

daemonize yes  #redis后台运行

cluster-enabled yes  #开启集群把注释去掉

appendonly yes  #开启aof日志,它会每次写操作都记录一条日志

sed -i 's/daemonize no/daemonize yes/' /usr/local/redis/redis.conf

sed -i 's/# cluster-enabled yes/cluster-enabled yes/' /usr/local/redis/redis.conf

sed -i 's/appendonly no/appendonly yes/' /usr/local/redis/redis.conf

sed -i 's/# cluster-node-timeout 15000/cluster-node-timeout 5000/' /usr/local/redis/redis.conf

  1. 启动所有的redis节点

cd /usr/local/redis

redis-server redis.conf

  1. 查看redis进程状态

ps -ef | grep redis

 

  1. 配置集群:安装ruby和ruby gem工具(redis3集群配置需要ruby的gem工具,类似yum)

yum -y install ruby rubygems

(centos6.5的光盘可能缺失rubygems包,需要这样处理:

先安装yum -y install ruby,

再安装rubygems的依赖:

yum install -y ruby-irb

yum install -y ruby-rdoc

再用rpm命令安装rubygems包

rpm -ivh /root/rubygems-1.3.7-5.el6.noarch.rpm

)

  1. 使用gem下载redis集群的配置脚本

gem install redis

 

 

有外网成功 

Successfully installed redis-4.1.3

Parsing documentation for redis-4.1.3

Done installing documentation for redis after 0 seconds

1 gem installed

  1. gem需要上网才能下载,由于安装redis的服务器可能无法访问外网,可以找一台可以上网的服务器执行下面的命令

yum -y install ruby rubygems

gem install redis

将下载好的redis gem(/usr/lib/ruby/gems/1.8/cache/redis-3.2.2.gem)拷贝到其他服务器

cd /usr/lib/ruby/gems/1.8/cache

for n in {2..6}; do scp redis-3.2.2.gem 192.168.0.3$n:$PWD; done

 

(联网)Ruby 版本过低问题解决

https://blog.csdn.net/chenxinchongcn/article/details/78666374

如果无法解决,请使用离线包安装

 

  1. 使用gem本地模式安装redis-3.2.2.gem

gem install --local /usr/lib/ruby/gems/1.8/cache/redis-3.2.2.gem

  1. 使用脚本配置redis集群(在一台机器上执行即可,想要把哪些节点配置成Master节点就放在后面

cd /usr/local/src/redis-3.0.7/src/

service iptables stop

./redis-trib.rb create --replicas 1 192.168.111.101:6379 192.168.111.102:6379 192.168.111.103:6379 192.168.111.104:6379 192.168.111.105:6379 192.168.111.106:6379 192.168.111.101:6379

  1. 测试

redis-cli -c -p 6379

 

 

 

如果服务器一直在waiting for the cluster to join ...

解决方案:

1:打开所有节点的redis.conf  配置bind属性 值是服务器的外网IP

如:bind 192.168.111.101

2:使用redis desktop Manager连接所有节点 调出命令窗口输入一下 命令

flushall

cluster reset

 

3:进入各个节点的redis的rdb文件保存位置(/usr/local/redis/dump.rdb)

     删除rdb持久化文件和nodes.conf文件

4:关闭所有redis示例  (cd  /usr/local/redis  执行    redis-cli shutdown )

5:启动redis  (redis-server redis.conf)

 101号主机再次进入cd /usr/local/src/redis-3.0.7/src/

执行  ./redis-trib.rb create --replicas 1 192.168.111.101:6379 192.168.111.102:6379 192.168.111.103:6379 192.168.111.104:6379 192.168.111.105:6379 192.168.111.106:6379 192.168.111.101:6379

注:本文在百度网盘某文档的基础上实际应用修改而来

附如何搭建center os服务器

https://download.csdn.net/download/jgszhuzhu/12031599

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值