8

CentOS7 超速武装 Redis Cluster 集群

 3 years ago
source link: https://www.skypyb.com/2021/01/jishu/1722/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

CentOS7 超速武装 Redis Cluster 集群

因为最近有在 CentOS7 上实战部署了一个 Redis 6节点的主从集群 (三主三从)
所以整理了一份超速部署文档, 任谁看了都可以简单+快速的搞起一个Redis Cluster模式的集群。
话不多说下边直接安排

  • CentOS 7
  • Redis 5

首先是 Redis5 安装

安装依赖包

yum -y install gcc automake autoconf libtool make
yum -y install gcc automake autoconf libtool make

下载redis安装包

cd /usr/local
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
cd /usr/local
wget http://download.redis.io/releases/redis-5.0.7.tar.gz

解压、编译与安装

tar xzf redis-5.0.7.tar.gz
cd redis-5.0.7
make MALLOC=libc
make install
tar xzf redis-5.0.7.tar.gz
cd redis-5.0.7
make MALLOC=libc
make install

到这里Redis是已经安装完毕了,  下面开始进行集群构建

Redis Cluster 集群搭建

这里在 /usr/local/redis-5.0.7 目录下创建各个redis节点目录
因为是在一台机器上边操作演示,  所以6个节点都跑在这一台上, 只是监听的端口不同。  实际上多台机器部署也是一模一样的形式, 只需要换下IP、监听端口、配置文件地址而已。

先使用命令 mkdir cluster 创建这些节点的根目录
在进去依次创建6个节点目录

cd cluster && mkdir 7001 7002 7003 7004 7005 7006
cd cluster && mkdir 7001 7002 7003 7004 7005 7006

并将redis.conf文件复制到7001节点目录下,然后需要修改

cp /usr/local/redis-5.0.7/redis.conf ./7001/
cp /usr/local/redis-5.0.7/redis.conf ./7001/

这是 redis.conf 修改逻辑:
1、daemonize yes(是否要用守护线程的方式启动)
2、port 7001(分别对每个机器的端口号进行设置)
3、dir /usr/local/redis-5.0.7/cluster/7001/(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)
4、cluster-enabled yes(启动集群模式)
5、cluster-config-file nodes-7001.conf(集群节点信息文件,这里700x最好和port对应上,redis会自动创建nodes-XX.conf不需要手动创建)
6、cluster-node-timeout 5000
7、bind 127.0.0.1(注释掉bind绑定访问IP信息)
8、 protected-mode no (关闭保护模式)
9、appendonly yes
如果要设置密码需要增加如下配置:
10、requirepass xxx (设置redis访问密码)
11、masterauth xxx (设置集群节点间访问密码,跟上面一致)

将原来默认的redis.conf 按照上边的逻辑修改就行了。

修改后将7001/redis.conf复制到其他目录,并用命令直接替换文件里的端口号。

cd /usr/local/redis-5.0.7/cluster
cp 7001/redis.conf 7002
cp 7001/redis.conf 7003
cp 7001/redis.conf 7004
cp 7001/redis.conf 7005
cp 7001/redis.conf 7006
sed -i "s/7001/7002/g" 7002/redis.conf
sed -i "s/7001/7003/g" 7003/redis.conf
sed -i "s/7001/7004/g" 7004/redis.conf
sed -i "s/7001/7005/g" 7005/redis.conf
sed -i "s/7001/7006/g" 7006/redis.conf
cd /usr/local/redis-5.0.7/cluster
cp 7001/redis.conf 7002
cp 7001/redis.conf 7003
cp 7001/redis.conf 7004
cp 7001/redis.conf 7005
cp 7001/redis.conf 7006
sed -i "s/7001/7002/g" 7002/redis.conf
sed -i "s/7001/7003/g" 7003/redis.conf
sed -i "s/7001/7004/g" 7004/redis.conf
sed -i "s/7001/7005/g" 7005/redis.conf
sed -i "s/7001/7006/g" 7006/redis.conf

如果是多台机子的话其实就不需要搞这种操作。 不同的机子用相同的配置文件就行, 可以监听相同的端口。

启动 Redis Cluster 集群

#启动各自的节点
redis-server /usr/local/redis-5.0.7/cluster/7001/redis.conf
redis-server /usr/local/redis-5.0.7/cluster/7002/redis.conf
redis-server /usr/local/redis-5.0.7/cluster/7003/redis.conf
redis-server /usr/local/redis-5.0.7/cluster/7004/redis.conf
redis-server /usr/local/redis-5.0.7/cluster/7005/redis.conf
redis-server /usr/local/redis-5.0.7/cluster/7006/redis.conf
#创建集群, 注意IP要改为本机的真实IP
redis-cli --cluster create --cluster-replicas 1 192.168.75.103:7001 192.168.75.103:7002 192.168.75.103:7003 192.168.75.103:7004 192.168.75.103:7005 192.168.75.103:7006
redis-cli --cluster check 192.168.8.221:7001 --cluster-search-multiple-owners
#启动各自的节点
redis-server /usr/local/redis-5.0.7/cluster/7001/redis.conf
redis-server /usr/local/redis-5.0.7/cluster/7002/redis.conf
redis-server /usr/local/redis-5.0.7/cluster/7003/redis.conf
redis-server /usr/local/redis-5.0.7/cluster/7004/redis.conf
redis-server /usr/local/redis-5.0.7/cluster/7005/redis.conf
redis-server /usr/local/redis-5.0.7/cluster/7006/redis.conf
#创建集群, 注意IP要改为本机的真实IP
redis-cli --cluster create --cluster-replicas 1 192.168.75.103:7001 192.168.75.103:7002 192.168.75.103:7003 192.168.75.103:7004 192.168.75.103:7005 192.168.75.103:7006
#验证
redis-cli --cluster check 192.168.8.221:7001 --cluster-search-multiple-owners

这个应该很容易看懂, 启动各节点后, 直接用集群创建命令来指定各个节点的ip和端口号就可以创建了。

如果你不想搞主从, 就是说只做单纯的扩容的话。也是可以做到的。
Redis Cluster最小配置需要3个master节点,无slave节点,此时不支持高可用特性。
参考上面的步骤,则只需要配置和启动三个节点,在创建集群的时候将设置复制数目为0,如:–cluster-replicas 0,完整例子:

redis-cli --cluster create --cluster-replicas 0 192.168.8.221:7001 192.168.8.221:7002 192.168.8.221:7003
redis-cli --cluster create --cluster-replicas 0 192.168.8.221:7001 192.168.8.221:7002 192.168.8.221:7003



About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK