Redis叢集搭建(三主三從)

夢夕林1992發表於2023-01-28

叢集版本和環境

Redis 叢集要求至少3 個主節點3 個從節點,共計6 個節點,規劃如下

作業系統

CentOS 7.4

Redis 版本

6.0.5

主節點

192.168.239.143 7000

192.168.239.147 7000

192.168.239.149 7000

從節點

192.168.239.143 7001

192.168.239.147 7001

192.168.239.149 7001

 

修改系統配置

關閉NetworkManager

[root@localhost ~]# systemctl disable NetworkManager      -- 關閉自啟動

[root@localhost ~]# systemctl stop NetworkManager

[root@localhost ~]# systemctl status NetworkManager

 

關閉防火牆

systemctl stop firewalld.service

systemctl disable firewalld.service     -- 關閉自啟動

firewall-cmd --state

 

vi /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#       enforcing - SELinux security policy is enforced.

#       permissive - SELinux prints warnings instead of enforcing.

#       disabled - SELinux is fully disabled.

SELINUX= disabled

# SELINUXTYPE= type of policy in use. Possible values are:

#       targeted - Only targeted network daemons are protected.

#       strict - Full SELinux protection.

SELINUXTYPE=targeted

 

安裝依賴包

安裝gcc 套裝

yum install -y cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make 

 

升級gcc

yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash

 

設定永久升級

echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

 

建立Redis 節點

建立Redis 目錄並解壓

mkdir /redis

tar xzf redis-6.0.5.tar.gz

 

安裝Redis

cd /redis/redis-6.0.5

make install

 

建立節點目錄

cd /redis/redis-6.0.5

mkdir cluster

cd cluster

mkdir 7000 7001

 

修改Redis 配置檔案

192.168.239.143 為例,其他節點步驟相同

將配置檔案複製到建立好的埠資料夾下

cp /redis/redis-6.0.5/redis.config /redis/redis-6.0.5/cluster/7000

cp /redis/redis-6.0.5/redis.config /redis/redis-6.0.5/cluster/7001

 

每個節點的主從節點都需要配置檔案

主:

port 7000

bind 192.168.239.143

cluster-enabled yes

cluster-config-file nodes_7000.conf 

cluster-node-timeout 5000

appendonly yes

daemonize yes

logfile "/redis/redis-6.0.5/cluster/redis_7000.log"

pidfile /var/run/redis_7000.pid

 

從:

port 7001

bind 192.168.239.143

cluster-enabled yes

cluster-config-file nodes_7001.conf 

cluster-node-timeout 5000

appendonly yes

daemonize yes

logfile "/redis/redis-6.0.5/cluster/redis_7001.log"

pidfile /var/run/redis_7001.pid

    

啟動Redis 節點服務

redis-server /redis/redis-6.0.5/cluster/7000/redis.conf 

redis-server /redis/redis-6.0.5/cluster/7001/redis.conf 


建立Redis 叢集

建立Redis 叢集  

目前為止,我們已經建立了Redis 節點並且啟動服務,接下來就要建立Redis 叢集了。在Redis 6 中,使用redis-cli 命令來建立,其中--cluster-replicas 1 的意思是每個主節點需要1 個從節點。

 

例如:

redis-cli --cluster create 192.168.239.143:7000 192.168.239.147:7000 \

192.168.239.149:7000 192.168.239.143:7001 192.168.239.147:7001 \

192.168.239.149:7001 --cluster-replicas 1

    

我們最初的目標是建立3 個主節點加3 個從節點的叢集,顯然這條命令並沒有指定哪些主哪些是從,其實在執行後,Redis 會建議主從節點的分配,M 表示主(Master )節點,S 表示從(Slave )節點,你只要選擇yes 即可。

    

到此為止,Redis 叢集就建立完畢了,在每個節點的日誌中可能看到改節點在叢集中的唯一標識。

 

修改叢集密碼

需要注意的是各個節點的密碼都必須一致

masterauth 作用:主要是針對master 對應的slave 節點設定的,在slave 節點資料同步的時候用到。

requirepass 作用:對登入許可權做限制,redis 每個節點的requirepass 可以是獨立、不同的。

 

192.168.239.143 為例,所有節點都要執行

redis-cli -h 192.168.239.143 -p 7000

192.168.239.143:7000> config set requirepass redis123

192.168.239.143:7000> config set masterauth redis123

 

redis-cli -h 192.168.239.143 -p 7001

192.168.239.143:7001> config set requirepass redis123

192.168.239.143:7001> config set masterauth redis123

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29956245/viewspace-2933101/,如需轉載,請註明出處,否則將追究法律責任。

相關文章