Redis集群搭建时的问题记录

背景:因工作中需要对redis集群进行升级,从版本4.0.14到6.2.7,为减少在工作中遇到的问题,故提前在本机上自测一下:

目录

一、自测

二、工作机搭建


一、自测

1.linux下安装redis(4.0.14)集群,参考的视频为:链接,感谢“鱼头一味”大佬。

问题记录:

1.运行如下启动集群的脚本时出现:

#!/bin/sh
cd /
cd cluster-test/redis-4.0.14/src
sudo ./redis-trib.rb create --replicas 1 127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005

“/usr/bin/env: ruby: 没有那个文件或目录”,

经查询发现需要安装ruby,执行“yum install ruby”,

而后再次执行集群启动脚本时出现

“/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError)
        from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
        from ./redis-trib.rb:25:in `<main>'

网上大佬说是ruby 的版本低,而后更新了一下,参照链接1,但是执行到最后一步“gem install redis”时还是会卡住,后面执行成功后,再次执行./cluster-start.sh时再次出现“/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError)
        from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
        from ./redis-trib.rb:25:in `<main>'
”很神奇。。

执行“echo "ruby_url=https://cache.ruby-china.com/pub/ruby" > /usr/local/rvm/user/db

问题暂未解决,脑阔疼,后面再看看!!!

已经开始在工作机器上部署集群了,暂时没有遇到大的问题,只是Linux的相关命令不太熟悉!!

二、工作机搭建

搭建步骤:

1.创建用户和用户组

groupadd redis
useradd -g redis redis
//设置密码
passwd redis
//输入两次密码后即可

将用户加入到sudoers

vim /etc/sudoers,而后加入下面一行,可以加在root行下面

redis      ALL=(ALL)    ALL

2.创建文件夹

cd /app/

mkdir redis

cd redis

mkdir data conf 

3.配置redis用户的环境变量

su - redis
vim ~/.bash_profile

#添加如下内容
export REDIS_HOME=/app/redis
export PATH=$REDIS_HOME/redis/src:$PATH
export LANG=en_US.UTF-8

4.下载安装redis

#安装部分依赖
yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl zlib-devel
#下载
wget http://download.redis.io/releases/redis-6.2.7.tar.gz
#将文件放到/app/redis下面
#解压
tar -zxvf redis-6.2.7.tar.gz
cd redis-6.2.7/
#使用root用户进行编译和安装
make
make install
#安装完成后在/usr/local/bin/下生成几个可执行的文件
chown -R redis:redis bin/
#而后切换到/app/redis/
chown -R redis:redis redis
cd /app/redis/
mkdir conf
ln -s redis-6.2.7 redis
#在conf下创建两个文件夹
mkdir port1 port2
#在port1和port2下放置redis.conf
#配置文件需要调整的参数如下:
bind 22.21.23.111 #本机ip
port 7000 # 实际对外端口
pidfile /var/run/redis_7000.pid  #pid文件
logfile "/app/logs/reids_7000.log"  #日志文件目录
dbfilename 7000_dump.rdb  #rdb文件名称
maxmemory 8gb  #最大允许内存
maxmemory-policy volatile-lru   #内容淘汰策略
cluster-enabled yes  #开启集群模式
cluster-config-file redis_7000_nodes.conf  #集群配置文件名称
appendfilename "7000_appendonly.aof"   #AOF文件名称
reuqirepass 1234  #密码
Masterauth  1234  #主节点密码


5.部署redis集群

集群时3主3从的,共6个节点,也就是6个端口

#启动3个主实例
su - redis
#主节点文件夹分别为7000 7002 7004
redis-server /app/redis/conf/7000/redis.conf
#启动3个从实例
su - redis
#主节点文件夹分别为7001 7003 7005
redis-server /app/redis/conf/7001/redis.conf

#集群部署
#1.创建主节点
#redis5、6创建主节点的方式
#redis-cli --cluster create <节点地址1:端口> <节点地址2:端口> <节点地址3:端口> -a 口令
#下面命令只需要在一台机器上执行,比如在22.21.23.111上
cd /app/redis/redis-6.2.7/src
./redis-cli --cluster create 22.21.23.111:7000 22.21.23.112:7002 22.21.23.113:7004 -a 1234,而后输入yes,后生成3个唯一的master id,即主节点id:xxxxxxxx yyyyyyyyy  zzzzzzzz

#2.添加从节点
#redis-cli --cluster add-node --cluster-slave --cluster-master-id <主节点id> <添加的新节点:新节点端口号> <集群ip:端口号> -a 口令
#<集群ip:端口号>采用第一个主节点即可
(1) ./redis-cli --cluster add-node --cluster-slave --cluster-master-id xxxxxxxx  22.21.23.111:7001 22.21.23.111:7000 -a 1234
(2)  ./redis-cli --cluster add-node --cluster-slave --cluster-master-id xxxxxxxx  22.21.23.112:7003 22.21.23.111:7000 -a 1234
(3)  ./redis-cli --cluster add-node --cluster-slave --cluster-master-id xxxxxxxx  22.21.23.113:7005 22.21.23.111:7000 -a 1234

5.1登录节点与验证

#登录redis
cd /app/redis/redis-6.2.7/src
./redis-cli -c -h 22.21.23.111 -p 7000 -a 1234
cluster nodes
#而后可以get set值来测试

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值