資安

Redis學習之CentOS7.4下部署Redis 6.0.5集群

集群版本和環境

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

SELINUX=disabled

安裝依賴包

安裝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節點

1.創建Redis目錄並解壓
mkdir /redis
tar xzf redis-6.0.5.tar.gz
2.安裝Redis
cd /redis/redis-6.0.5
make install
3.創建節點目錄
cd /redis/redis-6.0.5
mkdir cluster
cd cluster
mkdir 7000 7001
4.修改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

5.啟動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 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集群

redis-cli -c -h 192.168.239.143 -p 7000
192.168.239.143:7000> set foo bar
-> Redirected to slot [12182] located at 192.168.239.147:7000
OK
192.168.239.147:7000> set hello world
-> Redirected to slot [866] located at 192.168.211.143:7000
OK
192.168.211.143:7000> get foo
-> Redirected to slot [12182] located at 192.168.239.147:7000
"bar"
192.168.239.147:7000> get hello
-> Redirected to slot [866] located at 192.168.211.143:7000
"world"
從結果可以看出來,創建的鍵被分配到了不同節點的slots中,說明了集群運行正常。

Leave a Reply

Your email address will not be published. Required fields are marked *