Redis 發佈的 5.x 系列和5.x以前的版本,進行集羣的構建方式有所調整而並不通用。html
Redis是C語言開發的,安裝redis須要C語言的編譯環境。若是沒有gcc須要在線安裝。
CentOS:node
yum install gcc tcl yum install gcc-c++
Ubuntu:c++
apt-get update apt-get upgrade apt-get install gcc # 或者 # 命令:>apt-get install build-essential # 在make時可能出現錯誤" error: jemalloc/jemalloc.h: No such file or directory",經過以下命令解決。 # 命令:>make MALLOC=libc
apt-get install ruby gem install redis
2018年十月 Redis 發佈了穩定版本的 5.0 版本,推出了各類新特性,其中一點是放棄 Ruby的集羣方式,改成 使用 C語言編寫的 redis-cli的方式,是集羣的構建方式複雜度大大下降。關於集羣的更新能夠在 Redis5 的版本說明中看到,以下:web
The cluster manager was ported from Ruby (redis-trib.rb) to C code inside redis-cli. check `redis-cli --cluster help ` for more info.
能夠查看Redis官網查看集羣搭建方式,鏈接以下:
https://redis.io/topics/cluster-tutorialredis
mkdir ~/temp cd ~/temp
# redis5.x wget http://download.redis.io/releases/redis-5.0.0.tar.gz tar -zxvf redis-5.0.0.tar.gz cd redis-5.0.0 make PREFIX=/home/weblogic/redis install # redis4.x wget http://download.redis.io/releases/redis-4.0.8.tar.gz tar -zxvf redis-5.0.0.tar.gz cd redis-5.0.0 make PREFIX=/home/weblogic/redis install
服務器上搭建有6個節點的 Redis集羣,在路徑爲/home/weblogic/redis/redis-cluster下建立6個文件夾表明6個實例。ruby
# 6個配置文件不能在同一個目錄 mkdir 7000 7001 7002 7003 7004 7005
分別給六個文件夾,建立日誌、數據和配置文件存放路徑:bash
# 示例:/home/weblogic/redis/redis-cluster/7000/conf mkdir /home/weblogic/redis/redis-cluster/文件名/conf # 示例:/home/weblogic/redis/redis-cluster/7000/conf mkdir /home/weblogic/redis/redis-cluster/文件名/log # 示例:/home/weblogic/redis/redis-cluster/7000/conf mkdir /home/weblogic/redis/redis-cluster/文件名/data
進去安裝redis的目錄分別將 redis.config 配置文件 cp 到這6個目錄,並將6個目錄下的redis.config分別重名命爲「文件名.config」,例如:7000.config服務器
。app
port 7000 # 修改端口號對應目錄的端口號 bind 0.0.0.0 # Ip綁定 綁定本機ip或者改成 0.0.0.0 /home/weblogic/redis/redis-cluster/7000 # 數據位置dir ./ 改成>dir /home/weblogic/redis/redis-cluster/7000/data cluster-enabled yes # 啓用集羣模式 cluster-config-file nodes-7000.conf # 集羣模式中節點的配置文件 cluster-node-timeout 5000 # 超時時間 appendonly yes # redis數據持久化開啓,開啓AOF模式 daemonize yes # 後臺運行 protected-mode no # 非保護模式,容許 Redis 遠程訪問 pidfile /home/weblogic/redis/redis-cluster/7000/data/redis_7000.pid # pidfile 須要隨着文件夾的不一樣調增 # 如需密碼則修改以下配置 requirepass "guoyuan" # 在:# requirepass foobared 下新增密碼配置 masterauth "密碼" # masterauth <master-password> 下新增密碼配置
# 進入redis的src目錄啓動redis (加載制定配置文件啓動的方式) 6個都要啓動,注意換配置文件位置 redis-server /home/weblogic/redis/redis-cluster/7000/7000.conf redis-server /home/weblogic/redis/redis-cluster/7000/7001.conf redis-server /home/weblogic/redis/redis-cluster/7000/7002.conf redis-server /home/weblogic/redis/redis-cluster/7000/7003.conf redis-server /home/weblogic/redis/redis-cluster/7000/7004.conf redis-server /home/weblogic/redis/redis-cluster/7000/7005.conf # ps進程看看是否都啓動 ps -ef|grep redis
# 進入redis的src目錄 ./redis-trib.rb create --replicas 1 0.0.0.0:7000 0.0.0.0:7001 0.0.0.0:7002 0.0.0.0:7003 0.0.0.0:7004 0.0.0.0:7005
安裝過程當中,輸入yes:ide
無報錯,結尾出現[OK]即建立成功!
# redis5.x用redis-cli方式 不用redis4.x用的redis-trib.rb方式 /home/weblogic/redis/src/redis-cli --cluster create 0.0.0.0:7000 0.0.0.0:7001 0.0.0.0:7002 0.0.0.0:7003 0.0.0.0:7004 0.0.0.0:7005 --cluster-replicas 1
安裝過程當中,輸入yes:
至此,Reids5 集羣搭建完成。
3、Redis5集羣其餘操做
Redis5 提供了關閉集羣的工具,在以下目錄:
/home/weblogic/redis/utils/create-cluster
打開此文件修改端口爲咱們本身的,以下所示:
端口PROT設置爲6379,NODES爲6,工具會自動累加1 生成 7000-7005 六個節點 用於操做。
3.1 修改後,執行以下命令關閉集羣:
/home/weblogic/redis/utils/create-cluster/create-cluster stop
3.2 從新啓動集羣
/home/weblogic/redis/utils/create-cluster/create-cluster start
3.3 使用腳本文件啓動集羣
#!/bin/sh /home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7000/7000.conf /home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7001/7001.conf /home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7002/7002.conf /home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7003/7003.conf /home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7004/7004.conf /home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7005/7005.conf /home/weblogic/redis/src/redis-cli --cluster create 0.0.0.0:7000 0.0.0.0:7001 0.0.0.0:7002 0.0.0.0:7003 0.0.0.0:7004 0.0.0.0:7005 --cluster-replicas 1
----------------------------------------------------
本文爲博主原創文章,轉載請註明出處!
----------------------------------------------------