redis集羣的搭建,踩過得坑

1,我搭的是僞集羣,就是在一臺機器上啓動了六個redis服務html

2,啓動一個redis服務,很簡單,下載包,解壓,直接redis-server redis.conf啓動就能夠node

3,集羣的話,看了好多教程,說的特別複雜,個人方法就是講redis.文件複製六份,修改裏面的端口,還有pidfile,,還有開啓集羣的功能(就是把註釋放開就好),而後依次用命令起redis

4,起來以後,就須要搭建集羣了,如今這六個服務是沒有主從,沒有用任何交互的,因此,須要經過一個工具將這六個整合起來。執行這個工具的命令後,可能會提示什麼什麼版本過低,(好像是2.2.0什麼什麼???)而後升級一下就能夠了。再執行就ok了,會提示你誰是master,誰是slave。vim

沒什麼大坑,挺容易的ruby

 

在本身服務器上,從新搭一次,再補充一下服務器

1,第一步:下載redis安裝包wget http://download.redis.io/releases/redis-4.0.6.tar.gz工具

2,第二步:解壓壓縮包tar -zxvf redis-4.0.6.tar.gz命令行

3,第三步:yum安裝gcc依賴:yum install gcc  server

4,第四部:跳轉到redis解壓目錄下cd redis-4.0.6htm

5,第五步:編譯安裝;make 

6,第六步:啓動redis,不少教程說redis-server命令在bin目錄下,其實redis4版本的命令都在src文件夾下

這裏說一下,若是直接啓動的話,命令行會停在啓動框內,不能進行別的操做,對應的就是默認啓動不是後臺啓動。因此須要:

vim redis.conf -》daemonize no改爲daemonize yes.conf

 

7,再啓動。而後驗證一下,ps -ef |grep redis

會看到127.0.0.1:6379進程啓動了,這裏說下,redis默認端口是6379

(cd src && make install這條命令能夠吧src裏面的命令加載到/usr/local/bin中)

 

 

1,而後在搭建集羣,我打算9001,9002,9003,做爲master,9004,9005,9006是slave

我在/usr/redisz/在新建了redis-cluster文件夾:mkdir redis-cluster

而後將/usr/redis/redis-4.0.6/redis.conf複製到/usr/redisz/redis-cluster下,並重命名爲redis9001.conf

cp /usr/redis/redis-4.0.6/redis.conf /usr/redisz/redis-cluster/redis9001.conf

修改redis9001.conf內容以下:vim redis9001.conf

                    bind 192.168.1.21             #本機IP

      port 9001                   #改成設定的端口

      daemonize yes                    #後臺啓動(剛纔咱已經設置好了)

      cluster-enabled yes          #啓動集羣模式

                     pidfile /var/run/redis_9001.pid           #pid 改不改都行
 

      cluster-config-file nodes-9001.conf  #集羣內部配置文件,改掉端口號 

      cluster-node-timeout 15000     #節點超時時間,單位:毫秒

改完以後,redis-server redis9001.conf啓動便可

ps -ef |grep redis 你會發現9001端口的進程後會有中括號[cluster]

2,將redis9001.conf複製redis9002.conf->redis9006.conf六份,而後9002-9006設置的和9001同樣。

這裏說一個妙招:替換

先vim redis9002.conf

而後執行:%s/9001/9002/g

意思是將全文中的9001改成9002

而後依次啓動,redis-server redis900x.conf

3,如今雖然6個都起來了,但彼此之間沒有關係

參考(https://www.cnblogs.com/ding2016/p/7892542.html):

redis-trib.rb環境準備(該文件存在於redis-4.0.1/src/目錄中)    //只須要在其中一臺上執行此步驟!!

      redis-trib.rb是採用Ruby實現的Redis集羣管理工具。內部經過Cluster相關命令幫助

    咱們簡化集羣建立、檢查、槽遷移和均衡等常見操做,使用以前須要安裝Ruby依賴環境。

①安裝Ruby

    ~]# wget http://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.5.tar.gz

    ~]# tar zxvf  ruby-2.3.5.tar.gz

    ~]# cd ruby-2.3.5

    ruby-2.3.5]# ./configure  --prefix=/opt/ruby

    ruby-2.3.5]# make && make install

    ruby-2.3.5]# ln -s /opt/ruby/bin/ruby /usr/bin/ruby

    ruby-2.3.5]# ln -s /opt/ruby/bin/gem /usr/bin/gem

    ~]#ruby -v    //查看一下

    

   ②安裝rubygem redis依賴

    ~]# wget http://rubygems.org/downloads/redis-3.3.0.gem

                     yum install rubygems

    ~]# gem install -l redis-3.3.0.gem

    

 ③檢查redis-trib.rb的可用性

    ~]# ./redis-4.0.1/src/redis-trib.rb    //以下圖所示表明可用了

    

4,建立集羣:
redis-trib.rb create  --replicas 1 192.168.56.99:9001 192.168.56.99:9002 192.168.56.99:9003 192.168.56.99:9004 192.168.56.99:9005 192.168.56.99:9006

發現報錯,是由於redis900X.conf配置文件中 bind 127.0.0.1

將此配置改成

bind 192.168.56.99

再啓動集羣,ok,顯示以下:

Using 3 masters:
192.168.56.99:9001
192.168.56.99:9002
192.168.56.99:9003
Adding replica 192.168.56.99:9004 to 192.168.56.99:9001
Adding replica 192.168.56.99:9005 to 192.168.56.99:9002
Adding replica 192.168.56.99:9006 to 192.168.56.99:9003

M: 0a65ddf6b06c03e007597472795b5fc903bf0f19 192.168.56.99:9001    slots:0-5460 (5461 slots) master M: 9d5fd6c8c452a635158cc4bde36d490da98fe0cf 192.168.56.99:9002    slots:5461-10922 (5462 slots) master M: 2840c063aa41135cb30568e9f64e83a4ace49661 192.168.56.99:9003    slots:10923-16383 (5461 slots) master S: cc35b6238e2a535b4e4bc0e1de165c9f291c6d5c 192.168.56.99:9004    replicates 0a65ddf6b06c03e007597472795b5fc903bf0f19 S: b047ef4b392a5ef68a3ffd6cd265a1f7b82c8b6c 192.168.56.99:9005    replicates 9d5fd6c8c452a635158cc4bde36d490da98fe0cf S: 91000ed4e6794c026af50a6287e1c7def1e30b77 192.168.56.99:9006    replicates 2840c063aa41135cb30568e9f64e83a4ace49661  

相關文章
相關標籤/搜索