centOS搭建Redis集群时遇到的问题

本文介绍了Redis 3.2版本引入的保护模式特性,旨在提高安全性。文章详细解释了如何关闭保护模式、绑定服务器IP及设置密码,并提供了创建集群的具体步骤及注意事项。

1.Redis的保护模式

针对之前Redis版本,默认无bind和密码设置存在很大安全风险;Redis3.2版本提出新特性protected mode(保护模式)。
如果Redis在启动时,未开启bind和密码设置功能,只能通过回环地址本地访问,如果尝试远程访问redis,会提示以下错误:

DENIED Redis is running protected mode because protected mode is enabled,
no bind address was specified, no authentication password is requested to clients.

In this mode connections are only accepted from the loopback interface.

1)关闭保护模式


protected-mode no

2)绑定服务器ip


同时注释掉  bind 127.0.0.1

3)设置口令

集群中得各个节点均要设置且密码相同


打开注释,设置自己的密码

创建集群的命令

./redis-trib.rb create --replicas 1 192.168.150.128:7001 192.168.150.128:7002 192.168.150.128:7003 192.168.150.128:7004 192.168.150.128:7005 192.168.150.128:7006

不要使用127.0.0.1进行创建集群

2.第二次构建集群时注意的问题

1)删除各个节点的node.conf文件

2)登录各个节点的客户端执行 flushall 命令

3)执行集群创建命令

3.Could not get a resource from the pool问题

1)集群节点配置中没有注释掉bind 127.0.0.1

2)创建集群时用了127.0.0.1进行了创建



### 三、搭建 Redis 集群的准备工作 搭建 Redis 集群需要至少 6 个 Redis 节点,其中 3 个为主节点,3 个为从节点,以满足 Redis 集群的投票机制要求。在生产环境中,建议使用至少 3 台物理机,每台机器运行 2 个 Redis 实例,以确保高可用性和数据分布的均衡性。测试环境中,可以在一台物理机上启动 6 个 Redis 实例[^1]。 ### 四、安装 Redis 下载 Redis 安装包,根据需求选择版本,例如 redis-5.0.5 或 redis-6.0.6。将安装包上传到服务器并解压: ```bash tar -zxvf redis-6.0.6.tar.gz ``` 进入 Redis 源码目录并编译安装: ```bash cd redis-6.0.6 make make install ``` ### 五、配置 Redis 节点 为每个 Redis 节点创建配置文件,修改 `redis.conf` 文件,确保启用集群模式,并设置集群配置文件和节点超间: ```conf cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 ``` 此外,还需配置绑定 IP 地址和端口号,确保每个节点使用不同的端口(如 7001、7002 等)[^2]。 ### 六、将 Redis 实例注册为系统服务 为了便于管理和启动,可以将每个 Redis 实例注册为系统服务。创建服务配置文件 `redis-6379.service`,内容如下: ```ini [Unit] Description=Redis After=syslog.target network.target [Service] Type=forking NotifyAccess=all TimeoutStartSec=600 LimitNOFILE=32768 Restart=on-failure RestartSec=10 ExecStart=/usr/local/redis/src/redis-server /data/redis-cluster/redis.conf ExecStop=/usr/local/redis/src/redis-cli -p 6379 -a '密码' shutdown [Install] WantedBy=multi-user.target ``` 使用 `systemctl` 命令启动服务: ```bash systemctl start redis-6379.service ``` ### 七、创建 Redis 集群 在其中一个节点上执行创建集群的命令,指定所有 Redis 节点的 IP 和端口: ```bash /usr/local/redis/src/redis-cli -a 密码 --cluster create --cluster-replicas 1 192.168.43.200:7001 192.168.43.200:7002 192.168.43.201:7001 192.168.43.201:7002 192.168.43.202:7001 192.168.43.202:7002 ``` 执行该命令后,Redis 会自动分配哈希槽并建立主从关系,集群创建完成后,可以使用 `redis-cli` 连接到任意节点进行测试[^5]。 ### 八、验证集群状态 使用 `redis-cli` 连接到任意节点,并执行 `cluster info` 和 `cluster nodes` 命令,确认集群状态正常: ```bash redis-cli -c -p 7001 127.0.0.1:7001> cluster info 127.0.0.1:7001> cluster nodes ``` 如果输出显示所有节点都处于 `connected` 状态,并且哈希槽已正确分配,则表示集群搭建成功[^3]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值