redis單機、主從、哨兵、集群部署

卸載機器上自帶的ruby rubygems

yum remove ruby rubygems -y

解決ruby語言的環(huán)境依賴庫

yum install gcc gcc-c++ gdbm-devel readline-devel openssl-devel wget -y

下載程序源碼包,解壓并安裝

wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.5.tar.gz
tar xf ruby-2.5.5.tar.gz
cd ruby-2.5.5
./configure --prefix=/usr/local/ruby --enable-shared make && make install

下載redis源碼包解壓并安裝

wget http://download.redis.io/releases/redis-5.0.9.tar.gz
tar -xvf redis-5.0.9.tar.gz
cd redis-5.0.9
make PREFIX=/usr/local/redis install

創(chuàng)建目錄

cd /usr/local/redis && mkdir cluster && mkdir replication && mkdir sentinel
cluster/replication/sentinel目錄下均執(zhí)行:
mkdir data && mkdir log && mkdir redis_conf && cp /usr/local/src/redis-5.0.9/redis.conf cd /usr/local/redis/replication/redis_conf

三臺主機下的配置文件分別做修改:

mv /usr/local/redis/replication/redis_conf/redis.conf /usr/local/redis/replication/redis_conf/redis_6379.conf
mv /usr/local/redis/replication/redis_conf/redis.conf /usr/local/redis/replication/redis_conf/redis_6380.conf
mv /usr/local/redis/replication/redis_conf/redis.conf /usr/local/redis/replication/redis_conf/redis_6381.conf

redis單機部署

redis主從部署

節(jié)點信息

節(jié)點名稱 節(jié)點IP 服務端口
master 192.168.28.135 6379
slave1 192.168.28.136 6380
slave2 192.168.28.137 6381

防火墻添加端口的準入準出

firewall-cmd --add-port=6379/tcp
firewall-cmd --add-port=6380/tcp
firewall-cmd --add-port=6381/tcp

修改master配置

vim /usr/local/redis/replication/redis_conf/redis_6379.conf

port 6379
daemonize yes
pidfile /usr/local/redis/replication/redis_6379.pid
logfile "/usr/local/redis/replication/log/redis_6379.log"
dbfilename 6379_dump.rdb
dir /usr/local/redis/replication/data/6379
requirepass 123456
bind 192.168.28.135

修改slave1配置

vim /usr/local/redis/replication/redis_conf/redis_6380.conf

port 6380
daemonize yes
pidfile /usr/local/redis/replication/redis_6380.pid
logfile "/usr/local/redis/replication/log/redis_6380.log"
dbfilename 6380_dump.rdb
dir /usr/local/redis/replication/data/6380
replicaof 192.168.28.135 6379
replica-read-only yes
masterauth 123456
bind 192.168.28.136

修改slave2配置

vim /usr/local/redis/replication/redis_conf/redis_6381.conf

port 6381
daemonize yes
pidfile /usr/local/redis/replication/redis_6381.pid
logfile "/usr/local/redis/replication/log/redis_6381.log"
dbfilename 6381_dump.rdb
dir /usr/local/redis/replication/data/6381
replicaof 192.168.28.135 6379
replica-read-only yes
masterauth 123456
bind 192.168.28.137

啟動master服務&&登陸master服務并查看主從連接信息

/usr/local/redis/bin/redis-server /usr/local/redis/replication/redis_conf/redis_6379.conf
/usr/local/redis/bin/redis-cli -h 192.168.28.135 -p 6379 -a 123456
info replication

啟動slave1服務&&登陸slave1服務并查看主從連接信息

/usr/local/redis/bin/redis-server /usr/local/redis/replication/redis_conf/redis_6380.conf

/usr/local/redis/bin/redis-cli -h 192.168.28.136 -p 6380 -a 123456
info replication

啟動slave2服務&&登陸slave2服務并查看主從連接信息

/usr/local/redis/bin/redis-server /usr/local/redis/replication/redis_conf/redis_6381.conf
/usr/local/redis/bin/redis-cli -h 192.168.28.137 -p 6381 -a 123456
info replication

redis哨兵部署

先完成主從的配置,見上述步驟

節(jié)點信息

節(jié)點名稱 節(jié)點IP 服務端口
sentinel1 192.168.28.135 26379
sentinel2 192.168.28.136 26379
sentinel3 192.168.28.137 26379

防火墻添加端口的準入準出

firewall-cmd --add-port=26379/tcp

修改哨兵配置,三者保持一致

port 26379
daemonize yes
pidfile "/usr/local/redis/sentinel/redis_26379.pid"
logfile "/usr/local/redis/sentinel/log/sentinel_26379.log"
dir "/usr/local/redis/sentinel/data/26379"
sentinel monitor mymaster 192.168.28.135 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
sentinel auth-pass mymaster 123456

啟動三個哨兵

/usr/local/redis/bin/redis-sentinel /usr/local/redis/sentinel/sentinel_conf/sentinel_26379.conf

查看135是否為master

/usr/local/redis/bin/redis-cli -h 192.168.28.135 -p 6379 -a 123456

info replication

關閉135的redis服務

ps -ef|grep redis
kill -9 ${pid}

重啟135服務

/usr/local/redis/bin/redis-server /usr/local/redis/replication/redis_conf/redis_6379.conf

登錄136和137查看當前的master是誰

/usr/local/redis/bin/redis-cli -h 192.168.28.136 -p 6380 -a 123456
info replication
/usr/local/redis/bin/redis-cli -h 192.168.28.135 -p 6381 -a 123456
info replication
當前的master已經變?yōu)?37,135已經變?yōu)榱薽aster
[root@localhost sentinel]# /usr/local/redis/bin/redis-cli -h 192.168.28.137 -p 6381 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.28.137:6381> info replication
role:master
connected_slaves:1
slave0:ip=192.168.28.135,port=6379,state=online,offset=248671,lag=1
master_replid:a63539a8e42c4489ee765750057614eaf705d4f4
master_replid2:3b3cfaf2132d154891a48fe16089aa5f08acb170
master_repl_offset:248814
second_repl_offset:46650
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:248814
192.168.28.137:6381>

redis集群部署

見文章[http://www.itdecent.cn/p/28d39f25adea]

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容