Linux搭建redis4.x和5.x集群

Linux搭建redis4.x和5.x集群

一、安装包准备

所有安装包压缩为一个redis-install的zip压缩包,上传到linux服务器的用户目录下

资源链接: https://pan.baidu.com/s/1ZyC2KSmJOPF0nBBqZEA0jw 密码: wf5d

1. rubygems-3.1.4.tgz
2. ruby-2.6.5.tar.gz
3. redis-4.1.3.gem
4. openssl-1.1.1h.tar.gz
5. redis-4.0.6.tar.gz

二、安装redis

1. 编译redis安装包

  1. tar -zxvf redis-4.0.6.tar.gz // 解压完成后会在当前目录生成一个redis文件夹,进入该文件进行编译
  2. cd redis
  3. make

2. 设置redis工作路径

/home/redis/redis-cluster为当前所有安装包的根路径

mkdir /home/redis/redis-cluster/{data/{redis_7000,redis_7001},conf,log} -p 

3.设置主服务器配置信息(监听7000端口)

vi /home/redis/redis-cluster/conf/redis_7000.conf

内容如下

#修改redis监听端口(可以自定义)
port 7000             
#表示redis允许所有地址连接。默认127.0.0.1,仅允许本地连接。
bind 0.0.0.0    
#允许redis后台运行
daemonize yes   
#pid存放目录          
pidfile /var/run/redis_7000.pid     
#设置Sentinel日志存放路径
logfile "/var/log/redis-sentinel.log"   
#工作目录
dir /home/vlog/redis_install/redis-cluster/data/redis_7000  
#是否开启集群
cluster-enabled yes     
#集群配置文件的名称,每个节点都有一个集群相关的配置文件,持久化保存集群的信息。这个文件并不需要手动配置,这个配置文件有Redis生成并更新,
cluster-config-file /home/vlog/redis_install/redis-cluster/conf/nodes_7000.conf
#节点互连超时的阀值。集群节点超时毫秒数,默认15秒
cluster-node-timeout 15000
#Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件, 
#每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件。
appendonly yes
#设置redis密码 引号注意是英文的
requirepass "redispwd"     
#主从同步master的密码(如果没有设置redis密码,则无需配置)
masterauth "redispwd"

3. 设置从服务器配置信息(监听7001端口)

 vi /home/redis/redis-cluster/conf/redis_7001.conf

内容如下

port 7001
bind 0.0.0.0
daemonize yes
pidfile /var/run/redis-cluster/redis_7001.pid
logfile "/home/vlog/redis_install/redis-cluster/log/redis_7001.log"
dir /home/vlog/redis_install/redis-cluster/data/redis_7001
cluster-enabled yes
cluster-config-file /home/vlog/redis_install/redis-cluster/conf/nodes_7001.conf 
cluster-node-timeout 15000
appendonly yes
requirepass “redispwd”
masterauth “redispwd”  

4. 建立软连接

# root权限执行
ln -s /home/redis/redis_install/redis-4.0.6/src/redis-server /usr/bin/redis-server
ln -s /home/redis/redis_install/redis-4.0.6/src/redis-cli /usr/bin/redis-cli

5. 根据配置文件启动redis节点

# root权限执行
redis-server /home/redis/redis-cluster/conf/redis_7000.conf 
redis-server /home/redis/redis-cluster/conf/redis_7001.conf

6. 验证redis安装启动成功

输入命令netstat -anp | grep redis 查询到redis占用端口相关信息说明启动成功

三、搭建redis集群

1. Redis 5.x版本搭建集群

在redis 5版本中ruby已经集成在redis中直接调用即可,通过以下命令建立三主三从redis集群(首先需要将redis启动在以下这些服务器的端口上)

redis-cli -a redispwd --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1

-a 后面是redis的连接密码 ,–cluster表示集群启动 后面跟了6个redis启动ip地址和端口,前三个为redis主服务器IP地址,后三个为从服务器IP地址。 --cluster-replicas表示一个主服务器对应的从服务器比例

验证redis集群是否搭建成功,连接到redis任一端口,查看集群信息是否正常

redis-cli -a redispwd -h 127.0.0.1 -p 7000 -c  //-a Redis密码,-c表示集群模式 ,指定IP和端口
cluster info 
cluster nodes

2. redis 4.x版本搭建集群

redis 4.X版本搭建集群的步骤较为复杂,需要安装ruby等基础环境

1)安装ruby
cd /home/redis/redis_install
tar -zxvf ruby-2.6.5.tar.gz 
cd ruby-2.6.5
./configure --prefix=/usr/local/ruby 	 # 编译安装
make && make install
./configure && make && make install
mv ruby-2.6.5 ruby 					# 修改文件名 ruby-2.6.5 为ruby
ruby -v     
gem -v  # 确认ruby和gem安装成功
2) 安装openssl
cd /home/redis/redis_install
tar -xzvf openssl-1.1.1h.tar.gz
cd openssl-1.1.1h/
./config
make && make install
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
cd ..
mv openssl-1.1.1h openssl  #修改openssl文件名 
3)ruby安装openssl
cd /home/redis/redis_install/ruby/ext/openssl
ruby extconf.rb  --with-openssl-include=/home/redis/redis_install/openssl/include/ --wi
th-openssl-lib=/home/redis/redis_install/openssl/lib

在该/home/redis/redis_install/ruby/ext/openssl下有一个Makefile文件,需要文件内所有$(top_srcdir)修改为../..

修改方法:vi Makefile,编辑文件,直接键入:%s#$(top_srcdir)#../..#g (不要进入insert编辑模式),然后:wq保存退出

编译安装

make && make install
4) 安装rubygems
cd /home/redis/redis_install
gem install redis-4.1.3.gem
5) 设置集群启动时的密码
vi /usr/local/lib/ruby/gems/2.6.0/gems/redis-4.1.3/lib/redis/client.rb

其中有一行时password,默认值为nil,将其修改为redis的密码redispwd (需加引号)

5) redis创建集群
cd /home/redis/redis_install/redis-4.0.6/src
./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

# 输入yes 确认
6) 验证redis集群是否搭建成功

连接到redis任一端口,查看集群信息是否正常

redis-cli -a redispwd -h 127.0.0.1 -p 7000 -c  //-a Redis密码,-c表示集群模式 ,指定IP和端口
cluster info 
cluster nodes

四、其他redis的操作

1 设置集群密码

find / -name client.rb -print
/usr/local/lib/ruby/gems/2.6.0/gems/redis-4.1.3/lib/redis/client.rb
修改其中password为redispwd
清空appendonly.aof(操作日志备份文件,恢复数据) /redis-cluster/data/redis/
conf文件

2 创建集群后设置密码

redis-cli -c -h 127.0.0.1 -p 7000
config set masterauth  redispwd
config set requirepass redispwd
auth redispwd
config rewrite

3 获取rdb存储路径

config get dir  # redis-cli -c -h 127.0.0.1 -p 7000 redis连接后输入

4)重启redis集群

# 删除对应的进程
ps aux | grep redis
kill 对应redis-server的pid

# 删除redis相关源文件  node_7001.conf, appendonly.aof, dump.rdb等
cd /home/redis/redis-cluster
cd ./conf/
rm node_*.conf
cd ../data/redis_*/
rm appendonly.aof
rm dump.rdb

# 启动redis-server服务
cd ../conf/
redis-server redis_*.conf

# 重新启动集群
cd /home/redis/redis_install/redis-4.0.6/src
./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值