The important thing in life is to have a great aim , and the determination

          常用鏈接

          統(tǒng)計

          IT技術(shù)鏈接

          保險相關(guān)

          友情鏈接

          基金知識

          生活相關(guān)

          最新評論

          Redis-5.0.5集群環(huán)境

          從redis官網(wǎng)下載(http://download.redis.io/releases/redis-5.0.5.tar.gz)最新版本的redis的源碼包redis-5.0.5.tar.gz。 安裝redis 創(chuàng)建目錄/home/test/redis,上傳redis包并解壓縮 [root@test local]#mkdir -p /home/test/redis 將redis-5.0.5.tar.gz上傳到服務(wù)器的/home/test/redis目錄下 [root@test local]#cd /home/test/redis [root@test local]#tar -xzf redis-5.0.5.tar.gz 編譯安裝 執(zhí)行命令make && make install [root@test redis]# cd redis-5.0.5 [root@test redis]# make && make install 創(chuàng)建集群目錄 在/home/test/redis目錄下創(chuàng)建集群目錄 [root@test redis]# mkdir redis-cluster [root@test redis]# cd redis-cluster/ 在集群目錄下創(chuàng)建節(jié)點(diǎn)目錄 小編的示例中是在單臺服務(wù)器安裝9個節(jié)點(diǎn),所以下面創(chuàng)建9個目錄 [root@test redis-cluster]# mkdir 7000 7001 7002 7003 7004 7005 7006 7007 7008 [root@test redis-cluster]# ls 7000 7001 7002 7003 7004 7005 7006 7007 7008 集群中的節(jié)點(diǎn)配置文件修改 把如下redis.conf 配置內(nèi)容粘貼進(jìn)去 [root@test local]#vi 7000/redis.conf [root@test local]#vi 7001/redis.conf [root@test local]#vi 7002/redis.conf [root@test local]#vi 7003/redis.conf [root@test local]#vi 7004/redis.conf [root@test local]#vi 7005/redis.conf [root@test local]#vi 7006/redis.conf [root@test local]#vi 7007/redis.conf [root@test local]#vi 7008/redis.conf redis.conf 配置 #端口7000,7001,7002 port 7000 #默認(rèn)ip為127.0.0.1,需要改為其他節(jié)點(diǎn)機(jī)器可訪問的ip,否則創(chuàng)建集群時無法訪問對應(yīng)的端口,無法創(chuàng)建集群 bind 172.30.14.240 #redis后臺運(yùn)行 daemonize yes #pidfile文件對應(yīng)7000,7001,7002… pidfile /var/run/redis_7000.pid #開啟集群,把注釋#去掉 cluster-enabled yes #集群的配置,配置文件首次啟動自動生成 7000,7001,7002 cluster-config-file nodes_7000.conf #請求超時,默認(rèn)15秒,可自行設(shè)置 cluster-node-timeout 10100 Eof日志開啟,有需要就開啟,它會每次寫操作都記錄一條日志 appendonly yes 集群中的節(jié)點(diǎn)啟動 /home/test/redis/redis-5.0.5/src/redis-server /home/test/redis/redis-cluster/7000/redis.conf /home/test/redis/redis-5.0.5/src/redis-server /home/test/redis/redis-cluster/7001/redis.conf /home/test/redis/redis-5.0.5/src/redis-server /home/test/redis/redis-cluster/7002/redis.conf /home/test/redis/redis-5.0.5/src/redis-server /home/test/redis/redis-cluster/7003/redis.conf /home/test/redis/redis-5.0.5/src/redis-server /home/test/redis/redis-cluster/7004/redis.conf /home/test/redis/redis-5.0.5/src/redis-server /home/test/redis/redis-cluster/7005/redis.conf /home/test/redis/redis-5.0.5/src/redis-server /home/test/redis/redis-cluster/7006/redis.conf /home/test/redis/redis-5.0.5/src/redis-server /home/test/redis/redis-cluster/7007/redis.conf /home/test/redis/redis-5.0.5/src/redis-server /home/test/redis/redis-cluster/7008/redis.conf 出現(xiàn)以下信息,表示啟動成功: 41846:C 24 Oct 10:51:47.070 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 41846:C 24 Oct 10:51:47.070 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=41846, just started 41846:C 24 Oct 10:51:47.070 # Configuration loaded 檢查服務(wù) [root@test redis-cluster]# ps -ef | grep redis root 41396 1 0 10:51 ? 00:00:00 /home/test/redis/redis-5.0.5/src/redis-server 172.30.14.240:7000 [cluster] root 41601 1 0 10:51 ? 00:00:00 /home/test/redis/redis-5.0.5/src/redis-server 172.30.14.240:7001 [cluster] root 41645 1 0 10:51 ? 00:00:00 /home/test/redis/redis-5.0.5/src/redis-server 172.30.14.240:7002 [cluster] root 41779 1 0 10:51 ? 00:00:00 /home/test/redis/redis-5.0.5/src/redis-server 172.30.14.240:7003 [cluster] root 41818 1 0 10:51 ? 00:00:00 /home/test/redis/redis-5.0.5/src/redis-server 172.30.14.240:7004 [cluster] root 41826 1 0 10:51 ? 00:00:00 /home/test/redis/redis-5.0.5/src/redis-server 172.30.14.240:7005 [cluster] root 41834 1 0 10:51 ? 00:00:00 /home/test/redis/redis-5.0.5/src/redis-server 172.30.14.240:7006 [cluster] root 41839 1 0 10:51 ? 00:00:00 /home/test/redis/redis-5.0.5/src/redis-server 172.30.14.240:7007 [cluster] root 41847 1 0 10:51 ? 00:00:00 /home/test/redis/redis-5.0.5/src/redis-server 172.30.14.240:7008 [cluster] 監(jiān)聽redis端口 $ netstat -tnlp | grep redis //監(jiān)聽redis端口 [root@test redis-cluster]# netstat -tnlp | grep redis tcp 0 0 172.30.14.240:17000 0.0.0.0:* LISTEN 41396/redis-server tcp 0 0 172.30.14.240:17001 0.0.0.0:* LISTEN 41601/redis-server tcp 0 0 172.30.14.240:17002 0.0.0.0:* LISTEN 41645/redis-server tcp 0 0 172.30.14.240:17003 0.0.0.0:* LISTEN 41779/redis-server tcp 0 0 172.30.14.240:17004 0.0.0.0:* LISTEN 41818/redis-server tcp 0 0 172.30.14.240:17005 0.0.0.0:* LISTEN 41826/redis-server tcp 0 0 172.30.14.240:17006 0.0.0.0:* LISTEN 41834/redis-server tcp 0 0 172.30.14.240:17007 0.0.0.0:* LISTEN 41839/redis-server tcp 0 0 172.30.14.240:17008 0.0.0.0:* LISTEN 41847/redis-server tcp 0 0 172.30.14.240:7000 0.0.0.0:* LISTEN 41396/redis-server tcp 0 0 172.30.14.240:7001 0.0.0.0:* LISTEN 41601/redis-server tcp 0 0 172.30.14.240:7002 0.0.0.0:* LISTEN 41645/redis-server tcp 0 0 172.30.14.240:7003 0.0.0.0:* LISTEN 41779/redis-server tcp 0 0 172.30.14.240:7004 0.0.0.0:* LISTEN 41818/redis-server tcp 0 0 172.30.14.240:7005 0.0.0.0:* LISTEN 41826/redis-server tcp 0 0 172.30.14.240:7006 0.0.0.0:* LISTEN 41834/redis-server tcp 0 0 172.30.14.240:7007 0.0.0.0:* LISTEN 41839/redis-server tcp 0 0 172.30.14.240:7008 0.0.0.0:* LISTEN 41847/redis-server 創(chuàng)建集群 注意:在任意一臺上運(yùn)行 不要在每臺機(jī)器上都運(yùn)行,一臺就夠了 /home/test/redis/redis-5.0.5/src/redis-cli --cluster create 172.30.14.240:7000 172.30.14.240:7001 172.30.14.240:7002 172.30.14.240:7003 172.30.14.240:7004 172.30.14.240:7005 172.30.14.240:7006 172.30.14.240:7007 172.30.14.240:7008 --cluster-replicas 1 需要將其中的IP和端口改為實(shí)際安裝的的IP地址和端口 注意:此步驟中需要手動敲入yes [root@test redis-cluster]# /home/test/redis/redis-5.0.5/src/redis-cli --cluster create --replicas 1 172.30.14.240:7000 172.30.14.240:7001 172.30.14.240:7002 172.30.14.240:7003 172.30.14.240:7004 172.30.14.240:7005 172.30.14.240:7006 172.30.14.240:7007 172.30.14.240:7008 Creating cluster Performing hash slots allocation on 9 nodes… Using 4 masters: 172.30.14.240:7000 172.30.14.240:7001 172.30.14.240:7002 172.30.14.240:7003 Adding replica 172.30.14.240:7004 to 172.30.14.240:7000 Adding replica 172.30.14.240:7005 to 172.30.14.240:7001 Adding replica 172.30.14.240:7006 to 172.30.14.240:7002 Adding replica 172.30.14.240:7007 to 172.30.14.240:7003 Adding replica 172.30.14.240:7008 to 172.30.14.240:7000 M: 5992c09409c106b566f7876935d39df2ced31d63 172.30.14.240:7000 slots:0-4095 (4096 slots) master M: 8e842f0cf0cd2569effa8170834618a6fceb144c 172.30.14.240:7001 slots:4096-8191 (4096 slots) master M: d5d363c4c7d0855e245a0121c098918d9a2d9f54 172.30.14.240:7002 slots:8192-12287 (4096 slots) master M: c6422e581cface110c30d302db796e88dca49d8d 172.30.14.240:7003 slots:12288-16383 (4096 slots) master S: 008aab9504f9afac5be41aea92d995d4d1f94c0c 172.30.14.240:7004 replicates 5992c09409c106b566f7876935d39df2ced31d63 S: 7304749ee131927a21d48fb7d4cb360dacf3b7ac 172.30.14.240:7005 replicates 8e842f0cf0cd2569effa8170834618a6fceb144c S: bf809bd10b59b16daa4169f950891c0839bfa649 172.30.14.240:7006 replicates d5d363c4c7d0855e245a0121c098918d9a2d9f54 S: 0e93a0a1c627cc84572798b78142f9e73407ec72 172.30.14.240:7007 replicates c6422e581cface110c30d302db796e88dca49d8d S: de666ccd190e9a7b826b558d89ee2cddf75f43e7 172.30.14.240:7008 replicates 5992c09409c106b566f7876935d39df2ced31d63 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 172.30.14.240:7000) M: 5992c09409c106b566f7876935d39df2ced31d63 172.30.14.240:7000 slots:0-4095 (4096 slots) master 2 additional replica(s) M: c6422e581cface110c30d302db796e88dca49d8d 172.30.14.240:7003 slots:12288-16383 (4096 slots) master 1 additional replica(s) S: de666ccd190e9a7b826b558d89ee2cddf75f43e7 172.30.14.240:7008 slots: (0 slots) slave replicates 5992c09409c106b566f7876935d39df2ced31d63 S: 7304749ee131927a21d48fb7d4cb360dacf3b7ac 172.30.14.240:7005 slots: (0 slots) slave replicates 8e842f0cf0cd2569effa8170834618a6fceb144c S: bf809bd10b59b16daa4169f950891c0839bfa649 172.30.14.240:7006 slots: (0 slots) slave replicates d5d363c4c7d0855e245a0121c098918d9a2d9f54 M: d5d363c4c7d0855e245a0121c098918d9a2d9f54 172.30.14.240:7002 slots:8192-12287 (4096 slots) master 1 additional replica(s) M: 8e842f0cf0cd2569effa8170834618a6fceb144c 172.30.14.240:7001 slots:4096-8191 (4096 slots) master 1 additional replica(s) S: 0e93a0a1c627cc84572798b78142f9e73407ec72 172.30.14.240:7007 slots: (0 slots) slave replicates c6422e581cface110c30d302db796e88dca49d8d S: 008aab9504f9afac5be41aea92d995d4d1f94c0c 172.30.14.240:7004 slots: (0 slots) slave replicates 5992c09409c106b566f7876935d39df2ced31d63 [OK] All nodes agree about slots configuration. Check for open slots… Check slots coverage… [OK] All 16384 slots covered. 關(guān)閉集群 批量關(guān)閉 pkill redis 逐個關(guān)閉 /home/test/redis/redis-5.0.5/src/redis-cli -c -h 172.30.14.240 -p 7000 shutdown /home/test/redis/redis-5.0.5/src/redis-cli -c -h 172.30.14.240 -p 7000 shutdown /home/test/redis/redis-5.0.5/src/redis-cli -c -h 172.30.14.240 -p 7000 shutdown /home/test/redis/redis-5.0.5/src/redis-cli -c -h 172.30.14.240 -p 7000 shutdown /home/test/redis/redis-5.0.5/src/redis-cli -c -h 172.30.14.240 -p 7000 shutdown /home/test/redis/redis-5.0.5/src/redis-cli -c -h 172.30.14.240 -p 7000 shutdown 集群驗(yàn)證 連接集群測試 參數(shù) -C 可連接到集群,因?yàn)?redis.conf 將 bind 改為了ip地址,所以 -h 參數(shù)不可以省略,-p 參數(shù)為端口號 我們在172.30.14.240機(jī)器redis 7000 的節(jié)點(diǎn)set 一個key [root@test redis-cluster]# /home/test/redis/redis-5.0.5/src/redis-cli -h 172.30.14.240 -c -p 7000 172.30.14.240:7000> set name test -> Redirected to slot [5798] located at 172.30.14.240:7001 OK 172.30.14.240:7001> get name “test” 172.30.14.240:7001> 發(fā)現(xiàn)redis set name 之后重定向到172.30.14.240機(jī)器 redis 7001 這個節(jié)點(diǎn) 檢查集群狀態(tài) $ /home/test/redis/redis-5.0.5/src/ redis-cli --cluster check 172.30.14.240:7000 [root@test redis-cluster]# /home/test/redis/redis-5.0.5/src/redis-cli --cluster check 172.30.14.240:7000 Performing Cluster Check (using node 172.30.14.240:7000) M: 5992c09409c106b566f7876935d39df2ced31d63 172.30.14.240:7000 slots:0-4095 (4096 slots) master 2 additional replica(s) M: c6422e581cface110c30d302db796e88dca49d8d 172.30.14.240:7003 slots:12288-16383 (4096 slots) master 1 additional replica(s) S: de666ccd190e9a7b826b558d89ee2cddf75f43e7 172.30.14.240:7008 slots: (0 slots) slave replicates 5992c09409c106b566f7876935d39df2ced31d63 S: 7304749ee131927a21d48fb7d4cb360dacf3b7ac 172.30.14.240:7005 slots: (0 slots) slave replicates 8e842f0cf0cd2569effa8170834618a6fceb144c S: bf809bd10b59b16daa4169f950891c0839bfa649 172.30.14.240:7006 slots: (0 slots) slave replicates d5d363c4c7d0855e245a0121c098918d9a2d9f54 M: d5d363c4c7d0855e245a0121c098918d9a2d9f54 172.30.14.240:7002 slots:8192-12287 (4096 slots) master 1 additional replica(s) M: 8e842f0cf0cd2569effa8170834618a6fceb144c 172.30.14.240:7001 slots:4096-8191 (4096 slots) master 1 additional replica(s) S: 0e93a0a1c627cc84572798b78142f9e73407ec72 172.30.14.240:7007 slots: (0 slots) slave replicates c6422e581cface110c30d302db796e88dca49d8d S: 008aab9504f9afac5be41aea92d995d4d1f94c0c 172.30.14.240:7004 slots: (0 slots) slave replicates 5992c09409c106b566f7876935d39df2ced31d63 [OK] All nodes agree about slots configuration. Check for open slots… Check slots coverage… [OK] All 16384 slots covered. 列出集群節(jié)點(diǎn) 列出集群當(dāng)前已知的所有節(jié)點(diǎn)(node),以及這些節(jié)點(diǎn)的相關(guān)信息 [root@test redis-cluster]# /home/test/redis/redis-5.0.5/src/redis-cli -h 172.30.14.240 -c -p 7000 172.30.14.240:7000> cluster nodes c6422e581cface110c30d302db796e88dca49d8d 172.30.14.240:7003@17003 master - 0 1508814078128 4 connected 12288-16383 de666ccd190e9a7b826b558d89ee2cddf75f43e7 172.30.14.240:7008@17008 slave 5992c09409c106b566f7876935d39df2ced31d63 0 1508814078000 9 connected 7304749ee131927a21d48fb7d4cb360dacf3b7ac 172.30.14.240:7005@17005 slave 8e842f0cf0cd2569effa8170834618a6fceb144c 0 1508814077125 6 connected bf809bd10b59b16daa4169f950891c0839bfa649 172.30.14.240:7006@17006 slave d5d363c4c7d0855e245a0121c098918d9a2d9f54 0 1508814077000 7 connected d5d363c4c7d0855e245a0121c098918d9a2d9f54 172.30.14.240:7002@17002 master - 0 1508814079130 3 connected 8192-12287 8e842f0cf0cd2569effa8170834618a6fceb144c 172.30.14.240:7001@17001 master - 0 1508814078128 2 connected 4096-8191 0e93a0a1c627cc84572798b78142f9e73407ec72 172.30.14.240:7007@17007 slave c6422e581cface110c30d302db796e88dca49d8d 0 1508814080131 8 connected 008aab9504f9afac5be41aea92d995d4d1f94c0c 172.30.14.240:7004@17004 slave 5992c09409c106b566f7876935d39df2ced31d63 0 1508814076000 5 connected 5992c09409c106b566f7876935d39df2ced31d63 172.30.14.240:7000@17000 myself,master - 0 1508814077000 1 connected 0-4095 打印集群信息 172.30.14.240:7000> cluster info cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:0 cluster_known_nodes:9 cluster_size:4 cluster_current_epoch:9 cluster_my_epoch:1 cluster_stats_messages_ping_sent:523 cluster_stats_messages_pong_sent:546 cluster_stats_messages_sent:1069 cluster_stats_messages_ping_received:538 cluster_stats_messages_pong_received:523 cluster_stats_messages_meet_received:8 cluster_stats_messages_received:1069 集群命令 語法格式 redis-cli -c -p port 集群 cluster info :打印集群的信息 cluster nodes :列出集群當(dāng)前已知的所有節(jié)點(diǎn)( node),以及這些節(jié)點(diǎn)的相關(guān)信息。 節(jié)點(diǎn) cluster meet :將 ip 和 port 所指定的節(jié)點(diǎn)添加到集群當(dāng)中,讓它成為集群的一份子。 cluster forget :從集群中移除 node_id 指定的節(jié)點(diǎn),node_id通過cluster nodes查詢 cluster replicate :將當(dāng)前節(jié)點(diǎn)設(shè)置為 node_id 指定的節(jié)點(diǎn)的從節(jié)點(diǎn)。 cluster saveconfig :將節(jié)點(diǎn)的配置文件保存到硬盤里面。 槽(slot) cluster addslots [slot …] :將一個或多個槽( slot)指派( assign)給當(dāng)前節(jié)點(diǎn)。 cluster delslots [slot …] :移除一個或多個槽對當(dāng)前節(jié)點(diǎn)的指派。 cluster flushslots :移除指派給當(dāng)前節(jié)點(diǎn)的所有槽,讓當(dāng)前節(jié)點(diǎn)變成一個沒有指派任何槽的節(jié)點(diǎn)。 cluster setslot node :將槽 slot 指派給 node_id 指定的節(jié)點(diǎn),如果槽已經(jīng)指派給另一個節(jié)點(diǎn),那么先讓另一個節(jié)點(diǎn)刪除該槽>,然后再進(jìn)行指派。 cluster setslot migrating :將本節(jié)點(diǎn)的槽 slot 遷移到 node_id 指定的節(jié)點(diǎn)中。 cluster setslot importing :從 node_id 指定的節(jié)點(diǎn)中導(dǎo)入槽 slot 到本節(jié)點(diǎn)。 cluster setslot stable :取消對槽 slot 的導(dǎo)入( import)或者遷移( migrate)。 鍵 cluster keyslot :計算鍵 key 應(yīng)該被放置在哪個槽上。 cluster countkeysinslot :返回槽 slot 目前包含的鍵值對數(shù)量。 cluster getkeysinslot :返回 count 個 slot 槽中的鍵

          posted on 2019-08-07 11:19 鴻雁 閱讀(160) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 濮阳县| 绥德县| 遂溪县| 汨罗市| 怀宁县| 静海县| 台山市| 大同市| 芜湖市| 筠连县| 聂拉木县| 乌兰浩特市| 浮梁县| 邓州市| 九寨沟县| 洪洞县| 库伦旗| 翼城县| 青海省| 家居| 同心县| 荣昌县| 汶上县| 嘉兴市| 肃北| 惠州市| 永嘉县| 天峻县| 茶陵县| 海伦市| 贡嘎县| 无锡市| 石屏县| 昌图县| 宜昌市| 大化| 郑州市| 淳化县| 大安市| 杨浦区| 乐陵市|