Redis Liunx安装及Redis-Cluster集群搭建

1.下载redis

访问:http://www.redis.cn/download.html 下载redis安装包,下面使用的是3.0.7版本。

2.解压,安装

安装包放置在/opt目录下。前提请安装gcc+依赖。

cd /opt
tar -zxvf redis-3.0.7.tar.gz
cd redis-3.0.7
make
cd src
make install

如下:
  Hint: It's a good idea to run 'make test' ;)

  INSTALL install
  INSTALL install
  INSTALL install
  INSTALL install
  INSTALL install
到此安装成功

3.部署:
mkdir -p /opt/redis-3.0.7/bin
mkdir -p /opt/redis-3.0.7/etc

mv /opt/redis-3.0.7/redis.conf /opt/redis-3.0.7/etc/

cd src 

mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /opt/redis-3.0.7/bin

4.启动:

./redis-server /opt/redis-3.0.7/etc/redis.conf

5.搭建redis-cluster集群

搭建集群:两台机器(192.168.1.140,192,168.1.132),每台分别有6个节点为例
1).创建集群目录

140:

  mkdir -p /opt/redis-cluster
  cd /opt/redis-cluster
  mkdir conf data log
  mkdir -p data/redis-6379 data/redis-6389 data/redis-6380 data/redis-6390 data/redis-6381 data/redis-6391

132:

  mkdir -p /opt/redis-cluster
  cd /opt/redis-cluster
  mkdir conf data log
       mkdir -p data/redis-7379 data/redis-7389 data/redis-7380 data/redis-7390 data/redis-7381 data/redis-7391

2)给每个节点创建新的redis.conf文件,(下面配置根据实际情况作出调整)

cp /opt/redis-3.0.7/redis.conf /opt/redis-cluster/conf/${自定义}.conf  (如:6379.conf,6380.conf……)

修改模板如下:

  #密码
  masterauth passw0rd!
  requirepass passw0rd!
  # redis后台运行
  daemonize yes
  # 绑定的主机端口
  bind ip
  # 数据存放目录
  dir /opt/redis-cluster/data/redis-${自定义}
  # 进程文件
  pidfile /opt/redis-cluster/${自定义}.pid
  # 日志文件
  logfile /opt/redis-cluster/log/${自定义}.log
  # 端口号
  port 端口
  # 开启集群模式,把注释#去掉
  cluster-enabled yes
  # 集群的配置,配置文件首次启动自动生成
  cluster-config-file /usr/local/redis-cluster/conf/${自定义}.conf
  # 请求超时,设置10秒
  cluster-node-timeout 10000
  # aof日志开启,有需要就开启,它会每次写操作都记录一条日志
  appendonly yes

3).安装ruby和rubygems

     yum install rubygems 

4).准备rubygem redis依赖
  gem install redis-3.0.0

5).拷贝redis-trib.rb到集群根目录
cp /opt/redis-3.0.7/src/redis-trib.rb /opt/redis-cluster

搭建集群以上操作,140与132两台机器操作一致

6).安装启动redis服务节点

 140:
cd /opt/redis-3.0.7/bin
  ./redis-server /opt/redis-cluster/conf/6379.conf
  ./redis-server /opt/redis-cluster/conf/6380.conf
  ./redis-server /opt/redis-cluster/conf/6381.conf
  ./redis-server /opt/redis-cluster/conf/6389.conf
  ./redis-server /opt/redis-cluster/conf/6390.conf
  ./redis-server /opt/redis-cluster/conf/6391.conf

132:

cd /opt/redis-3.0.7/bin

./redis-server /opt/redis-cluster/conf/7379.conf
./redis-server /opt/redis-cluster/conf/7380.conf
./redis-server /opt/redis-cluster/conf/7381.conf
./redis-server /opt/redis-cluster/conf/7389.conf
./redis-server /opt/redis-cluster/conf/7390.conf
./redis-server /opt/redis-cluster/conf/7391.conf

7)查看服务 ps -ef | grep redis,每个节点服务是否起来

8)redis-trib关联集群节点

cd /opt/redis-cluster

./redis-trib.rb create --replicas 1 192.168.1.140:6379 192.168.1.140:6380 192.168.1.140:6381 192.168.1.140:6389 192.168.1.140:6390 192.168.1.140:6391 192.168.1.132:7379 192.168.1.132:7380 192.168.1.132:7381 192.168.1.132:7389 192.168.1.132:7390 192.168.1.132:7391

依照提示输入:yes,等待完成即可

注意点:

1.集群设置密码:

1).修改redis.conf配置文件 每个节点密码必须一致
  masterauth 'passw0rd!'
  requirepass 'passw0rd!'
2).修改client.rb添加密码 :password => 'passw0rd!',
  cd /usr/lib/ruby/gems/1.8/gems/redis-3.0.0/lib/redis
  vi client.rb
  如下:
  [root@root redis]# vi client.rb

  require "redis/errors"

  class Redis
  class Client

  DEFAULTS = {
  :scheme => "redis",
  :host => "127.0.0.1",
  :port => 6379,
  :path => nil,
  :timeout => 5.0,
  :password => 'passw0rd!',
  :db => 0,
  }

  def scheme

2.关联集群报错:

1)关于启动redis集群时出现如下问题:

  [ERR] Node 172.168.63.202:7001 is not empty. Either the nodealready knows other nodes (check with CLUSTER NODES) or contains some 的问题:

  解决办法:

  1)).将每个节点下aof、rdb、nodes.conf本地备份文件删除;

2)关于启动redis集群时出现如下问题:

  接下来 提示 Waiting for the cluster to join.......... 安装的时候在这里就一直等等等,没反应,傻傻等半天,看这句提示上面一句,Sending Cluster Meet Message to join the Cluster.

  解决方案:

       1:关闭所有redis示例

  2:打开所有节点的redis.conf  配置bind属性 值是服务器的外网IP
  只配置一个,重点》》》》
  如:bind 192.168.46.133

  3:进入各个节点的redis的rdb文件保存位置

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

       4:启动redis

6:用redis-trib.rb创建集群查看是否成功。

以上是我自己搭建redis-cluster集群的全过程,如有不同见解与更好的解决方案,麻烦留言。

猜你喜欢

转载自www.cnblogs.com/record-a-good-life/p/11791877.html