1. 程式人生 > >redis叢集建立

redis叢集建立

redis叢集的搭建與簡單實用 1. 準備兩臺伺服器模擬6個節點,搭建redis叢集,每臺伺服器有三個節點,建立3主3從環境。 2.實用yum方式進行安裝 yum install redis 3.將 redis-trib.rb 複製到 /usr/local/bin 目錄下 cp redis-trib.rb /usr/local/bin/ 4.建立 Redis 節點,在/etc下建立redis_cluster目錄 mkdir redis_cluster 5.在 redis_cluster 目錄下,建立名為7000、7001、7002的目錄,並將 redis.conf 拷貝到這三個目錄中 mkdir 6380 6381 6382 cp redis.conf redis_cluster/6380 cp redis.conf redis_cluster/6381 cp redis.conf redis_cluster/6382 6.分別修改這三個配置檔案,修改如下內容 port 6380 //埠6380,6381,6382 bind 本機ip //預設ip為127.0.0.1 需要改為其他節點機器可訪問的ip 否則建立叢集時無法訪問對應的埠,無法建立叢集 daemonize yes //redis後臺執行pidfile /var/run/redis_6380.pid //pidfile檔案對應6380,6381,6382 cluster-enabled yes//開啟叢集 把註釋#去掉 cluster-config-file nodes_6380.conf //叢集的配置 配置檔案首次啟動自動生成 6380,6381,6382cluster-node-timeout 15000//請求超時 預設15秒,可自行設定 appendonly yes//aof日誌開啟 有需要就開啟,它會每次寫操作都記錄一條日誌
7.接著在另外一臺機器上,的操作重複以上三步,只是把目錄改為6383、6384、6385,對應的配置檔案也按照這個規則修改即可. 8.啟動各個節點 第一臺機器上執行redis-server redis_cluster/6380/redis.conf redis-server redis_cluster/6381/redis.conf redis-server redis_cluster/6382/redis.conf 另外一臺機器上執行redis-server redis_cluster/6383/redis.conf redis-server redis_cluster/6384/redis.conf redis-server redis_cluster/6385/redis.conf 9.檢查 redis 啟動情況 ps -ef | grep redis root 25475 1 0 Sep20 ? 01:06:41 redis-server 0.0.0.0:6383 [cluster] root 25479 1 0 Sep20 ? 01:50:51 redis-server 0.0.0.0:6384 [cluster] root 25483 1 0 Sep20 ? 00:41:10 redis-server 0.0.0.0:6385 [cluster] ps -ef | grep redis tcp 0 0 0.0.0.0:16383 0.0.0.0:* LISTEN 25475/redis-server tcp 0 0 0.0.0.0:16384 0.0.0.0:* LISTEN 25479/redis-server tcp 0 0 0.0.0.0:16385 0.0.0.0:* LISTEN 25483/redis-server tcp 0 0 0.0.0.0:6383 0.0.0.0:* LISTEN 25475/redis-server tcp 0 0 0.0.0.0:6384 0.0.0.0:* LISTEN 25479/redis-server tcp 0 0 0.0.0.0:6385 0.0.0.0:* LISTEN 25483/redis-server 10.yum -y install ruby ruby-devel rubygems rpm-build 11.gem install redis 12.進入防火牆vim /etc/sysconfig/iptables 新增埠 -A INPUT -m state --state NEW -m tcp -p tcp --dport 6380 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 6381 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 6382 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 16380 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 16381 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 16382 -j ACCEPT 兩臺伺服器都需要進行埠的新增 -A INPUT -m state --state NEW -m tcp -p tcp --dport 16383 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 16384 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 16385 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 6383 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 6384 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 6385 -j ACCEPT 13.建立叢集 redis-trib.rb create --replicas 1 10.3.1.117:6380 10.3.1.117:6381 10.3.1.117:6382 10.3.1.112:6383 10.3.1.112:6384 10.3.1.112:6385 14.redis-cli -h 10.3.1.117 -c -p 7002