<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
1.下載原始碼包:
wget http://download.redis.io/releases/redis-6.0.7.tar.gz
2.解壓到指定目錄下:
tar xf redis-6.0.7.tar.gz -C /usr/local/
下載編譯安裝Redis的依賴,因為Redis是C語言編寫的,所以主要安裝C的編譯環境
yum install gcc g++ gcc-c++ make -y
進入redis資料夾進行編譯安裝
cd /usr/local/redis-6.0.7 # 開始編譯 make -j 2
編譯安裝過程中出現大量錯誤如下圖所示:
這是因為安裝6版本的Redis需要5.3以上版本的gcc,而先前YUM安裝的gcc預設安裝的是4.8.5版本。
# 檢視gcc版本 gcc -v 顯示gcc版本為4.8.5,需要升級gcc
升級gcc到9版本
yum install centos-release-scl -y yum install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils -y
然後啟用gcc 9。我看到有些部落格中寫到啟用gcc9的方法如下
# 臨時啟用gcc 9 scl enable devtoolset-9 bash # 長期啟用gcc 9 echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile #使設定生效 source /etc/profile
這種臨時啟用的方法發現單獨在終端執行沒有問題,不過把它寫到指令碼裡執行的時候,執行到這一句就會退出指令碼。所以在指令碼中我直接使用source /opt/rh/devtoolset-9/enable臨時啟用gcc 9。
執行完畢後gcc升級到9.3.1版本
升級好gcc後重新編譯
# 清除之前編譯的可執行檔案及組態檔。 make clean make -j 2 make install
在redis的src目錄下執行./redis-server,出現如下介面說明Redis算是裝好了。不過有幾個警告需要處理一下,解決的方法在警告資訊中已經給出了。
#啟動redis服務 [root@mysql_master src]# ./redis-server #解決警告資訊 # 第一個警告的解決方法 echo net.core.somaxconn=511 >> /etc/sysctl.conf # 第二個警告的解決方法 echo vm.overcommit_memory=1 >> /etc/sysctl.conf # 使/etc/sysctl.conf生效 sysctl -p # 第三個警告的解決方法 echo never > /sys/kernel/mm/transparent_hugepage/enabled #之後再重新執行./redis-server,可以看到,警告資訊消失了。Redis服務順利啟動。
此時Redis服務在前臺執行,修改Redis的組態檔,讓Redis服務可以在後臺執行
vim /usr/local/redis-6.0.7/redis.conf 將daemonize no改為daemonize yes,然後使用組態檔重新啟動redis 關閉加密保護,修改資料儲存路徑....... #redis已成功在後臺啟動 [root@mysql_master redis-6.0.7]# ./src/redis-server redis.conf #測試redis是否正常工作 [root@mysql_master redis-6.0.7]# ./src/redis-cli [root@mysql_master src]# ./redis-cli 127.0.0.1:6379> ping PONG
後臺啟動:
啟動主結點的redis服務
[root@mysql_master redis-6.0.7]# ./src/redis-server redis.conf
修改兩臺從結點的redis.conf組態檔,指定主節點ip和埠
注意:redis6版本和redis4版本設定主從的名稱不一樣
replicaof 192.168.232.11 6379 主ip+主埠
修改完後啟動兩臺從的redis,讀取redis.conf才能生效
[root@mysql_slave1 redis-6.0.7]# ./src/redis-server redis.conf
部署Sentinel:
#檢視sentinel.conf裡面設定資訊 [root@mysql_master redis-6.0.7]# grep -Ev "^$|#" sentinel.conf 三臺都要設定,具體內容如下所示,可以刪完然後複製上去 ############################################################### port 26379 daemonize yes #後臺啟動 pidfile /var/run/redis-sentinel.pid logfile "/var/log/redis/sentinel.log" sentinel announce-ip 0.0.0.0 dir /tmp sentinel monitor mymaster 192.168.232.11 6379 1 sentinel down-after-milliseconds mymaster 5000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 60000 sentinel deny-scripts-reconfig yes ##############################################################
注意:一定要開啟後臺啟動,否則Ctrl+c退出,sentinel會自動關閉
啟動,三臺都要啟動
#讀取sentinel組態檔,三臺都一樣啟動 [root@mysql_master redis-6.0.7]# ./src/redis-sentinel sentinel.conf #檢視程序是否啟動: [root@mysql_master redis-6.0.7]# ps -ef | grep redis-sentinel
sentinel操作
[root@mysql_master redis-6.0.7]# ./src/redis-sentinel sentinel.conf [root@mysql_master redis-6.0.7]# ./src/redis-cli -p 26379 127.0.0.1:26379> sentinel master mymaster 1) "name" 2) "mymaster" 3) "ip" 4) "192.168.232.11" 5) "port" 6) "6379" 7) "runid" 8) "4e5793b30c65c08c1f784a045dbb81f8a327414f" 9) "flags" 10) "master" 127.0.0.1:26379> sentinel slaves mymaster 1) 1) "name" 2) "192.168.232.12:6379" 3) "ip" 4) "192.168.232.12" 5) "port" 6) "6379" 7) "runid" 8) "7172974215efed734fd000bcd9fcc340dd8796ae" 9) "flags" 10) "slave" 11) "link-pending-commands" 2) 1) "name" 2) "192.168.232.20:6379" 3) "ip" 4) "192.168.232.20" 5) "port" 6) "6379" 7) "runid" 8) "9a4f10acbd6c339df8930a1478455ecaffc8c5ca" 9) "flags" 10) "slave"
1.準備三機器,關閉防火牆和selinux
2.製作解析並相互做解析,即三臺互相ping通,主機名可改可不改。
注:規劃架構兩種方案,一種是單機多範例,這裡我們採用多機器部署:
三臺機器,每臺機器上面兩個redis範例,一個master一個slave,第一列做主庫,第二
列做備庫
#記得選出控制節點 redis-cluster01 192.168.232.11 7000、7001 redis-cluster02 192.168.232.12 7002、7003 redis-cluster03 192.168.232.20 7004、7005
1、redis安裝 ,注意3臺機器都需要安裝redis 服務
建立範例目錄
#先裝一個工具tree yum install tree #建立節點目錄:按照規劃在每臺redis節點的安裝目錄中建立對應的目錄(以埠號命名) #具體建立過程不再描述 檢視目錄結構(六臺) [root@mysql_master src]# cd /redis [root@mysql_master redis]# tree . └── cluster ├── 7000 │ ├── conf │ │ ├── nodes.conf │ │ └── redis.conf │ ├── data │ │ ├── appendonly.aof │ │ └── dump.rdb │ ├── log │ │ └── redis.log │ └── redis.pid └── 7001 ├── conf │ ├── nodes.conf │ └── redis.conf ├── data │ ├── appendonly.aof │ └── dump.rdb ├── log │ └── redis.log └── redis.pid #其他五臺除了名字不一樣,組態檔不一樣,其他都一樣
設定官方組態檔,去掉#開頭的和空格行
#cat redis.conf | grep -v ^# | grep -v ^$
修改組態檔
[root@mysql_master redis]# cd cluster/7000/conf [root@mysql_master conf]# cat redis.conf bind 0.0.0.0 protected-mode no port 7000 daemonize yes dir /redis/cluster/7000/data cluster-enabled yes cluster-config-file /redis/cluster/7000/conf/nodes.conf cluster-node-timeout 5000 appendonly yes daemonize yes pidfile /redis/cluster/7000/redis.pid logfile /redis/cluster/7000/log/redis.log #其他五臺修改一下目錄
建立叢集
注意:建立叢集:在其中一個節點操作就可以
redis節點搭建起來後,需要完成redis cluster叢集搭建,搭建叢集過程中,需要保證6個redis範例都是執行狀態
Redis是根據IP和Port的順序,確定master和slave的,所以要排好序,再執行。 引數: --cluster-replicas 1:表示為叢集中的每個主節點建立一個從節點.書寫流程:主節點 ip+port 對應一個從節點ip+port(正常是前面三個節點為主節點,後面的為從節點) #先把六臺redis啟動起來再啟動叢集 [root@mysql_master src]# ./redis-server /redis/cluster/7000/conf/redis.conf [root@mysql_master src]# ./redis-server /redis/cluster/7001/conf/redis.conf [root@mysql_master src]# ./redis-cli --cluster create --cluster-replicas 1 192.168.232.11:7000 192.168.232.11:7001 192.168.232.12:7002 192.168.232.12:7003 192.168.232.20:7004 192.168.232.20:7005 .................... 輸入yes,等待叢集建立 出現以下資訊證明建立成功 [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
檢視是否切換成叢集模式
[root@mysql_master conf]# ps -ef | grep redis
轉載請註明出處,未完待續...
到此這篇關於linux伺服器中搭建redis6.0.7叢集的文章就介紹到這了,更多相關搭建redis6.0.7內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45