Redis叢集安裝和基礎配置
阿新 • • 發佈:2021-01-16
redis安裝和基礎配置
-
redis官網(三臺機器做相同操作,同一機器安裝叢集埠需要不相同)
https://redis.io/
-
安裝環境
部署ip 安裝軟體 開放埠 192.168.199.10 redis-6.0.9 6379/16379/6380/16380 192.168.199.11 redis-6.0.9 6379/16379/6380/16380 192.168.199.12 redis-6.0.9 6379/16379/6380/16380 -
依賴環境安裝
yum -y install gcc gcc-c++ kernel-devel make cpp binutils glibc glibc-kernheaders glibc-common glibc-devel tcl wget 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 source /etc/profile
-
redis安裝
tar zxf redis-6.0.9.tar.gz && cd redis-6.0.9 make && make PREFIX=/data/redis install <!--根據實際情況更改路徑--> mkdir -p /data/redis/etc cp redis.conf /data/redis/etc/ cp -ra /data/redis/ /data/redis01
-
基礎配置
vim /data/redis/etc/redis.conf # 修改一下配置 # redis以守護程序的方式執行 # no表示不以守護程序的方式執行(會佔用一個終端) daemonize yes # 客戶端閒置多長時間後斷開連線,預設為0關閉此功能 timeout 300 # 設定redis日誌級別,預設級別:notice loglevel verbose # 設定日誌檔案的輸出方式,如果以守護程序的方式執行redis 預設:"" # 並且日誌輸出設定為stdout,那麼日誌資訊就輸出到/dev/null裡面去了 logfile stdout # 設定密碼授權 # requirepass <設定密碼> # 監聽ip bind 0.0.0.0 # 監聽埠 port 6379 # 開啟叢集功能 cluster-enabled yes vim /data/redis01/etc/redis.conf # 修改一下配置 # redis以守護程序的方式執行 # no表示不以守護程序的方式執行(會佔用一個終端) daemonize yes # 客戶端閒置多長時間後斷開連線,預設為0關閉此功能 timeout 300 # 設定redis日誌級別,預設級別:notice loglevel verbose # 設定日誌檔案的輸出方式,如果以守護程序的方式執行redis 預設:"" # 並且日誌輸出設定為stdout,那麼日誌資訊就輸出到/dev/null裡面去了 logfile stdout # 設定密碼授權 # requirepass <設定密碼> # 監聽ip bind 0.0.0.0 # 監聽埠 port 6380 # 開啟叢集功能 cluster-enabled yes
-
防火牆開放埠(三臺機器都放行埠)
firewall-cmd --zone=public --add-port=6379/tcp --permanent firewall-cmd --zone=public --add-port=16379/tcp --permanent firewall-cmd --zone=public --add-port=6380/tcp --permanent firewall-cmd --zone=public --add-port=16380/tcp --permanent firewall-cmd --reload setenforce 0
-
配置啟停指令碼
vim /data/start_redis.sh #!/bin/bash cd /data/redis/ ./bin/redis-server ./etc/redis.conf cd /data/redis01/ ./bin/redis-server ./etc/redis.conf vim /data/stop_redis.sh #!/bin/bash ps -aux | grep redis | awk -F " " '{print $2}' | xargs kill -9
-
redis服務啟動
# 停止 sh -x /data/stop_redis.sh # 啟動 sh -x /data/start_redis.sh
-
建立叢集
# 任意一臺伺服器 /data/redis/bin/redis-cli --cluster create 192.168.199.10:6379 192.168.199.10:6380 192.168.199.11:6379 192.168.199.11:6380 192.168.199.12:6379 192.168.199.12:6380 --cluster-replicas 1 >>> Performing hash slots allocation on 6 nodes... Master[0] -> Slots 0 - 5460 Master[1] -> Slots 5461 - 10922 Master[2] -> Slots 10923 - 16383 Adding replica 192.168.199.11:6380 to 192.168.199.10:6379 Adding replica 192.168.199.12:6380 to 192.168.199.11:6379 Adding replica 192.168.199.10:6380 to 192.168.199.12:6379 M: 15987d9aa5452baeb197d31d0b28cf10403e1fc4 192.168.199.10:6379 slots:[0-5460] (5461 slots) master S: 76d44a73239971ab902effd30e11a2b0c108658d 192.168.199.10:6380 replicates 46b4e50abb2dc8e14467303a59ddfa7b9a294dfe M: eb97c3a7ad1ae973515c65a981fe2c556315639d 192.168.199.11:6379 slots:[5461-10922] (5462 slots) master S: db11544f435938e6f506595f0a94e6248e7a3787 192.168.199.11:6380 replicates 15987d9aa5452baeb197d31d0b28cf10403e1fc4 M: 46b4e50abb2dc8e14467303a59ddfa7b9a294dfe 192.168.199.12:6379 slots:[10923-16383] (5461 slots) master S: a901eb8204b607f45c0c5d521fef422e5a60caa4 192.168.199.12:6380 replicates eb97c3a7ad1ae973515c65a981fe2c556315639d <!-- 此處輸入yes代表同意以刪除配置建立叢集 --> Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join >>> Performing Cluster Check (using node 192.168.199.10:6379) M: 15987d9aa5452baeb197d31d0b28cf10403e1fc4 192.168.199.10:6379 slots:[0-5460] (5461 slots) master 1 additional replica(s) S: db11544f435938e6f506595f0a94e6248e7a3787 192.168.199.11:6380 slots: (0 slots) slave replicates 15987d9aa5452baeb197d31d0b28cf10403e1fc4 M: eb97c3a7ad1ae973515c65a981fe2c556315639d 192.168.199.11:6379 slots:[5461-10922] (5462 slots) master 1 additional replica(s) S: 76d44a73239971ab902effd30e11a2b0c108658d 192.168.199.10:6380 slots: (0 slots) slave replicates 46b4e50abb2dc8e14467303a59ddfa7b9a294dfe S: a901eb8204b607f45c0c5d521fef422e5a60caa4 192.168.199.12:6380 slots: (0 slots) slave replicates eb97c3a7ad1ae973515c65a981fe2c556315639d M: 46b4e50abb2dc8e14467303a59ddfa7b9a294dfe 192.168.199.12:6379 slots:[10923-16383] (5461 slots) master 1 additional replica(s) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
-
檢視叢集狀態
/data/redis/bin/redis-cli -c -h 192.168.199.10 -p 6379 192.168.199.10:6379> cluster nodes 15987d9aa5452baeb197d31d0b28cf10403e1fc4 192.168.199.10:[email protected] myself,master - 0 1610613629000 1 connected 0-5460 db11544f435938e6f506595f0a94e6248e7a3787 192.168.199.11:[email protected] slave 15987d9aa5452baeb197d31d0b28cf10403e1fc4 0 1610613631000 1 connected eb97c3a7ad1ae973515c65a981fe2c556315639d 192.168.199.11:[email protected] master - 0 1610613632028 3 connected 5461-10922 76d44a73239971ab902effd30e11a2b0c108658d 192.168.199.10:[email protected] slave 46b4e50abb2dc8e14467303a59ddfa7b9a294dfe 0 1610613632000 5 connected a901eb8204b607f45c0c5d521fef422e5a60caa4 192.168.199.12:[email protected] slave eb97c3a7ad1ae973515c65a981fe2c556315639d 0 1610613631000 3 connected 46b4e50abb2dc8e14467303a59ddfa7b9a294dfe 192.168.199.12:[email protected] master - 0 1610613631020 5 connected 10923-16383 192.168.199.10:6379> cluster info # 顯示ok叢集狀態為正常 cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:0 cluster_known_nodes:6 cluster_size:3 cluster_current_epoch:6 cluster_my_epoch:1 cluster_stats_messages_ping_sent:248 cluster_stats_messages_pong_sent:236 cluster_stats_messages_sent:484 cluster_stats_messages_ping_received:231 cluster_stats_messages_pong_received:248 cluster_stats_messages_meet_received:5 cluster_stats_messages_received:484
-
叢集重啟
# 停止 sh -x /data/stop_redis.sh # 啟動 sh -x /data/start_redis.sh # 檢視叢集狀態 /data/redis/bin/redis-cli -c -h 192.168.199.10 -p 6379 192.168.199.10:6379> cluster nodes 192.168.199.10:6379> cluster info