redis集群安裝
Redis集群安裝
1 環境準備
1.1 系統環境
Centos6.5 2.6.32-431.el6.x86_64
1.2 依賴包
yum -y install wget tcpdump glibc libgcc gcc gcc-c++ ncurses-devel bison openssl openssl-devel xinetd glibc glibc-common gd gd-devel rsync puppet ntp perl cmake man tree lsof openssh-clients traceroute lsb glibc-2.12-1.132.el6.i686 libgcc-4.4.7-4.el6.i686 vim strace readline-devel tcl tcl-devel python-devel libnl-devel unzip lrzsz(
yum -y install ruby ruby-devel ruby-rdoc tcl tcl-devel
1.3 軟件
- a. redis-3.0.3.tar.gz(公司使用3.0.3版本)
- b. rubygems-1.8.7.gz
- c. redis-3.2.1.gem
2 安裝過程
2.1 將redis-3.0.3.tar.gz解壓到/opt/目錄下,並重命名為redis並編譯
tar –zxvf redis-3.0.3.tar.gz
mv redis-3.0.3 /opt/redis
make
2.2 將rubygems-1.8.7.gz解壓到/opt/redis/下
tar -zxvf rubygems-1.8.7.gz
mv rubygems-1.8.7 /opt/redis/
2.3 進入/opt/redis/rubygems-1.8.7/,運行命令ruby setup.rb命令
cd /opt/redis/rubygems.1.8.7/
ruby setup.rb
2.4 拷貝redis-3.2.1.gem到/opt/redis/下,運行gem install /opt/redis/redis-3.2.1.gem
cp redis-3.2.1.gem /opt/redis/
gem install redis-3.2.1.gem
3 集群搭建
3.1 在/opt/redis/下新建目錄cluster
mkdir /opt/redis/cluster
3.2 在cluster下新建文件夾7000-7005
註:7000-7005是redis實際發布的端口號。若集群搭建在不同主機上,則分別在各主機建立各自端口號對應的文件夾即可。
cd /opt/redis/cluster
mkdir 7000 7001 7002 7003 7004 7005
3.3 修改配置文件/opt/redis/redis.conf,修改如下內容
daemonize no 為 yes
appendonly no 為yes
在appendonly yes後新增:
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
3.4 將redis.conf分別復制到7000-7005中
cp redis.conf /opt/redis/cluster/7000/
cp redis.conf /opt/redis/cluster/7001/
cp redis.conf /opt/redis/cluster/7002/
cp redis.conf /opt/redis/cluster/7003/
cp redis.conf /opt/redis/cluster/7004/
cp redis.conf /opt/redis/cluster/7005/
3.5 分別將各文件中redis.conf中的端口號替換為文件對應端口號,例如7000下的redis.conf
sed –i ‘s#6379#7000#g’ /opt/redis/cluster/7000/redis.conf
3.6 分別進入7000-7005,然後啟動7000-7005實例
cd /opt/redis/cluster/7000/
./../../src/redis.server redis.conf &
cd /opt/redis/cluster/7001/
./../../src/redis.server redis.conf &
cd /opt/redis/cluster/7002/
./../../src/redis.server redis.conf &
cd /opt/redis/cluster/7003/
./../../src/redis.server redis.conf &
cd /opt/redis/cluster/7004/
./../../src/redis.server redis.conf &
cd /opt/redis/cluster/7005/
./../../src/redis.server redis.conf &
3.7 創建集群
進入/opt/redis/src/,執行如下命令:
./redis-trib.rb create --replicas 1 172.16.19.8:7000 172.16.19.9:7001 172.16.19.10:7002 172.16.19.11:7003 172.16.19.12:7004 172.16.19.13:7005
命令解釋:
redis-trib.rb 是搭建集群的命令
--replicas 1 是指為每個MASTER分配一個SLAVE,集群需要六個節點(官方推薦配置)
--replicas 0是指只有三個MASTER,沒有SLAVE,集群有三個節點(不采用)
172.16.19.8:7000是指對應redis服務器的IP地址以及redis服務配置的端口
此外,啟動後redis會詢問是否需要保存集群配置信息,敲yes,然後系統會自動選擇誰做主機誰備份
4 查看集群狀態
通過客戶端,進去集群控制臺。運行如下命令:
cd /opt/redis/src
./redis-cli –c –p 7000 ----其中-c是以集群方式進去–p是選擇進入端口號
查看集群信息:cluster info
127.0.0.1:7001> cluster info
cluster_state:ok ------集群狀態ok說明集群狀態正常
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:24
cluster_my_epoch:24
cluster_stats_messages_sent:21294261
cluster_stats_messages_received:5858767
查看集群節點信息:cluster nodes
redis集群安裝