Redis叢集的安裝測試(偽分布模式 - 主從複製)

來源:互聯網
上載者:User

標籤:

想跑一下Redis叢集,但是沒有那麼多伺服器,所以使用偽分布式模式,類比一下,記錄一下安裝過程。

軟體: redis-3.0.3.tar.gz

叢集正常工作至少需要3個主節點(本樣本建立6個節點,3主3從節點)

 

安裝前提,要有ruby、rubygems環境,先安裝一下:

#安裝rubyyum --nogpgcheck -y install rubyyum --nogpgcheck -y install ruby-devel.x86_64#安裝rubygemyum --nogpgcheck -y install rubygems#安裝Ruby的redis介面gem-redis

 

安裝Redis軟體

#進入安裝目錄cd /usr/local/rm -rf redisrm -rf redis-3.0.3#解壓tar -zxvf redis-3.0.3.tar.gzmv redis-3.0.3 redis#進入源碼目錄cd redis#編譯安裝make && make install

 

建立叢集的相關配置

#建立叢集需要的目錄mkdir -p /usr/local/redis/cluster/16001/mkdir -p /usr/local/redis/cluster/16002/mkdir -p /usr/local/redis/cluster/16003/mkdir -p /usr/local/redis/cluster/16004/mkdir -p /usr/local/redis/cluster/16005/mkdir -p /usr/local/redis/cluster/16006/#修改設定檔redis.conf#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16001/redis.conf#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16002/redis.conf#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16003/redis.conf#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16004/redis.conf#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16005/redis.conf#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16006/redis.conf

 

設定檔樣本:

daemonize nopidfile /var/run/redis.pid#修改連接埠port 16001tcp-backlog 511timeout 0tcp-keepalive 0loglevel noticelogfile ""databases 16save 900 1save 300 10save 60 10000stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename dump.rdbdir ./slave-serve-stale-data yesslave-read-only yesrepl-diskless-sync norepl-diskless-sync-delay 5repl-disable-tcp-nodelay noslave-priority 100#修改為yesappendonly yesappendfilename "appendonly.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mbaof-load-truncated yeslua-time-limit 5000slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-entries 512list-max-ziplist-value 64set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64hll-sparse-max-bytes 3000activerehashing yesclient-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10aof-rewrite-incremental-fsync yes#=========================新增===============================daemonize yescluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000#========================================================

 

啟動Redis執行個體:

#分別啟動這6個redis執行個體(此時,節點均以Redis Cluster的方式運行,但並沒有自動構建叢集,因為還處於“我不認識你,你不屬於我”的狀態,它們每個都是孤零零的Redis節點,或者說只包含了一個節點的叢集)cd /usr/local/redis/cluster/16001 && redis-server redis.conf > redis.log 2>&1 &cd /usr/local/redis/cluster/16002 && redis-server redis.conf > redis.log 2>&1 &cd /usr/local/redis/cluster/16003 && redis-server redis.conf > redis.log 2>&1 &cd /usr/local/redis/cluster/16004 && redis-server redis.conf > redis.log 2>&1 &cd /usr/local/redis/cluster/16005 && redis-server redis.conf > redis.log 2>&1 &cd /usr/local/redis/cluster/16006 && redis-server redis.conf > redis.log 2>&1 &

##啟動之後使用命令查看redis的啟動情況
ps -ef|grep redis

建立叢集,讓上面的執行個體互相通訊

#建立叢集,讓上面的執行個體互相通訊(1 表示為每個master分配一個salve)/usr/local/redis/src/redis-trib.rb create --replicas 1 127.0.0.1:16001 127.0.0.1:16002 127.0.0.1:16003 127.0.0.1:16004 127.0.0.1:16005 127.0.0.1:16006

叢集建立完成,可以使用下面的命令查看相關資訊:

#查看叢集目前狀況redis-cli -c -p 16001#列印叢集的資訊cluster info#列出叢集當前已知的所有節點(node),以及這些節點的相關資訊。cluster nodes

 

輸出的資訊:

127.0.0.1:16002 master - 0 1439345771781 2 connected 5461-10922127.0.0.1:16003 master - 0 1439345772286 3 connected 10923-16383127.0.0.1:16001 myself,master - 0 0 1 connected 0-5460127.0.0.1:16004 slave 2566ea486fc30c911aafaf1b71130fd24a38dba9 0 1439345772791 4 connected127.0.0.1:16005 slave edea1e50bd224c6895b1904bce79e83fa07d6017 0 1439345772286 5 connected127.0.0.1:16006 slave ab06e033698627ce0ecd4c8c645585a1ae70cc84 0 1439345771276 6 connected

從上面的資訊可以明顯看到哪些是主節點、從節點。

#將節點的設定檔儲存到硬碟裡

cluster saveconfig

#------------------------測試-----------------------------------
#串連連接埠(可以使用其他連接埠測試16001 -> 16006)
redis-cli -c -p 16001

127.0.0.1:16001> set key001 v001
127.0.0.1:16001> get key001

 

正常輸出資訊的話,叢集建立成功,叢集搭建完成。

祝好運!!

 

Redis叢集的安裝測試(偽分布模式 - 主從複製)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.