【Redis】Redis叢集搭建...爬坑日記
阿新 • • 發佈:2018-12-19
文章目錄
前言
說好的更新大資料…
抱歉,加班去搞了個redis叢集…
我把搞redis踩的坑都給你們說一下…
BigData 和 微服務 後續更新
小編昨晚搞到晚上3點… 給點面子… 轉載請註明作者~
準備
寫程式碼跟炒菜差不多。先準備好所有的東西,知識,材料就像菜一樣,準備好了再去慢慢炒菜。一開始不好吃,練習練習著會越來越有味道。並且是帶著自己味道的菜。
-
Redis-3.2.12 原始碼包
-
Ruby 2.2.2以上
-
RubyGems
-
三臺互通主機
爬坑準備
-
centos-release-7-5.1804.el7.centos.x86_64.rpm
-
wget-1.14-15.el7_4.1.x86_64.rpm
踩過的坑
小編Linux不太好…所以還沒深究太多,
這些坑只是表面現象。
很有可能是我自己沒配置好。
- 我安裝的centos7.4 minimal,沒安裝好…
- yum命令掛了…
- weg命令minimal裡面沒有…
- make install 編譯有坑…
- Node 192.168.31.60:7000 is not empty
- You need tcl 8.5 or newer in order to run the Redis test
Core - Code
- 準備三臺主機
-
建立好使用者redis,密碼(賬號,安裝路徑自己根據習慣)
$ useradd redis $ passwd redis
-
進入安裝目錄上傳redis原始碼包上去,並解壓
$ cd /home/redis
$ tar -zxvf redis-3.2.12.tar.gz
-
建立資料夾存放配置等檔案(後面看配置檔案會一一對應這些資料夾)
# 用於存放後面一些配置檔案 $ mkdir local $ cd local $ mkdir redis-3.2.12 $ cd redis-3.2.12 # 建立..建立..建立.. $ mkdir pid $ mkdir redis-cluster $ mkdir sbin
-
編譯一下原始碼
$ cd
-
建立配置檔案
# 埠作為資料夾名字 $ mkdir /home/redis/local/redis-3.2.12/redis-cluster/{7000,7001,7002} # 進入每個資料夾建立配置檔案 7000為例 $ cd /home/redis/local/redis-3.2.12/redis-cluster/7000 # 方法一自己建立redis.conf檔案 好處:沒那麼多註釋,容易看 $ touch redis.conf $ vi redis.conf # 方法二cp官方給的配置檔案 (推薦) 好處: 防止自己配置錯,官方就是官方 $ cp /home/redis/redis-3.2.12/redis.conf /home/redis/local/redis-3.2.12/redis-cluster/7000/ $ vi /home/redis/local/redis-3.2.12/redis-cluster/7000/redis.conf # 在vim下用/找到配置然後修改
-
vi redis.conf 寫入(修改)以下內容
# 埠7000,7001,7002,與目錄對應 port 7000 #預設ip為127.0.0.1,需要改為其他節點機器可訪問的ip,否則建立叢集時無法訪問對應的埠,無法建立叢集 bind 192.168.31.60 #redis後臺執行 daemonize yes #開啟叢集 cluster-enabled yes #叢集的配置,配置檔案首次啟動自動生成 7000,7001,7002 cluster-config-file nodes_7000.conf #請求超時,預設15秒,可自行設定 cluster-node-timeout 8000 #開啟aof持久化模式,每次寫操作請求都追加到appendonly.aof檔案中 appendonly yes #每次有寫操作的時候都同步 appendfsync always #redis服務日誌 logfile "/home/redis/local/redis-3.2.12/pid/redis.log" #pidfile檔案對應7000,7001,7002 pidfile /home/redis/local/redis-3.2.12/pid/redis_7000.pid
-
編寫啟動節點(叢集模式)指令碼
$ cd /home/redis/local/redis-3.2.12/sbin/bin/ $ vi start-redis.sh
-
指令碼內容
for((i=0;i<3;i++)); do /usr/local/bin/redis-server /home/redis/local/redis-3.2.12/redis-cluster/700$i/redis.conf; done
-
啟動指令碼
$ sh start-redis.sh
-
檢視程序和埠監聽
#檢視是否啟動成功 $ ps -ef | grep redis #可以看到redis監聽埠 $ netstat -tnlp | grep redis
- 另外兩臺主機
# 建立使用者,設定密碼這些都一樣
$ scp -r /home/redis/local [email protected]:/home/redis
$ scp -r /home/redis/local [email protected]:/home/redis
- 需要修改的地方 redis.conf
# redis.conf
# 61 主機
bind 192.168.31.61
# 62 主機
bind 192.168.31.61
# 7000埠,檔名等對應修改
- 啟動叢集
# 在其中一臺主機 我在192.168.31.60
$ /home/redis/redis-3.2.12/src/redis-trib.rb create --replicas 1 192.168.31.60:7000 192.168.31.60:7001 192.168.31.60:7002 192.168.31.61:7000 192.168.31.61:7001 192.168.31.61:7002 192.168.31.62:7000 192.168.31.62:7001 192.168.31.62:7002
爬坑日誌
稍後更新…
總結
遇到問題就查。哪怕不知道為什麼可以這樣解決,先記錄下來吧。
我的部落格為的是自己進步,也為遇到坑的人。
歡迎隨時交流。
linux作業系統多學點。
學習不是Ctrl+C+V
轉載註明一下,尊重下作者,謝謝