如何創建redis集群
阿新 • • 發佈:2017-08-06
記錄 master clu 無法創建 分享 cnblogs images only rpm
1.下載redis源碼包
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
2.解壓並安裝
tar xvf redis-3.2.4.tar.gz cd redis-3.2.4
make && make instal
3.將src文件夾將可執行文件拷貝到/usr/local/bin目錄下,因為已經有redis2版本了,所以復制過去之後命名帶上3
cp src/redis-server /usr/local/bin/redis-server3 cp src/redis-cli /usr/local/bin/redis-cli3 cp src/redis-trib.rb /usr/bin/redis-trib.rb3
4.創建節點配置文件,至少要6個節點才能創建一個集群【這裏示範在同一臺機器上創建6個節點來搭建集群,當然你也可以選擇兩臺機器做成3個master和3個slave的形式】
創建6個文件夾並將redis.conf文件復制過去並修改,以7001文件配置為例,後面同步修改7001為7002-7006就可以了
mkdir -p cluster/7001 cluster/7002 cluster/7003 cluster/7004 cluster/7005 cluster/7006 cp redis.conf cluster/7001 vim cluster/7001/redis.conf
主要修改以下幾處
port 7001 //端口7000,7002,7003 bind 127.0.0.1 //默認ip為127.0.0.1,所以本機可以不寫,如果是多臺機器需要改為其他節點機器可訪問的ip 否則創建集群時無法訪問對應的端口,無法創建集群 daemonize yes //redis後臺運行 pidfile /var/run/redis_7001.pid //pidfile文件對應7000,7001,7002 cluster-enabled yes //開啟集群 把註釋#去掉 cluster-config-file nodes_7001.conf //集群的配置 配置文件首次啟動自動生成 7001 cluster-node-timeout 15000 //請求超時 默認15秒,可自行設置 appendonly yes //aof日誌開啟 有需要就開啟,它會每次寫操作都記錄一條日誌
5.啟動剛剛創建的節點
redis-server3 cluster/7001/redis.conf redis-server3 cluster/7002/redis.conf redis-server3 cluster/7003/redis.conf redis-server3 cluster/7004/redis.conf redis-server3 cluster/7005/redis.conf redis-server3 cluster/7006/redis.conf
6.查看redis節點啟動情況,出現以下信息說明啟動正常
ps -ef|grep redis root 6106 1 0 15:49 ? 00:00:00 redis-server3 127.0.0.1:7001 [cluster] root 6112 1 0 15:49 ? 00:00:00 redis-server3 127.0.0.1:7003 [cluster] root 6116 1 0 15:49 ? 00:00:00 redis-server3 127.0.0.1:7004 [cluster] root 6120 1 0 15:49 ? 00:00:00 redis-server3 127.0.0.1:7005 [cluster] root 6124 1 0 15:49 ? 00:00:00 redis-server3 127.0.0.1:7006 [cluster] root 6689 1 0 15:50 ? 00:00:00 redis-server3 127.0.0.1:7002 [cluster]
netstat -tnlp|grep redis
tcp 0 0 127.0.0.1:7001 0.0.0.0:* LISTEN 6106/redis-server3
tcp 0 0 127.0.0.1:7002 0.0.0.0:* LISTEN 6689/redis-server3
tcp 0 0 127.0.0.1:7003 0.0.0.0:* LISTEN 6112/redis-server3
tcp 0 0 127.0.0.1:7004 0.0.0.0:* LISTEN 6116/redis-server3
tcp 0 0 127.0.0.1:7005 0.0.0.0:* LISTEN 6120/redis-server3
tcp 0 0 127.0.0.1:7006 0.0.0.0:* LISTEN 6124/redis-server3
tcp 0 0 127.0.0.1:17001 0.0.0.0:* LISTEN 6106/redis-server3
tcp 0 0 127.0.0.1:17002 0.0.0.0:* LISTEN 6689/redis-server3
tcp 0 0 127.0.0.1:17003 0.0.0.0:* LISTEN 6112/redis-server3
tcp 0 0 127.0.0.1:17004 0.0.0.0:* LISTEN 6116/redis-server3
tcp 0 0 127.0.0.1:17005 0.0.0.0:* LISTEN 6120/redis-server3
tcp 0 0 127.0.0.1:17006 0.0.0.0:* LISTEN 6124/redis-server3
6.創建集群
出現錯誤,看提示信息原來這個工具是基於ruby實現的,所以需要先安裝ruby
redis-trib.rb3 create --replicas 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require‘: cannot load such file -- redis (LoadError) from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require‘ from /usr/local/bin/redis-trib.rb3:25:in `<main>‘
安裝ruby,查看yum提供ruby的安裝,那直接用yum安裝就行了
yum list|grep ^ruby yum -y install ruby ruby-devel rubygems rpm-build gem install redis
重新創建集群
待續
如何創建redis集群