1. 程式人生 > >redis叢集搭建步驟

redis叢集搭建步驟

============ Redis 叢集 ============

1、說明:至少6臺,3主3從,本例中【7001[master1]、7002[master2]、7003[master3]、7004[slave1]、7005[slave2]、7006[slave3]】,搭建在同臺機器上

2、搭建步驟:

  1)、遞迴建立資料夾:【mkdir -p /usr/local/redis-cluster】
  
  2)、在/usr/local/redis-cluster目錄下建立6個資料夾:【mkdir 7001、mkdir 7002、mkdir 7003、mkdir 7004、mkdir 7005、mkdir 7006】
  
  3)、將redis.conf配置檔案分別copy到700*下,進行修改各個檔案的內容
    (1)、後臺啟動:【daemonize yes】
	(2)、埠號:【port 700*】
	(3)、綁定當前機器IP:【bind 192.168.56.101】
	(4)、指定資料檔案存放路徑:【dir /usr/local/redis-cluster/700*/】,不修改擔心丟失資料
	(5)、持久方式開啟快照:【appendonly yes】,生產上用【appendfsync always】
	(6)、啟動叢集模式:【cluster-enabled yes】
	(7)、節點配置檔案與埠號對應:【cluster-config-file nodes700*.conf】,讓每個節點相互知道對方的存在
	(8)、設定超時時間:【cluster-node-timeout 15000】
	
  4.1)、叢集用到ruby命令,因此安裝ruby,方式一
    (1)、【yum install ruby】
	(2)、【yum install rubygems】
	(3)、【gem install redis】,安裝redis和ruby介面,redis版本要2.2.x以上
	
  4.2)、叢集用到ruby命令,因此安裝ruby,方式二
    (1)、安裝rvm
	  1]、切換到root目錄下:【cd /】
	  2]、【gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB】
      3]、【curl -sSL https://get.rvm.io | bash -s stable】
      4]、【source /etc/profile.d/rvm.sh】
      5]、檢視是否安裝成功:【rvm -v】
	(2)、安裝ruby:【rvm install 2.4.2】
	(3)、【gem install redis】,安裝redis和ruby介面,redis版本要2.2.x以上
	
  5)、逐個啟動6個redis例項:【/usr/local/redis/bin/redis-server /usr/local/redis-cluster/700*/redis.conf】
  
  6)、檢查是否啟動成功:【ps -ef | grep redis】,檢視是否已存在對應程序
  
  7)、在redis的安裝目錄下,執行叢集指令碼,啟動叢集:【/usr/local/redis-3.0.7/src/redis-trib.rb create --replicas 1 192.168.56.101:7001 192.168.56.101:7002 192.168.56.101:7003 192.168.56.101:7004 192.168.56.101:7005 192.168.56.101:7006】,下次重啟機器不需要此操作
  注:其中的 1 為主節點與從節點的比值(1 = 主節點數量/從節點數量),主節點排完,接著排從節點,一一對應,例如,7001為master1,則7004為slave1
  
  8)、連線任意客戶端:【/usr/local/redis/bin/redis-cli -c -h 192.168.56.101 -p 7001】(./redis-cli -c -h -p),[-c 表示叢集模式,-h指定ip,-p指定埠號]
  
  9)、驗證叢集是否搭建成功:檢視叢集資訊【cluster info】,檢視叢集節點【cluster nodes】
  
  10)、關閉叢集:【/usr/local/redis/bin/redis-cli -c -h 192.168.56.101 -p 700* shutdown】,需要逐個關閉
  
  11)、注意:出現叢集無法啟動時,刪除臨時的資料檔案,再次重新啟動每個redis服務,然後重新構建叢集環境
  
  12)、啟動成功時返回的資訊:
[
[email protected]
src]# /usr/local/redis-3.0.7/src/redis-trib.rb create --replicas 1 192.168.56.101:7001 192.168.56.101:7002 192.168.56.101:7003 192.168.56.101:7004 192.168.56.101:7005 192.168.56.101:7006 >>> Creating cluster >>> Performing hash slots allocation on 6 nodes... Using 3 masters: 192.168.56.101:7001 192.168.56.101:7002 192.168.56.101:7003 Adding replica 192.168.56.101:7004 to 192.168.56.101:7001 Adding replica 192.168.56.101:7005 to 192.168.56.101:7002 Adding replica 192.168.56.101:7006 to 192.168.56.101:7003 M: dbad2a94ae14569188a0ea2a0a645d8fcd023486 192.168.56.101:7001 slots:0-5460 (5461 slots) master M: f668dbe36e0af1aca1242659b8f4ad561257f9d8 192.168.56.101:7002 slots:5461-10922 (5462 slots) master M: b7e323d03ec1eab723c563125a19606039b6da8f 192.168.56.101:7003 slots:10923-16383 (5461 slots) master S: 242f06fa14821f7d5ff698e7459b8138b96b0161 192.168.56.101:7004 replicates dbad2a94ae14569188a0ea2a0a645d8fcd023486 S: ba721da0c5da588b834fe4525e0c1860aaa44bb0 192.168.56.101:7005 replicates f668dbe36e0af1aca1242659b8f4ad561257f9d8 S: d5082dbe9ab6c70e2592864dd814bb3ac72920ac 192.168.56.101:7006 replicates b7e323d03ec1eab723c563125a19606039b6da8f 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.56.101:7001) M: dbad2a94ae14569188a0ea2a0a645d8fcd023486 192.168.56.101:7001 slots:0-5460 (5461 slots) master M: f668dbe36e0af1aca1242659b8f4ad561257f9d8 192.168.56.101:7002 slots:5461-10922 (5462 slots) master M: b7e323d03ec1eab723c563125a19606039b6da8f 192.168.56.101:7003 slots:10923-16383 (5461 slots) master M: 242f06fa14821f7d5ff698e7459b8138b96b0161 192.168.56.101:7004 slots: (0 slots) master replicates dbad2a94ae14569188a0ea2a0a645d8fcd023486 M: ba721da0c5da588b834fe4525e0c1860aaa44bb0 192.168.56.101:7005 slots: (0 slots) master replicates f668dbe36e0af1aca1242659b8f4ad561257f9d8 M: d5082dbe9ab6c70e2592864dd814bb3ac72920ac 192.168.56.101:7006 slots: (0 slots) master replicates b7e323d03ec1eab723c563125a19606039b6da8f [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.