os:centos6.4node
redis:3.0.5redis
使用下載好的包redis-3.0.5.tar.gz或直接命令下載:
wget http://download.redis.io/releases/redis-3.0.5.tar.gz數據庫
將安裝包放到/soft/目錄下:mv redis-3.0.5.tar.gz /soft/vim
cp /soft/redis-3.0.5/redis.conf /data/redis-cluster/7000/centos
cp /soft/redis-3.0.5/redis.conf /data/redis-cluster/7001/ruby
cp /soft/redis-3.0.5/redis.conf /data/redis-cluster/7002/app
cp /soft/redis-3.0.5/redis.conf /data/redis-cluster/7003/測試
cp /soft/redis-3.0.5/redis.conf /data/redis-cluster/7004/ui
cp /soft/redis-3.0.5/redis.conf /data/redis-cluster/7005/命令行
vim /data/redis-cluster/7000/redis.conf
分別修改以上路徑的配置文件內容項:7000-7005
daemonize yes pidfile /var/run/redis_7000.pid port 7000 cluster-enabled yes cluster-config-file nodes_7000.conf cluster-node-timeout 15000 appendonly yes
cp /soft/redis-3.0.5/src/redis-trib.rb /usr/local/redis/bin/
/usr/local/redis/bin/redis-trib.rb create --replicas 1 127.0.0.1:7000 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
使用create命令 --replicas 1 參數表示爲每一個主節點建立一個從節點,其餘參數是實例的地址集合
建立成功:
9.1測試存取值
客戶端鏈接集羣redis-cli須要帶上 -c ,redis-cli -c -p 端口號
發如今幾個節點中跳來跳去。
9.2測試集羣節點選舉
查看集羣目前情況:/usr/local/redis/bin/redis-cli -c -p 7000 cluster nodes
能夠看出7000,7001,7002爲master節點,7003,7004,7005爲對應從節點
如今殺掉7001節點的進程,再看看集羣情況:
能夠看到,節點7001爲fail狀態,它的從節點7004被選舉爲master節點
如今咱們將7001節點從新啓動,看是否會自動加入集羣中以及充當master節點仍是slave節點。
能夠看到7001節點恢復了,成爲了7004節點的從節點。
daemonize:如須要在後臺運行,把該項的值改成yes
pdifile:把pid文件放在/var/run/redis.pid,能夠配置到其餘地址
bind:指定redis只接收來自該IP的請求,若是不設置,那麼將處理全部請求,在生產環節中最好設置該項
port:監聽端口,默認爲6379
timeout:設置客戶端鏈接時的超時時間,單位爲秒
loglevel:等級分爲4級,debug,revbose,notice和warning。生產環境下通常開啓notice
logfile:配置log文件地址,默認使用標準輸出,即打印在命令行終端的端口上
database:設置數據庫的個數,默認使用的數據庫是0
save:設置redis進行數據庫鏡像的頻率
rdbcompression:在進行鏡像備份時,是否進行壓縮
dbfilename:鏡像備份文件的文件名
dir:數據庫鏡像備份的文件放置的路徑
slaveof:設置該數據庫爲其餘數據庫的從數據庫
masterauth:當主數據庫鏈接須要密碼驗證時,在這裏設定
requirepass:設置客戶端鏈接後進行任何其餘指定前須要使用的密碼
maxclients:限制同時鏈接的客戶端數量
maxmemory:設置redis可以使用的最大內存
appendonly:開啓appendonly模式後,redis會把每一次所接收到的寫操做都追加到appendonly.aof文件中,當redis從新啓動時,會從該文件恢復出以前的狀態
appendfsync:設置appendonly.aof文件進行同步的頻率
vm_enabled:是否開啓虛擬內存支持
vm_swap_file:設置虛擬內存的交換文件的路徑
vm_max_momery:設置開啓虛擬內存後,redis將使用的最大物理內存的大小,默認爲0
vm_page_size:設置虛擬內存頁的大小
vm_pages:設置交換文件的總的page數量
vm_max_thrrads:設置vm IO同時使用的線程數量