Redis集群配置与部署

当前使用redis版本 3.2.5

安装redis

将redis安装到指定目录。使用命令

make PREFIX=/usr/local/redis install

出现问题的话,可以参考我之前的《Redis单机版安装与配置

安装结果如下

切换至redis安装路径

创建集群配置文件

[root@localhost loca]# mkdir redis_cluster
[root@localhost loca]# cd redis_cluster
[root@localhost redis_cluster]# mkdir conf

在此目录下,创建redis_7000.conf到redis_7005.conf六个配置文件。

创建一个redis_7000.conf文件,其余cp就可以,适当更改端口号等信息即可

将如下信息

daemonize yes #守护进程方式运行
pidfile /var/run/redis_7002.pid #pid进程文件存放位置
port 7002 #端口号
cluster-enabled yes #开启集群 
cluster-config-file nodes_7002.conf #集群配置文件
cluster-node-timeout 5000 #请求超时时间单位 ms
cluster-slave-validity-factor 1 #当主节点宕机时,从节点变成主节点的时间因数
appendonly yes #aof日志开启
appendfilename "appendonly7002.aof" #aof日志名称
bind ip地址 #redis地址
masterauth 密码 #redis主机密码
requirepass 密码 #redis从机请求密码

当主节点宕机时,从节点变成主节点的时间计算方法为 cluster-node-timeout * cluster-slave-validity-factor

拷贝到redis_7002.conf中,其他复制。

[root@localhost conf]# cp redis_7000.conf  redis_7001.conf
[root@localhost conf]# cp redis_7000.conf  redis_7002.conf
[root@localhost conf]# cp redis_7000.conf  redis_7003.conf
[root@localhost conf]# cp redis_7000.conf  redis_7004.conf
[root@localhost conf]# cp redis_7000.conf  redis_7005.conf

启动redis实例

/usr/loca/redis/bin/redis-server redis_7000.conf

启动结果如下

搭建集群

现在我们已经有了六个正在运行中的 Redis 实例,接下来我们需要使用这些实例来创建集群,并为每个节点编写配置文件。

通过使用 Redis 集群命令行工具 redis-trib 编写节点配置文件的工作可以非常容易地完成: redis-trib 位于 Redis 源码的 src 文件夹中, 它是一个 Ruby 程序, 这个程序通过向实例发送特殊命令来完成创建新集群, 检查集群, 或者对集群进行重新分片(reshared)等工作。所以我们需要安装ruby.

安装ruby

yum install ruby

yum install rubygems

gem install redis

此时报错

解决方法如下

命令1

curl -L get.rvm.io | bash -s stable

如果出现没有公钥的提示,则按屏幕提示,安装公钥。(此处忘记截图,注意按文字描述,领会精神)

安装完成后,再次执行curl -L get.rvm.io | bash -s stable 进行rvm安装。

如果出现

curl: (35) TCP connection reset by peer 错误,可以尝试如下方法:

chown -R root ~root/.gnupg

chmod 600 ~/.gnupg/gpg.conf

chmod 700 ~/.gnupg/

执行完成后,按照上面的提示,首先退出ssh,然后再登陆ssh。然后执行source /etc/profile.d/rvm.sh指令。接下来执行一下rvm list known指令,看看当前查看rvm库中已知的ruby版本

rvm list known

rvm install 2.3.4

使用安装好的

rvm use 2.3.4

切换到redis3.2.5的src目录

执行命令

./redis-trib.rb

出现如下问题

再次执行

gem install redis

完成后,执行

./redis-trib.rb

出现上述画面,则表示可以开始利用./redis-trib.rb 进行集群搭建了

正式开始搭建集群

在当前文件夹下(redis的源码路径,如下图所示)

执行./redis-trib.rb info ip地址:7000等看看节点信息。

上图显示的信息表明节点连接正确,开始创建集群

集群创建命令

./redis-trib.rb create --replicas 1 ip1:port1 ip2:port2  ip3:port3 ip4:port4 ip5:port5 ip6:port6

出现如下画面则表示创建成功

题外话

1,密码设置(推荐)

如果集群想通过密码验证的话可做做如下配置

修改所有Redis集群中的redis.conf文件加入:

masterauth passwd123

requirepass passwd123

设置密码之后如果需要使用redis-trib.rb的各种命令,会提示ERR] Sorry, can’t connect to node 127.0.0.1:7000

解决方法

vim /usr/local/rvm/gems/ruby-2.3.3/gems/redis-4.0.0/lib/redis/client.rb,然后修改passord

 

class Client
    DEFAULTS = {
      :url => lambda { ENV["REDIS_URL"] },
      :scheme => "redis",
      :host => "127.0.0.1",
      :port => 6379,
      :path => nil,
      :timeout => 5.0,
      :password => "passwd123",
      :db => 0,
      :driver => nil,
      :id => nil,
      :tcp_keepalive => 0,
      :reconnect_attempts => 1,
      :inherit_socket => false

client.rb路径可以通过find命令查找:find / -name 'client.rb'

2,关于防火墙

如果linux中,有防火墙启用,那么要将redis总线的端口也加到防火墙的策略中。

redis总线的端口一般为 redis客户端端口号+10000

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值