Redis集群离线安装

近日,由于客户的系统运行环境在一个封闭的网络内,不能与互联网联通,也不能提供yum库,所以运行环境只能采用离线安装的方式,我总结了一下本次的安装经过,希望对需要的人有所帮助。

一、安装gcc

查看gcc版本要求版本在5以上,如果版本超过5就不用安装了。

命令: gcc -v

解压gcc压缩包

命令:tar -zxvf gcc.tar.gz

切换到gcc解压目录,并安装gcc所有rpm包

命令:cd gcc

命令:rpm -ivh * --nodeps --force

切换gcc版本

暂时切换,没有采用这个方式

命令:scl enable devtoolset-9 bash

永久切换

##下面的命令最好手敲,复制粘贴有可能不能成功执行

命令: echo "source /opt/rh/devtoolset-9/enable">>/etc/bashrc

查看配置:cat /etc/bashrc

命令: source /etc/bashrc

切换后可以用 gcc -v命令来查看版本

二、安装Redis

3主3从结构,3台服务器,每个服务器配置两个服务节点。

1、下载

http://download.redis.io/releases/redis-6.2.1.tar.gz

将 redis-6.2.1.tar.gz 移动到 /opt

2、解压

cd /opt

tar -xzvf redis-6.2.1.tar.gz

3、编译

cd /opt/redis-6.2.1

make MALLOC=libc

4、安装

make PREFIX=/opt/redis/ install

生成bin

5、每台机器创建两个节点

cd /opt/redis/

mkdir redis-cluster

cd redis-cluster

mkdir redis01

mkdir redis02

6、复制redis.conf到节点上

cp /opt/redis/redis-6.2.1/redis.conf /opt/redis/redis-cluster/redis01/

cp /opt/redis/redis-6.2.1/redis.conf /opt/redis/redis-cluster/redis02/

逐项修改文件 redis.conf 中的参数,每个几点都要修改:

# 指定只能以192.168.0.231这个IP访问,注释掉bind,否则其他机器不能访问
#bind 192.168.0.231
# 指定端口
port 7001
# 关闭保护模式
protected-mode no
# 启动后台运行
daemonize yes
# 存放进程Id
pidfile /opt/redis/redis-cluster/redis01/7001.pid
# 日志文件
logfile "/dev/null"
# 3600秒内有一个key变化就执行快照持久化
save 3600 1
# 快照存放文件
dbfilename 7001.rdb
# 是否启动保存操作日志
appendonly yes
# 操作日志存放文件
appendfilename "7001.aof"
# 是否开启集群
cluster-enabled yes
# 集群配置文件(启动后自动生成)
cluster-config-file nodes-7001.conf
# 集群节点ping、pong超时时间
cluster-node-timeout 5000
#设置密码
requirepass "你的密码"

##实际操作时可以用开发环境的redis.conf文件直接放到 redis01、redis02、redis03、redis04、redis05、redis06。注意,每个配置文件中的实际参数不同,用对应序号的redis节点的配置文件。

7、复制bin到节点上

cd /opt/redis

cp -r /opt/redis/bin/* redis-cluster/redis01

8、创建启动redis节点的脚本文件

(1)跳转至:cd /opt/redis/redis-cluster

(2)编制start-all.sh脚本内容:

echo '打开目录/opt/redis/redis-cluster/redis01'

cd /opt/redis/redis-cluster/redis01

echo '开始启动redis01'

./redis-server redis.conf

echo '打开目录/opt/redis/redis-cluster/redis02'

cd /opt/redis/redis-cluster/redis02

echo '开始启动redis02'

./redis-server redis.conf

(3)添加权限 chmod 755 start-all.sh

注意:shell 文件导致格式异常不能正常执行

解决方法:1、 vim 文件 2、 输入 : set ff=unix 然后回车 3、 保存

(4)启动 ./start-all.sh

9、在另外两台服务器进行相同操作 redis03 redis04 redis05 redis06

10、集群

#分别为三台机器开放防火墙端口,7001,7002,7003,7004,7005,7006

firewall-cmd --zone=public --add-port=7001/tcp --permanent

firewall-cmd --reload

firewall-cmd --list-port

#创建集群

cd /opt/redis/redis-cluster/redis01

无密码: ./redis-cli --cluster create xx.yyy.1.30:7001 xx.yyy.1.30:7002 xx.yyy.1.31:7003 xx.yyy.1.31:7004 xx.yyy.1.32:7005 xx.yyy.1.32:7006 --cluster-replicas 1

有密码: ./redis-cli -a 自定义一个访问密码 --cluster create xx.yyy.1.30:7001 xx.yyy.1.32:7006 xx.yyy.1.31:7003 xx.yyy.1.30:7002 xx.yyy.1.32:7005 xx.yyy.1.31:7004 --cluster-replicas 1



输入 yes 确认。

11、客户端登录

./redis-cli -h xx.yyy.1.30 -c -p 7001 -a 访问密码

加上--raw后,获取到的value是原始输出,而不是16进制输出。

./redis-cli --raw -h xx.yyy.1.30 -c -p 7001 -a 访问密码

12、命令

停止命令:./redis-cli -h xx.yyy.1.30 -c -p 7001 -a 访问密码 shutdown

./redis-cli -h xx.yyy.1.30 -c -p 7002 -a 访问密码 shutdown

./redis-cli -h xx.yyy.1.31 -c -p 7003 -a 访问密码 shutdown

./redis-cli -h xx.yyy.1.31 -c -p 7004 -a 访问密码 shutdown

./redis-cli -h xx.yyy.1.32-c -p 7005 -a 访问密码shutdown

./redis-cli -h xx.yyy.1.32 -c -p 7006 -a 访问密码 shutdown

启动命令: cd /opt/redis/redis-cluster

./start-all.sh

三、集群启动异常

在第10步创建集群时,报 Waiting for the cluster to join.......并一直卡在这里

遇到这种情况大部分是因为集群总线的端口没有开放!

集群总线
每个Redis集群中的节点都需要打开两个TCP连接。一个连接用于正常的给Client提供服务,
比如7001,还有一个额外的端口(通过在这个端口号上加10000)作为数据端口,
例如:redis的端口为7001,那么另外一个需要开通的端口是:7001+10000,
即需要开启17001。17001端口用于集群总线,这是一个用二进制协议的点对点通信信道。
这个集群总线(Clusterbus)用于节点的失败侦测、配置更新、故障转移授权,等等。

此时可以采用关闭本机防火墙的办法,基于安全性考虑,建议用在本机防火墙中开放相应端口。

#开放防火墙端口

firewall-cmd --zone=public --add-port=7001/tcp --permanent

firewall-cmd --zone=public --add-port=17001/tcp --permanent

firewall-cmd --reload

#其他服务节点端口依次执行。

#关闭redis集群中的所有实例,直接kill -9 就行

#于此同时删除掉每个节点文件下的 .aof,.rdb,nodes.conf文件,如果是首次创建集群.rdb文件应该没有,如图中标示





#执行集群创建命令

./redis-cli -a 访问密码 --cluster create xx.yyy.1.30:7001 xx.yyy.1.32:7006 xx.yyy.1.31:7003 xx.yyy.1.30:7002 xx.yyy.1.32:7005 xx.yyy.1.31:7004 --cluster-replicas 1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于 Redis 集群的搭建,可以通过以下步骤实现: 1. 准备集群节点:在准备搭建 Redis 集群之前,需要先准备好一组 Redis 节点。每个节点都是一个独立的 Redis 服务器,可以运行在同一台物理机上或者不同的物理机上。 2. 配置节点:对于每个节点,需要修改其配置文件以启用集群模式。打开每个节点的配置文件(redis.conf),将 cluster-enabled 参数设置为 yes,将 cluster-config-file 参数设置为一个文件路径(用于保存集群的配置信息),并将 cluster-node-timeout 参数设置为一个适当的值(用于检测节点是否离线)。 3. 启动节点:启动每个节点的 Redis 服务器。可以使用 redis-server 命令启动,指定配置文件作为参数。例如:redis-server /path/to/redis.conf 4. 创建集群:使用 redis-cli 命令行工具创建 Redis 集群。首先连接到任意一个节点(假设其 IP 地址为 192.168.0.1,端口号为 6379),然后执行以下命令创建集群: ``` redis-cli --cluster create 192.168.0.1:6379 192.168.0.2:6379 192.168.0.3:6379 192.168.0.4:6379 192.168.0.5:6379 192.168.0.6:6379 --cluster-replicas 1 ``` 这里将 192.168.0.1:6379 等替换为实际的节点 IP 地址和端口号。--cluster-replicas 参数用于设置每个主节点的从节点数量。 5. 验证集群:连接到任意一个节点,可以使用 cluster info 命令查看集群的一些信息,如节点数量、主从关系等。还可以使用 cluster nodes 命令查看每个节点的状态信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weichao9999

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值