這篇文章主要介紹“CentOS7怎么搭建Redis集群”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“CentOS7怎么搭建Redis集群”文章能幫助大家解決問題。
創(chuàng)新互聯(lián)建站專業(yè)IDC數(shù)據(jù)服務器托管提供商,專業(yè)提供成都服務器托管,服務器租用,服務器托管,服務器托管,成都多線服務器托管等服務器托管服務。CentOS 7搭建Redis5.0.5集群(三臺機器,3主3備) 準備工作 準備三臺centos 7的機器:如下圖機器的分配情況(每臺機器關閉防火墻): IP master節(jié)點 salve節(jié)點 192.168.0.166 redis-166:7001 redis-166:7002 192.168.0.167 redis-167:7001 redis-167:7002 192.168.0.168 redis-168:7001 redis-168:7002 設置三臺機器的/etc/hosts,每臺都要添加如下三行,保存退出 [root@localhost tools]# vim /etc/hosts 192.168.0.166 redis-166 192.168.0.167 redis-167 192.168.0.168 redis-168 1 2 3 4 官網(wǎng)下載redis-5.0.5版本: http://download.redis.io/releases/redis-5.0.5.tar.gz 把下載的包上傳到上面3臺centos中 開始安裝 我們以192.168.0.166機器安裝為例,其他兩臺只是配置文件的IP不一樣 如果centos中沒有gcc環(huán)境,則需要先安裝gcc。如果有就直接看下一步。 [root@localhost tools]# yum install -y gcc 1 解壓redis包到當前目錄下 [root@localhost tools]# tar -zxvf redis-5.0.5.tar.gz 1 進入剛解壓出來的redis目錄,開始編譯安裝 [root@localhost tools]# cd redis-5.0.5/ [root@localhost redis-5.0.5]# make && make PREFIX=/usr/local/redis install 1 2 查看是否編譯安裝成功,執(zhí)行 如下命令,如果輸出0 表示redis安裝成功了 [root@localhost redis-5.0.5]# echo $? 0 1 2 配置環(huán)境變量,在/etc/profile文件最后添加如下內容: [root@localhost tools]# vim /etc/profile ###### redis env ###### export REDIS_HOME=/usr/local/redis export PATH=$PATH:$REDIS_HOME/bin 1 2 3 4 5 其他167和168兩臺機器,安裝redis跟上面166機器完全一樣 集群配置 我們還是以192.168.0.166機器安裝為例,其他兩臺只是配置文件的IP不一樣 分別創(chuàng)建兩個7001和7002的配置文件目錄conf,日志目錄logs,數(shù)據(jù)存儲目錄data,如下命令: mkdir -p /usr/local/redis/redis_cluster/7001/conf/ mkdir -p /usr/local/redis/redis_cluster/7001/logs/ mkdir -p /usr/local/redis/redis_cluster/7001/data/ mkdir -p /usr/local/redis/redis_cluster/7002/conf/ mkdir -p /usr/local/redis/redis_cluster/7002/logs/ mkdir -p /usr/local/redis/redis_cluster/7002/data/ 1 2 3 4 5 6 7 創(chuàng)建7001的配置文件,并添加如下內容: vim /usr/local/redis/redis_cluster/7001/conf/redis.conf # 綁定服務器域名或IP地址 bind redis-166 # 設置端口,區(qū)分集群中Redis的實例 port 7001 # 后臺運行 daemonize yes # pid進程文件名,以端口號命名 pidfile /var/run/redis-7001.pid # 日志文件名稱,以端口號為目錄來區(qū)分 logfile /usr/local/redis/redis_cluster/7001/logs/redis.log # 數(shù)據(jù)文件存放地址,以端口號為目錄名來區(qū)分 dir /usr/local/redis/redis_cluster/7001/data # 啟用集群 cluster-enabled yes # 配置每個節(jié)點的配置文件,同樣以端口號為名稱 cluster-config-file nodes_7001.conf # 配置集群節(jié)點的超時時間 cluster-node-timeout 15000 # 啟動AOF增量持久化策略 appendonly yes # 發(fā)生改變,則記錄日志 appendfsync always 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 創(chuàng)建7002的配置文件,并添加如下內容: vim /usr/local/redis/redis_cluster/7002/conf/redis.conf # 綁定服務器域名或IP地址 bind redis-166 # 設置端口,區(qū)分集群中Redis的實例 port 7002 # 后臺運行 daemonize yes # pid進程文件名,以端口號命名 pidfile /var/run/redis-7002.pid # 日志文件名稱,以端口號為目錄來區(qū)分 logfile /usr/local/redis/redis_cluster/7002/logs/redis.log # 數(shù)據(jù)文件存放地址,以端口號為目錄名來區(qū)分 dir /usr/local/redis/redis_cluster/7002/data # 啟用集群 cluster-enabled yes # 配置每個節(jié)點的配置文件,同樣以端口號為名稱 cluster-config-file nodes_7002.conf # 配置集群節(jié)點的超時時間 cluster-node-timeout 15000 # 啟動AOF增量持久化策略 appendonly yes # 發(fā)生改變,則記錄日志 appendfsync always 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 其他167和168兩臺機器,集群配置跟上面166機器配置只是域名不同,其他設置都是一樣的 啟動集群 在保證上面166,167,168都配置完成后,開始啟動166,167,168各節(jié)點 redis-server /usr/local/redis/redis_cluster/7001/conf/redis.conf redis-server /usr/local/redis/redis_cluster/7002/conf/redis.conf 1 2 查看各機器上的各節(jié)點是否都啟動成功 [root@localhost redis-5.0.5]# ps -ef | grep redis root 6460 1 0 14:14 ? 00:00:10 /usr/local/redis/bin/redis-server redis-166:7001 [cluster] root 6471 1 0 14:14 ? 00:00:10 /usr/local/redis/bin/redis-server redis-166:7002 [cluster] 1 2 3 4 [root@localhost redis-5.0.5]# ps -ef | grep redis root 6532 1 0 14:14 ? 00:00:10 /usr/local/redis/bin/redis-server redis-167:7001 [cluster] root 6548 1 0 14:14 ? 00:00:10 /usr/local/redis/bin/redis-server redis-167:7002 [cluster] 1 2 3 4 [root@localhost redis-5.0.5]# ps -ef | grep redis root 6486 1 0 14:14 ? 00:00:10 /usr/local/redis/bin/redis-server redis-168:7001 [cluster] root 6498 1 0 14:14 ? 00:00:10 /usr/local/redis/bin/redis-server redis-168:7002 [cluster] 1 2 3 4 使用 reids-cli 創(chuàng)建Redis集群 (注:這里必須使用IP,如果使用像redis-166這樣的域名,則會報錯,具體原因我也不清楚) redis-cli –cluster create 192.168.0.166:7001 192.168.0.167:7001 192.168.0.168:7001 192.168.0.166:7002 192.168.0.167:7002 192.168.0.168:7002 –cluster-replicas 1 1 查看我們剛創(chuàng)建集群的狀態(tài),如下命令:(在3臺集群中的任意一臺機器查看任意節(jié)點都一樣,會帶出所有的節(jié)點信息) [root@localhost redis-5.0.5]# redis-cli –cluster check 192.168.0.167:7001 192.168.0.167:7001 (b909c05c…) -> 0 keys | 5462 slots | 1 slaves. 192.168.0.166:7001 (e136a43b…) -> 0 keys | 5461 slots | 1 slaves. 192.168.0.168:7001 (4bf0b7df…) -> 1 keys | 5461 slots | 1 slaves. [OK] 1 keys in 3 masters. 0.00 keys per slot on average. >>> Performing Cluster Check (using node 192.168.0.167:7001) M: b909c05ca4c89695fee7b4799050312ed20c989e 192.168.0.167:7001 slots:[5461-10922] (5462 slots) master 1 additional replica(s) M: e136a43b8dbfd7612f48fe2c17e33203d5329eed 192.168.0.166:7001 slots:[0-5460] (5461 slots) master 1 additional replica(s) M: 4bf0b7df6ce34ad2d3ee87ab500b200f3ae64cee 192.168.0.168:7001 slots:[10923-16383] (5461 slots) master 1 additional replica(s) S: 84ada651baf494cbcdbfe26232b0061146260a3d 192.168.0.167:7002 slots: (0 slots) slave replicates e136a43b8dbfd7612f48fe2c17e33203d5329eed S: 4b9a181365ba49dde3def4d9d562c5a4d4ef657e 192.168.0.166:7002 slots: (0 slots) slave replicates 4bf0b7df6ce34ad2d3ee87ab500b200f3ae64cee S: 02c3fc75bc6e6d4e070563f2b42a41f2616f66a5 192.168.0.168:7002 slots: (0 slots) slave replicates b909c05ca4c89695fee7b4799050312ed20c989e [OK] All nodes agree about slots configuration. >>> Check for open slots… >>> Check slots coverage… [OK] All 16384 slots covered. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 測試集群是否正常: 在集群中的任意一臺測試都可以,如我們可以在166上連接167上的7002節(jié)點并添加一個數(shù)據(jù) [root@localhost redis-5.0.5]# redis-cli -c -h 192.168.0.167 -p 7002 192.168.0.167:7002> set key001 helloRredis -> Redirected to slot [274] located at 192.168.0.166:7001 OK 192.168.0.166:7001> get key001 “helloRredis” 192.168.0.166:7001> 1 2 3 4 5 6 7 8 再去167上連接7001節(jié)點和168上連接7001或者7002看是否可以查詢到數(shù)據(jù) [root@localhost redis-5.0.5]# redis-cli -c -h 192.168.0.167 -p 7001 192.168.0.167:7001> get key001 -> Redirected to slot [274] located at 192.168.0.166:7001 “helloRredis” 192.168.0.166:7001> 1 2 3 4 5 6 [root@localhost redis-5.0.5]# redis-cli -c -h 192.168.0.168 -p 7002 192.168.0.168:7002> get key001 -> Redirected to slot [274] located at 192.168.0.166:7001 “helloRredis” 192.168.0.166:7001> 1 2 3 4 5 6 出現(xiàn)上面的結果,說明我們搭建的集群運作正常 如果需要配置開機自啟動,添加如下兩行:(每臺機器都要配置),保存退出即可。以后開機就會自動啟動集群 [root@localhost redis-5.0.5]# vim /etc/rc.local /usr/local/redis/bin/redis-server /usr/local/redis/redis_cluster/7001/conf/redis.conf /usr/local/redis/bin/redis-server /usr/local/redis/redis_cluster/7002/conf/redis.conf 1 2 3 4 如果上面設置了,還是不能開機自啟動,則有可能是/etc/rc.d/rc.local沒有執(zhí)行權限,需要給一個執(zhí)行權限,如下: [root@localhost redis-5.0.5]# chmod +x /etc/rc.d/rc.local 1 |
關于“CentOS7怎么搭建Redis集群”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。