Linux-Redis集群搭建

redis集群搭建

1. 环境

CentOS: CentOS release 6.5 (Final)
Redis:  redis-4.0.14

2. 服务器规划

|IP|服务器配置|主从配置|备注|

3. redis安装

(1) 检查依赖环境(Redis是C语言开发,编译依赖gcc环境)

查看gcc是否按照
[root@i-tmzabnvr /]# gcc -v

安装gcc
[root@i-tmzabnvr /]# sudo yum install -y gcc

(2) 将安装redis-4.0.14.tar.gz包复制到/usr/local/nlp目录,并解压。

下载
[root@i-tmzabnvr redis]# wget http://download.redis.io/releases/redis-4.0.14.tar.gz
解压
[root@i-tmzabnvr redis]# tar -zxvf redis-4.0.14.tar.gz

(3) 编译文件

编译
[root@i-tmzabnvr redis-4.0.14]# make
出现Hint: It's a good idea to run 'make test' ;)则编译成功。

(4) 安装

安装
[root@i-tmzabnvr redis-4.0.14]# make PREFIX=/data/software/redis/redis-main install
创建命令软链接
[root@i-tmzabnvr redis-4.0.14]# ln -sv /data/software/redis/redis-main/bin/redis-* /usr/sbin/

4. 集群配置

Redis 最小集群规划,需要包含至少三个主节点,此处测试部署具有三个主服务器和三个从服务器的六节点群集。计划是在一台机器上模拟一个集群,节点端口8100,8101,8102,8103,8104,8105

(1) 创建节点目录

创建一个新目录以及redis实例已端口号命名的以下目录:
[root@i-tmzabnvr redis-cluster]# mkdir /data/software/redis/redis-cluster/nodes-8100
[root@i-tmzabnvr redis-cluster]# mkdir /data/software/redis/redis-cluster/nodes-8101
[root@i-tmzabnvr redis-cluster]# mkdir /data/software/redis/redis-cluster/nodes-8102
[root@i-tmzabnvr redis-cluster]# mkdir /data/software/redis/redis-cluster/nodes-8103
[root@i-tmzabnvr redis-cluster]# mkdir /data/software/redis/redis-cluster/nodes-8104
[root@i-tmzabnvr redis-cluster]# mkdir /data/software/redis/redis-cluster/nodes-8105

(2) 创建配置文件

在每个节点目录中创建一个文件redis.conf。
[root@i-tmzabnvr redis-cluster]# cp redis.conf redis-cluster/nodes-8100
[root@i-tmzabnvr redis-cluster]# cp redis.conf redis-cluster/nodes-8101
[root@i-tmzabnvr redis-cluster]# cp redis.conf redis-cluster/nodes-8102
[root@i-tmzabnvr redis-cluster]# cp redis.conf redis-cluster/nodes-8103
[root@i-tmzabnvr redis-cluster]# cp redis.conf redis-cluster/nodes-8104
[root@i-tmzabnvr redis-cluster]# cp redis.conf redis-cluster/nodes-8105

*(3) 进入节点修改配置文件 *

详细配置见附件redis-8100.conf
[root@i-tmzabnvr redis-cluster]# vi nodes-8100/redis-8100.conf
[root@i-tmzabnvr redis-cluster]# vi nodes-8100/redis-8101.conf
[root@i-tmzabnvr redis-cluster]# vi nodes-8100/redis-8102.conf
[root@i-tmzabnvr redis-cluster]# vi nodes-8100/redis-8103.conf
[root@i-tmzabnvr redis-cluster]# vi nodes-8100/redis-8104.conf
[root@i-tmzabnvr redis-cluster]# vi nodes-8100/redis-8105.conf

(4) 配置redis开机自动启动

详细配置见附件redis-8100.txt
[root@i-tmzabnvr /]# vi /etc/init.d/redis-8100
[root@i-tmzabnvr /]# vi /etc/init.d/redis-8101
[root@i-tmzabnvr /]# vi /etc/init.d/redis-8102
[root@i-tmzabnvr /]# vi /etc/init.d/redis-8103
[root@i-tmzabnvr /]# vi /etc/init.d/redis-8104
[root@i-tmzabnvr /]# vi /etc/init.d/redis-8105

配置可执行权限
[root@i-tmzabnvr /]# chmod 764 /etc/init.d/redis-8100
[root@i-tmzabnvr /]# chmod 764 /etc/init.d/redis-8101
[root@i-tmzabnvr /]# chmod 764 /etc/init.d/redis-8102
[root@i-tmzabnvr /]# chmod 764 /etc/init.d/redis-8103
[root@i-tmzabnvr /]# chmod 764 /etc/init.d/redis-8104
[root@i-tmzabnvr /]# chmod 764 /etc/init.d/redis-8105

注册系统服务
[root@i-tmzabnvr /]# chkconfig –add redis-8100
[root@i-tmzabnvr /]# chkconfig –add redis-8101
[root@i-tmzabnvr /]# chkconfig –add redis-8102
[root@i-tmzabnvr /]# chkconfig –add redis-8103
[root@i-tmzabnvr /]# chkconfig –add redis-8104
[root@i-tmzabnvr /]# chkconfig –add redis-8105

(5) 启动redis-cluster

启动集群
[root@i-tmzabnvr redis-cluster]# service redis-8100 start && service redis-8101 start && service redis-8102 start && service redis-8103 start && service redis-8104 start && service redis-8105 start

停止集群
[root@i-tmzabnvr redis-cluster]# service redis-8100 stop && service redis-8101 stop && service redis-8102 stop && service redis-8103 stop && service redis-8104 stop && service redis-8105 stop

5. 创建集群

  1. 修改redis-trib.rb
    原来:@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60)
    修改:@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60, :password => “Oracle123”)
  1. 创建集群
    ./redis-trib.rb create –replicas 1 223.202.199.63:8100 223.202.199.63:8101 223.202.199.63:8102 223.202.199.63:8103 223.202.199.63:8104 223.202.199.63:8105

  1. 使某个节点崩溃
    [root@i-tmzabnvr redis-cluster]# ./redis-trib.rb check 223.202.199.63:8100
  1. 查看集群状态
    ./redis-trib.rb check 10.168.14.46:8100
  1. 添加新节点为主服
    ./redis-trib.rb add-node 10.168.14.49:8400 10.168.14.49:8401

6. 常用命令

# 1. 登录redis客户端
redis-cli -h host -p port -a password -c

# 2. 查看redis的master节点
./redis-cli -h 10.168.14.46 -p 8100  cluster nodes | grep master

# 3. 使某个节点崩溃
./redis-cli -h 10.168.14.48 -p 8300  debug segfault

# 4. 查看集群状态
./redis-trib.rb check 10.168.14.46:8100

# 5. 添加新节点为主服
./redis-trib.rb add-node 10.168.14.49:8400 10.168.14.49:8401

7. 安装报错解决

7.2. 创建集群报错

集群数据不为空,Node 10.168.14.46:8100 is not empty

[uaren@yrz-redis01 redis-4.0.14]$ ./src/redis-trib.rb create --replicas 1 10.168.14.46:8100 10.168.14.46:8101 10.168.14.47:8200 10.168.14.47:8201 10.168.14.48:8300 10.168.14.48:8301

[ERR] Node 10.168.14.46:8100 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

清空数据,在将每个节点下aof、rdb、nodes.conf本地备份文件删除 ,重新创建即可成功

[uaren@yrz-redis01 src]# redis-cli -h 10.168.14.46 -p 8100
10.168.14.46:8100> flushdb
OK

8. 安装 RVM

8.1 下载安装命令
    curl -L https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
8.2 生效命令
    source /etc/profile.d/rvm.sh && source ~/.rvm/scripts/rvm
8.3 查看版本
    rvm -v

9. 安装 gem

9.1 rubygems官网下载源码
    wget https://rubygems.org/rubygems/rubygems-2.6.12.zip
9.2 解压文件
    unzip unzip rubygems-2.6.12.zip
9.3 安装文件
    cd rubygems-2.6.12
    sudo ruby setup.rb
9.4 查看版本
    gem -v

10. 安装 ruby

10.1 官网下载源码
    wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.7.tar.gz
10.2 解压文件
    tar zxvf ruby-2.5.7.tar.gz
10.3 安装文件
    ./configure && make && make install
10.4 查看版本
    ruby -v

11. 安装 redis-gem

11.1 官网下载源码
    wget https://rubygems.org/downloads/redis-4.1.2.gem
11.2 安装文件
    gem install -l ./redis-4.1.2.gem
11.3 查看版本
    ruby -v
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值