linux安装Redis并搭建集群

一、集群介绍

本次搭建Redis集群使用了IP尾数为100、101的两台服务器,然后按照Redis集群推荐的最低要求启动6个Redis服务实现三主三从的集群架构,安装完成后将会在100机器开启9000、9001、9002三个redis服务,在101机器开启7000、7001、7002三个redis服务,本来想每台机器都开启7000、7001、7002端口,不过发现100机器这几个端口被占用了,所以就换了,不过这个不影响,下面说说redis集群安装步骤:

  • 安装redis:不管是安装redis的单机、哨兵还是集群第一步都是安装redis,我这边选择源码编译安装模式
    • 下载源码压缩包
    • 解压并编译源码
    • 启动测试
  • 配置redis集群:两台机器配置拥有三主三从共6个服务的redis集群
    • 新建集群配置文件redis.conf:这个文件将填写一些集群必要的配置;
    • 配置防火墙白名单:将redis集群需要用到的端口加入到ip白名单访问;
    • 启动所有redis服务:这里将创建redis用户,并使用redis用户启动redis;
    • 集群创建:所有redis启动成功后,只需要在任何一个redis执行创建redis集群即可完成集群搭建;
    • 集群验证:从任意一个redis服务登录redis集群中,并通过存储内容验证集群;
    • 集群状态查看:这里可以查看到6台redis的主从分布情况;
    • 集群安装为服务:redis集群创建一次后,每次redis启动会自动加入到集群中,所以启动所有redis服务即代表启动集群。

二、安装Redis

2.1、下载源码压缩包

下载源码文件可以在linux命令行中输入下面命令,也可以在自己电脑上下载好源码文件,并通过ftp工具上传到服务中。

wget https://download.redis.io/redis-stable.tar.gz

2.2、解压并编译源码

编译源码,首先需要解压源码文件,然后进入源码根目录,然后执行make命令:

tar -xzvf redis-stable.tar.gz
cd redis-stable
make

如果编译成功,你会发现目录下会生成src目录,并且在src目录下包含以下两个二进制文件:

  • redis-server: 服务器文件
  • redis-cli: 是与redis实现通讯的命令接口程序

安装二进制文件到**/usr/local/bin**目录下,执行:

make install

2.3、启动测试

测试需要新增启动用户,然后给启动用户授权目录权限,然后就是启动redis服务端,没报错就算启动成功

adduser redis
chown -R redis ./redis-stable
su -c 'redis-server' redis

三、Redis集群安装

3.1、新建集群配置文件redis.conf

  • 为了方便管理,这里我在/usr/local目录下创建一个集群文件夹,然后在文件夹里面创建端口名称的文件夹,命令如下:
cd /usr/local
mkdir redis-cluster
cd redis-cluster
# 100机器
mkdir 9000 9001 9002
# 101机器
# mkdir 7000 7001 7002
  • 在9000文件夹下新建一个集群配置文件redis.conf,配置文件内容如下**【其余5个文件夹下重复此步骤,只需修改bind和port内容】**:
# 绑定IP
bind 192.168.0.100 -::1
port 9000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

masterauth chKwn#GNozw&
requirepass chKwn#GNozw&

3.2、配置防火墙白名单

redis集群中有两个必要重要的通讯端口,分别是配置文件中的port和port+10000端口,本次搭建集群使用了两台服务,所以搭建集群时必须保证redis集群使用到的端口可以互相访问,保证两台机器互相访问可以是关闭防火墙,也可以是设置白名单,这里选择设置白名单,具体配置过程如下:

  • 100机器执行以下命令配置IP白名单:
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.101" port protocol="tcp" port="9000" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.101" port protocol="tcp" port="19000" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.101" port protocol="tcp" port="9001" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.101" port protocol="tcp" port="19001" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.101" port protocol="tcp" port="9002" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.101" port protocol="tcp" port="19002" accept"
firewall-cmd --reload
  • 101机器执行以下命令配置IP白名单:
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.100" port protocol="tcp" port="7000" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.100" port protocol="tcp" port="17000" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.100" port protocol="tcp" port="7001" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.100" port protocol="tcp" port="17001" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.100" port protocol="tcp" port="7002" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.100" port protocol="tcp" port="17002" accept"
firewall-cmd --reload

3.3、启动所有redis服务

  • 创建启动命令集文件,执行命令vi /usr/local/redis-cluster/redis-cluster-start.sh,并填写如下内容:
cd /usr/local/redis-cluster/9000
redis-server redis.conf &

cd /usr/local/redis-cluster/9001
redis-server redis.conf &

cd /usr/local/redis-cluster/9002
redis-server redis.conf &

以上是100的配置,101机器只需要修改响应的端口路径即可。

  • 启动redis服务
sh /usr/local/redis-cluster/redis-cluster-start.sh

3.4、集群创建

集群创建只需要在其中一台服务器执行即可,具体创建命令如下:

redis-cli --cluster create 192.168.0.100:9000 192.168.0.100:9001 192.168.0.100:9002 \
192.168.0.101:7000 192.168.0.101:7001 192.168.0.101:7002 \
--cluster-replicas 1 -a 'chKwn#GNozw&'
  • –cluster-replicas 1:这里的1代表为每个master节点分配1个从节点;
  • -a ‘chKwn#GNozw&’:这里配置的是密码,密码最好用单引号括住,否则密码包含特殊字符时会出现密码错误的异常,我这里就包含了&,如果不用单引号括住,linux会以为&不是密码的一部分而是代表后台运行,最终导致密码有误的提示,如没有redis没有配置密码则创建集群时不需要该命令;

3.5、集群验证

其实集群创建命令没有异常即代表成功,不过我们也可以通过登录和存储值来验证

redis-cli -c -h 192.168.0.100 -p 9000

登录集群只需要选择其中一个服务,然后加上 -c 代表集群模式登录即可,登录成功之后可以多设置一些内容,设置过程中会发现值会自动保存到不同的redis服务中。

3.6、集群状态查看

redis-cli -c -h 192.168.0.100 -p 9000 -a 'chKwn#GNozw&' cluster nodes

3.7、集群安装为服务

  • 创建Redis集群服务,执行命令vi /usr/lib/systemd/system/redis-cluster.service,并填写如下脚本:
[Unit]
Description=Redis
After=network.target
[Service]
Type=forking
ExecStart=sh /usr/local/redis-cluster/redis-cluster-start.sh
PrivateTmp=true
User=redis
[Install]
WantedBy=default.target

/usr/local/redis-cluster/redis-cluster-start.sh是启动redis集的脚本,在启动服务阶段已创建。

  • 服务启停命令
systemctl start redis-cluster.service
systemctl stop redis-cluster.service
systemctl enable redis-cluster.service

到此redis集群就算完成了,收工。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值