1. 程式人生 > >Centos 7.5安裝部署redis 5.0.0集群

Centos 7.5安裝部署redis 5.0.0集群

per 追加 onf redis3 分享圖片 c-c 防火墻 conf tcp

Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。和Memcached類似,但它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set -有序集合)和hash(哈希類型)。與Memcached相同的是,為了保證訪問效率,數據都是緩存在內存中;與Memcached不同的是,redis會周期性的把更新的數據寫入磁盤或者寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。
Redis的數據可以從master(主)服務器向任意數量的slave(從)服務器上同步,從服務器也可以是關聯其他從服務器的主服務器,執行單層樹復制,是Redis集群的一個重要特性。Redis集群最少要求6個節點,共需要6臺機器,由於資源有限,我這邊準備了3臺機器,每臺機器上配置兩個節點。
系統環境

主機名 IP地址 操作系統 節點
Redis1 192.168.2.206 Centos 7.5 64位 Master port 7001、slave port 7002
Redis2 192.168.2.209 Centos 7.5 64位 Master port 7001、slave port 7002
Redis3 192.168.2.210 Centos 7.5 64位 Master port 7001、slave port 7002

一、安裝redis

1、安裝編譯相關軟件包

[root@redis1 ~]# yum -y install make gcc gcc-c++ wget

2、下載redis並解壓

[root@redis1 tmp]# wget http://download.redis.io/releases/redis-5.0.0.tar.gz
[root@redis1 tmp]# scp redis-5.0.0.tar.gz [email protected]:/tmp/
[root@redis1 tmp]# scp redis-5.0.0.tar.gz [email protected]:/tmp/
[root@redis1 tmp]# tar zxvf redis-5.0.0.tar.gz

3、安裝redis

[root@redis1 tmp]# cd redis-5.0.0/
[root@redis1 redis-5.0.0]# make
[root@redis1 redis-5.0.0]# make install PREFIX=/data/redis

技術分享圖片
出現上圖畫面表示安裝成功

二、配置集群環境

1、復制配置文件
註:每臺機器兩個實例,故需要復制兩份對應的配置文件

[root@redis1 redis-5.0.0]# mkdir /data/redis/conf
[root@redis1 redis-5.0.0]# cp redis.conf /data/redis/conf/redis-7001.conf
[root@redis1 redis-5.0.0]# cp redis.conf /data/redis/conf/redis-7002.conf

2、修改配置文件
修改以下地方

bind 192.168.2.206   #redis監聽的本地IP地址
port 7001   #監聽端口,另一個節點改為7002
daemonize yes   #開啟後臺運行,no表示運行在前臺
pidfile /var/run/redis_7001.pid   #pid文件,另一個節點改為7002
appendonly yes   #開啟aof日誌,每次寫操作都會記錄一條日誌
cluster-enabled yes   #開啟集群,把註釋#去掉
cluster-config-file nodes-7001.conf   #集群的配置文件,首次啟動會自動創建,另一個節點改為7002
cluster-node-timeout 15000   #集群節點連接超時時間,15秒

3、添加firewalld防火墻允許端口

[root@redis1 redis-5.0.0]# firewall-cmd --permanent --add-port=7001-7002/tcp
[root@redis1 redis-5.0.0]# firewall-cmd --permanent --add-port=17001-17002/tcp
[root@redis1 redis-5.0.0]# firewall-cmd --reload

4、啟動redis服務
創建啟動腳本,redis-all.sh

#!/bin/bash
/data/redis/bin/redis-server /data/redis/conf/redis-7001.conf
/data/redis/bin/redis-server /data/redis/conf/redis-7002.conf

將腳本分發到另外兩臺主機上

[root@redis1 ~]# scp redis-all.sh [email protected]:/root/
[root@redis1 ~]# scp redis-all.sh [email protected]:/root/

運行腳本,啟動redis,每個節點都要啟動

[root@redis1 ~]# sh redis-all.sh

5、啟動集群
創建啟動集群腳本,redis-cluster.sh

#!/bin/bash
/data/redis/bin/redis-cli --cluster create 192.168.2.206:7001  192.168.2.209:7001 192.168.2.210:7001 192.168.2.206:7002 192.168.2.209:7002 192.168.2.210:7002 --cluster-replicas 1
參數說明
--cluster create:表示創建redis集群
--cluster-replicas 1:表示為集群中的每一個主節點指定一個從節點,即一比一的復制。

將腳本分發到另外兩臺主機上

[root@redis1 ~]# scp redis-cluster.sh [email protected]:/root/
[root@redis1 ~]# scp redis-cluster.sh [email protected]:/root/

運行腳本,啟動集群,只需要在其中一個節點啟動即可

[root@redis1 ~]# sh redis-cluster.sh

註:中途需要輸入yes來確認
技術分享圖片

三、測試

1、設置redis集群密碼
註:所有節點都需要設置密碼,且密碼必須一致。

[root@redis1 ~]# /data/redis/bin/redis-cli -h 192.168.2.206 -p 7001 -c
192.168.2.206:7001> config set masterauth xuad123456
192.168.2.206:7001> config set requirepass xuad123456
192.168.2.206:7001> exit

2、將密碼寫入配置文件
註:所有節點都需要將密碼寫入配置文件

[root@redis1 ~]# /data/redis/bin/redis-cli -h 192.168.2.206 -p 7001 -c -a xuad123456
192.168.2.206:7001> config rewrite
192.168.2.206:7001> exit

技術分享圖片
3、查看密碼

[root@redis1 ~]# /data/redis/bin/redis-cli -h 192.168.2.206 -p 7001 -c -a xuad123456
192.168.2.209:7001> config get masterauth
192.168.2.209:7001> config get requirepass

技術分享圖片

Centos 7.5安裝部署redis 5.0.0集群