婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Redis集群的離線安裝步驟及原理詳析

Redis集群的離線安裝步驟及原理詳析

熱門標簽:地圖標注工廠入駐 b2b外呼系統 四川穩定外呼系統軟件 南京手機外呼系統廠家 一個地圖標注多少錢 400電話辦理的口碑 高碑店市地圖標注app 廊坊外呼系統在哪買 臺灣電銷

前言

本文主要是記錄一下Redis集群在linux系統下離線的安裝步驟,畢竟在生產環境下一般都是無法聯網的,Redis的集群的Ruby環境安裝過程還是很麻煩的,涉及到很多的依賴的安裝,所以寫了一個文章來進行記錄。本文分為兩部分,第一部分先通過原生命令的安裝來實現redis集群的部署,通過原生命令的安裝對于了解redis集群的實現原理有很大的幫助,第二部分通過官方工具Ruby來進行Redis集群的安裝,通過Ruby安裝Redis集群的時候主要是搭建好Ruby環境,真正Redis集群的安裝配置通過Ruby還是很簡單的。

一、通過原生命令安裝Redis集群(僅做理解Redis集群原理使用)    

      1.配置開啟所需要的Redis節點     

     因為這里只是做一個簡單的Redis集群原理演示,所以假設此時Redis服務已經安裝完畢,在config文件夾下創建六個redis.conf配置文件,分別為redis-7000.conf、redis-7001.conf、redis-7002.conf、redis-7003.conf、redis-7004.conf、redis-7005.conf。其內容如下:

port ${port}
daemonize yes
dir "/opt/redis/redis/data/"
dbfilename "dump-${port}.rdb"
logfile "${port}.log"
cluster-enabled yes //開啟節點的集群功能
cluster-config-file nodes-${port}.conf
cluster-require-full-coverage no
cluster-node-timeout 15000

     依次啟動六個redis后臺服務

     redis-server redis-7000.conf
     redis-server redis-7001.conf
     redis-server redis-7002.conf
     redis-server redis-7003.conf
     redis-server redis-7004.conf
     redis-server redis-7005.conf

ps -ef | grep redis查看啟動情況:

    

  2.通過集群命令meet完成節點之間的相互通信    

    meet:cluster meet ip port
    redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7001
    redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7002
    redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7003
    redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7004
    redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7005

    通過端口為7000的節點,其他的節點也可以相互感知到對方的存在,然后每兩個節點之間都會通信。

    驗證:登錄端口號為7000節點以后,分別輸入cluster nodes和cluster info 命令。

    

  3.指派槽

    完成了節點之間的通信以后,就需要給每個主節點分配虛擬槽,一共存在16384個slot,redis節點之間互相知道哪個槽在哪個節點上,如果數據訪問到了不屬于自己的槽的redis,redis會告訴數據應該去訪問哪個redis

    指派槽的命令:cluster addslots slot[slot...]

    redis-cli -h 127.0.0.1 -p 7000 cluster addslots {0...5641}
    redis-cli -h 127.0.0.1 -p 7001 cluster addslots {5642...10922}
    redis-cli -h 127.0.0.1 -p 7002 cluster addslots {10923...16383}

    在這里發現使用addslots 只能一個一個輸入,感覺非常扯,使用數組的方式redis會報錯,用網上的解決辦法是將大括號里的 三個點改為兩個點,我試了試不行的,如果有什么好的解決辦法可以提供一下。    

  4.配置節點的主從關系    

    cluster replicate node-id
    redis-cli -h 127.0.0.1 -p 7003 cluster replicate ${node-id-7000}
    redis-cli -h 127.0.0.1 -p 7004 cluster replicate ${node-id-7001}
    redis-cli -h 127.0.0.1 -p 7005 cluster replicate ${node-id-7002}

    到此通過原生命令安裝Redis集群就已經完成了,中間的步驟存在問題,無法分配slots,但是可以幫助簡單的理解一下由Redis的單節點到Redis的集群都需要做什么工作。 

 二、通過Ruby離線安裝Redis集群    

  1.安裝環境以及安裝包說明

系統:Centos7(安裝的時候選擇安裝了gcc)
安裝包:redis-4.0.6.tar.gz //redis 的安裝包
    ruby-2.5.6.tar.gz //集群搭建需要Ruby環境
    rubygems-3.0.6.zip //redis集群需要的ruby插件,rubygems是ruby的一個包管理工具,通過rubygems安裝redis-3.2.2.gem
    zlib-1.2.11.tar.gz //可能缺少的基礎環境zlib
    openssl-1.0.2t.tar.gz //可能缺少的基礎環境openssl

  2.安裝步驟      

   (1)解壓編譯redis

mkdir /usr/local/redis //創建redis工作目錄
cp redis-4.0.6.tar.gz /usr/local/redis //將redis的安裝包拷貝到redis目錄下
cd /usr/local/redis //進去redis文件下
tar -vxf redis-4.0.6.tar.gz //解壓縮
ln -s redis-4.0.6 redis //建立軟連接
cd redis //進入redis目錄下
make  make install //編譯安裝redis

      (2)創建集群目錄

cd /usr/local/redis
mkdir redis_cluster //在redis安裝目錄下創建redis_cluster目錄
mkdir redis700{0,1,2,3,4,5}//批量創建六個redis節點工作目錄,三主三從。

    

  (3)配置redis.conf

     cd /usr/local/redis/redis_cluster //進去集群工作目錄

     vim redis.conf //創建redis.conf文件并添加一下內容

port 7000 //配置集群的端口
bind 本機的IP //這里的默認配置是127.0.0.1改為內網ip。
daemonize yes //允許redis在后臺運行
pidfile /var/run/redis-7000.pid //改成和端口一致
cluster-enabled yes // 開啟集群 把注釋去掉
cluster-config-file node-7000.conf //集群的配置,和端口一致
cluster-node-timeout 15000 // 請求超時,默認為15秒
appendonly yes // aof日志開啟,有需要就開啟,每一次寫操作都會記錄一條日志。

    將redis.conf 分別copy到六個節點的文件下

    cp redis.conf redis7000/ //將配置文件拷貝到redis7000節點的工作目錄下
    cp redis.conf redis7001/
    cp redis.conf redis7002/
    cp redis.conf redis7003/
    cp redis.conf redis7004/
    cp redis.conf redis7005/


    因為配置文件是根據7000端口模本的配置寫的,所以除了redis7000目錄下的redis.conf,其他工作目錄下的配置文件都需要將文件內容中的端口號修改為對應的工作目錄的端口號。   

   (4)啟動服務      

    cd /usr/local/redis/redis_cluster
    依次啟動所有節點
    redis-server redis7000/redis.conf
    redis-server redis7001/redis.conf
    redis-server redis7002/redis.conf
    redis-server redis7003/redis.conf
    redis-server redis7004/redis.conf
    redis-server redis7005/redis.conf

    查看啟動情況:ps -ef | grep redis

    

    (5)安裝ruby

mkdir /usr/local/ruby //創建ruby工作目錄
cp ruby-2.5.6.tar.gz /usr/local/ruby //將安裝包拷貝到該目錄下
cd /usr/local/ruby //進入ruby工作目錄
tar -vxf ruby-2.5.6.tar.gz // 解壓縮
cd ruby-2.5.6/
./configure
make  make install

     查看安裝情況:ruby -v

    

    (6)安裝rubygems

mkdir /usr/local/rubygems //創建rubygems工作目錄
cp rubygems-3.0.6.zip /usr/local/rubygems //將安裝包拷貝到該目錄下
cd /usr/local/rubygems //進入ruby工作目錄
unzip rubygems-3.0.6.zip // 解壓縮
cd rubygems-3.0.6/
ruby setup.rb

    執行ruby setup.rb 的時候出現以下錯誤:


      解決辦法:缺少了zlib包,需要安裝zlib。    

    (7)安裝zlib

mkdir /usr/local/zlib //創建zlib工作目錄
cp zlib-1.2.11.tar.gz /usr/local/zlib //將安裝包拷貝到該目錄下
cd /usr/local/zlib //進入zlib工作目錄
tar -vxf zlib-1.2.11.tar.gz // 解壓縮
cd zlib-1.2.11/
./configure --prefix=/usr/local/zlib

make
make install

    (8)編譯ruby中的zlib       

cd /usr/local/ruby/ruby-2.5.6/ext/zlib/
ruby extconf.rb

     出現以下錯誤信息:


     發現原來是要將文件安裝到本地運行庫的里面才行,所有安裝的時候需要額外配置信息。重新執行一下命令:

ruby extconf.rb --with-zlib-include=/usr/local/zlib/include/ --with-zlib-lib=/usr/local/zlib/lib //會生成一個Makefile文件


    繼續下一步:make make install

    又出現報錯信息:


    這個時候打開ext/zlib/Makefile文件,找到下面一行把路徑進行修改一下。

    zlib.o: $(top_srcdir)/include/ruby.h 改成:zlib.o: ../../include/ruby.h

    如下圖:


    修改完成,然后保存,然后重新:make make install


  zlib的錯誤都解決以后再繼續重新安裝rubygems。

cd /usr/local/rubygems/rubygems-3.0.6
ruby setup.rb

這次就安裝成功了,如下圖:

    

    (9)安裝redis-3.0.0.gem

cp redis-3.0.0.gem /usr/local/redis/redis
cd /usr/local/redis/redis
gem install redis-3.3.0.gem

    出現以下錯誤信息:


   因為Redis集群交互是需要OpenSSL,所系我們還需要安裝OpenSSL。    

    (10)安裝openssl

mkdir /usr/local/openssl //創建openssl工作目錄
cp openssl-1.0.2t.tar.gz /usr/local/openssl //將安裝包拷貝到該目錄下
cd /usr/local/openssl //進入openssl工作目錄
tar -vxf openssl-1.0.2t.tar.gz // 解壓縮
cd openssl-1.0.2t/
./config -fPIC --prefix=/usr/local/openssl enable-shared
./config -t
make  make install

    安裝成功:

    

    (11)編譯ruby中的openssl

cd /usr/local/ruby/ruby-2.5.6/ext/openssl/
ruby extconf.rb --with-openssl-include=/usr/local/openssl/include/ --with-openssl-lib=/usr/local/openssl/lib 此時會生成Makefile文件,下面出現的錯誤需要修改本文件
make  make install

    出現以下錯誤信息:


    解決辦法:vim Makefile 把Makefile文件中所有的 $(top_srcdir) 換成 ../.. 注意替換所有

    替換完成后,重新進行

make  make install

    安裝成功:


    安裝成功以后繼續進行第九步的安裝redis-3.0.0.gem

cd /usr/local/redis/redis/
gem install redis-3.0.0.gem

    安裝成功:

    到這里ruby環境總算是安裝成功了,真是不容易啊,其實redis cluster的安裝的主要內容還是上面的Ruby環境的安裝配置過程。    

    (12)啟動redis集群      

cd /usr/local/redis/redis/src/

    在該目錄下執行命令:

./redis-trib.rb create --replicas 1 192.168.182.132:7000 192.168.182.132:7001 192.168.182.132:7002 192.168.182.132:7003 192.168.182.132:7004 192.168.182.132:7005

  

  輸入yes

  安裝成功:

    

    (13)驗證集群狀態      

      以普通方式連接到7002端口的節點 redis-cli -p 7002 -h 192.168.182.132

      參數說明: -p port 端口 -h host 主機 -c cluster 集群

      連接進集群之后 輸入ping , 如果響應了pong 表示連接集群成功;

      CLUSTER INFO 列出當前節點的信息,CLUSTER NODES 列出當前集群中的節點信息;


    執行命令:set hello word


    7002節點報錯,客戶端該數據應該使用7000端口的客戶端才能添加(是因為登錄的時候沒有加-c)

    登錄7000端口的客戶端重新set hello world,添加數據成功(上次在7002中添加hello world沒有成功,所以在7000中獲取hello是沒有內容的)


    使用集群方式連接集群redis-cli -p 7003 -h 192.168.182.132 -c(7003是7000的備機)

    查詢hello:  

get hello


    重新設置hello的值:

set hello java

    設置成功:


    通過對比發現如果登錄的時候不加-c(非集群模式登錄,登錄的是單節點),添加數據時,如果數據的key的虛擬槽位沒有在該redis上則不能添加成功,即單節點登錄,對redis的操作不會進行重定向。    

    (14)驗證集群的主從配置    

    關閉7002端口的節點

    kill -9 7002redis節點的pid

    登錄到7000端口的節點:

redis-cli -p 7000 -h 192.168.182.132 -c
cluster nodes

    CLUSTER NODES 前面的字符串是節點的id。從這個命令還可以知道哪些節點還活著,哪些節點已經掛了。帶著fail的都是已經掛掉的節點。


   

 集群信息顯示7002節點已經down掉,7005取代7002成為主節點

總結:

雖然整個過程是讓人很糟心的,但是總歸是成功了,實踐出真理。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • Redis cluster集群模式的原理解析
  • Redis Cluster集群數據分片機制原理
  • springcloud微服務基于redis集群的單點登錄實現解析
  • springboot整合redis集群過程解析
  • Java調用Redis集群代碼及問題解決
  • Springboot2.X集成redis集群(Lettuce)連接的方法
  • 深入淺析Redis 集群伸縮原理

標簽:定州 甘南 河源 泰州 拉薩 畢節 南寧 伊春

巨人網絡通訊聲明:本文標題《Redis集群的離線安裝步驟及原理詳析》,本文關鍵詞  Redis,集群,的,離線,安裝,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Redis集群的離線安裝步驟及原理詳析》相關的同類信息!
  • 本頁收集關于Redis集群的離線安裝步驟及原理詳析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    色哟哟精品一区| 91黄色激情网站| 亚洲欧洲av在线| 亚洲精品乱码久久久久| 男男gaygay亚洲| 国产精品99久久久| 777奇米四色成人影色区| 国产亚洲精品aa午夜观看| 亚洲一区在线播放| 国产白丝网站精品污在线入口| 欧美激情一区不卡| 美女一区二区久久| 精品免费国产二区三区| 亚洲精品国产第一综合99久久| 国产在线一区二区综合免费视频| 欧美日韩高清不卡| 亚洲国产成人91porn| 欧洲精品一区二区| 加勒比av一区二区| 在线观看免费视频综合| 777色狠狠一区二区三区| 欧美国产精品专区| 99久久免费精品高清特色大片| 久久一夜天堂av一区二区三区| 91蝌蚪porny| 亚洲va韩国va欧美va| 亚洲va欧美va天堂v国产综合| 97精品电影院| 亚洲欧美激情小说另类| 欧美日韩一区二区三区四区五区| 免费不卡在线观看| 自拍偷在线精品自拍偷无码专区| 欧美色综合影院| 国产一区二区三区在线观看精品 | 激情六月婷婷综合| 欧美精品一区二区蜜臀亚洲| 91在线视频网址| 韩国av一区二区三区四区| 亚洲精品日韩一| 国产精品免费av| 日韩一二三四区| 欧美日韩综合一区| 精品一区二区免费看| 亚洲国产精品视频| 一区二区三区成人在线视频| 亚洲国产精品黑人久久久| 欧美大片国产精品| 欧美在线999| 一本久久a久久精品亚洲| 国产成人精品一区二| 国产美女精品一区二区三区| 麻豆国产一区二区| 日韩av在线播放中文字幕| 日韩精品成人一区二区在线| 视频在线在亚洲| 久久成人免费日本黄色| 麻豆精品新av中文字幕| 国产美女精品在线| 99精品久久99久久久久| 色综合久久中文综合久久牛| 成人av电影观看| 欧洲国产伦久久久久久久| 91视频免费播放| 欧美性感一类影片在线播放| 91麻豆精品国产91久久久久久久久| 欧美日韩大陆在线| 国产日韩综合av| 午夜视频一区二区三区| 国产精品18久久久久久久久| 在线免费亚洲电影| 久久综合色综合88| 亚洲日本韩国一区| 精彩视频一区二区| 欧美日韩色综合| 亚洲欧洲精品成人久久奇米网| 一级女性全黄久久生活片免费| 精品一区二区三区在线观看| 欧美亚洲自拍偷拍| 一区二区三区中文字幕电影| 粉嫩一区二区三区性色av| 欧美美女一区二区三区| 久久久久国产精品麻豆ai换脸| 午夜精品视频一区| 国产成人av电影| 久久精品一区二区| 国精品**一区二区三区在线蜜桃| 日本福利一区二区| 国产精品蜜臀在线观看| 94-欧美-setu| 久久精品国产久精国产爱| 亚洲国产成人av好男人在线观看| 国产经典欧美精品| 国产精品免费久久| 东方aⅴ免费观看久久av| 国产欧美精品一区| www.欧美日韩国产在线| 91精品国产综合久久久久久久久久 | 粉嫩av一区二区三区在线播放| 不卡电影一区二区三区| 曰韩精品一区二区| 日韩精品中文字幕在线一区| 国产成人精品免费网站| 亚洲免费资源在线播放| 欧美一级片在线看| 成av人片一区二区| 三级不卡在线观看| 亚洲女人的天堂| 欧美一区二区三区思思人| 波多野结衣中文字幕一区二区三区| 五月天激情综合网| 亚洲女人小视频在线观看| 久久丝袜美腿综合| 91精品国产综合久久久久久久久久 | 狠狠色丁香婷婷综合| 精品欧美久久久| 日韩欧美在线网站| 成人性生交大片免费看视频在线 | 亚洲欧美日韩国产中文在线| 日韩欧美一区二区久久婷婷| 国产麻豆精品久久一二三| 日韩成人免费电影| 亚洲精品免费视频| 精品电影一区二区| 精品婷婷伊人一区三区三| 日本高清无吗v一区| 不卡一区中文字幕| 成人免费毛片a| 成人国产精品免费观看| av在线这里只有精品| 蜜臀国产一区二区三区在线播放 | 国产欧美一区视频| 国产三级一区二区三区| 欧美大黄免费观看| 中文av一区二区| 国产视频一区在线播放| 国产精品伦一区二区三级视频| 国产精品久久久久桃色tv| 亚洲欧美另类久久久精品 | 99riav久久精品riav| 色老头久久综合| 久久久久久久久伊人| 亚洲国产视频一区二区| 极品尤物av久久免费看| 成人一区二区视频| 欧美人妖巨大在线| 综合分类小说区另类春色亚洲小说欧美 | 丁香五精品蜜臀久久久久99网站 | 国内精品国产成人国产三级粉色 | 久久先锋影音av| 亚洲欧美韩国综合色| 日韩avvvv在线播放| 97久久精品人人澡人人爽| 精品国精品国产尤物美女| 亚洲国产精品嫩草影院| 色综合天天综合狠狠| 久久久久久亚洲综合影院红桃 | 欧美三级电影精品| 综合亚洲深深色噜噜狠狠网站| 狠狠久久亚洲欧美| 精品国产乱码久久久久久夜甘婷婷| 一区二区高清视频在线观看| 色综合天天做天天爱| 亚洲一区国产视频| 日韩一级视频免费观看在线| 日韩国产一二三区| 久久你懂得1024| 成人三级在线视频| 亚洲欧洲一区二区在线播放| 色综合一个色综合| 丝瓜av网站精品一区二区| 日韩免费视频一区二区| www.av精品| www国产成人| 精品卡一卡二卡三卡四在线| 日韩激情视频在线观看| 日韩一卡二卡三卡四卡| 成人夜色视频网站在线观看| 亚洲欧洲日韩在线| 宅男在线国产精品| 99精品久久只有精品| 免费人成在线不卡| 亚洲国产高清aⅴ视频| 欧美日韩高清在线播放| 成人精品视频一区| 久色婷婷小香蕉久久| 中文字幕欧美国产| 欧美伊人精品成人久久综合97| 久久99九九99精品| 夜夜嗨av一区二区三区| 国产喂奶挤奶一区二区三区| 欧美日韩国产高清一区二区三区 | 99国产一区二区三精品乱码| 中文字幕欧美一| 国产日产欧美一区| 日韩免费观看2025年上映的电影| 粉嫩av亚洲一区二区图片| 久久疯狂做爰流白浆xx| 日本不卡在线视频| 伊人夜夜躁av伊人久久| 国产精品免费aⅴ片在线观看|