Linux 安裝redis 集羣

Linux環境安裝redis集羣node

[TOC]linux

安裝環境

系統:CentOS release 6.5 (Final)redis

環境要求:數據庫

​ gcc;vim

​ Ruby:ruby

​ Rubygems:bash

​ redis-3.X (須要3.0以上版本支持集羣)服務器

注意:我測試時鏈接外網了,若是沒有鏈接外網就須要離線下載所需的依賴,而後上傳安裝app

安裝單個redis

注意:這裏須要gcc和ruby的環境。安裝前須要檢查系統是否有gcc和ruby的環境:curl

  • gcc環境

    gcc用來編譯redis的源碼,使用gcc -v 查看,

  • ruby 環境

    ruby 用來執行集羣的命名,使用ruby -v,gem -v 查看:

安裝好上述兩個依賴後,如今安裝redis.

  1. 建立存放安裝包的文件夾,makdir redis。而後cd到該目錄,上傳下載好的tar.gz文件。而後,執行解壓命令
tar zxvf redis-3.2.12.tar.gz

  1. cd到redis的解壓目錄,而後執行make && make install 命令安裝:

    $ cd /home/redis/redis-3.2.12
    $ make && make install  //make 這裏若是不指定PREFIX,默認將安裝在/usr/local/bin下,保持默認就好

安裝成功後,出現以下圖:

也能夠在/usr/local/bin下查看redis的安裝文件。

  1. cd到解壓目錄,指定配置文件啓動。

    redis-server redis.conf

注意,這裏啓動的redis不是後臺啓動,退出會話後redis會自動退出。一般單機redis咱們須要修改以下配置:

daemonize yes  //默認不是以守護進程的方式運行,能夠經過該配置項修改,使用yes啓用守護進程
 requirepass foobared   //設置客戶端鏈接密碼
 port 6379  //指定端口
 bind 127.0.0.1  //綁定的主機地址,若是須要遠程鏈接,則需修改該參數
 protected-mode  yes // 保護模式,若是須要遠程鏈接,則須要修改該參數

安裝Redis集羣

安裝集羣至少須要三個主節點,三個對應的從節點。防止某個節點掛掉,其餘兩個節點能夠推舉其對應得從節點爲主節點,必定程度的容錯。

這裏在同一臺機器上安裝,生產環境至少須要三臺機器安裝。建立6個文件分別存放配置信息,文件夾名以端口命名。好比7001-7006。

  1. 使用mkdir命令批量建立文件夾。

  1. 而後咱們須要在安裝目錄複製redis-cli、redis-server、redis.conf 三個配置文件到每一個文件夾,用來啓動單個redis. 若是安裝時沒有指定目錄,則默認在usr/local/bin 目錄下複製redis-cli、redis-server文件,redis.conf在解壓的目錄能夠複製,也能夠本身建立。

在複製redis.conf配置文件

  1. 修改每一個redis.conf文件
bind 0.0.0.0   //0.0.0.0表示容許全部鏈接
protected-mode no //保護模式,yes表示不容許遠程鏈接
port 7001  //端口,這裏每一個配置文件不一樣
daemonize yes  //之後臺方式啓動
appendonly yes   //redis 將每一次寫操做請求都追加到appendonly.aof 文件中redis從新啓動時,會從							該文件恢復出以前的狀態。
cluster-enabled yes  //啓用集羣
cluster-node-timeout 5000  //節點超時時間
  1. 在每一個文件下執行redis-server redis.conf 命令。這個能夠建立腳本執行比較快。
vim startall.sh 就會打開vim編輯器,建立一個空的文本

這裏我每一個分別啓動,腳本執行不起做用(心累)

  1. 此時,咱們進入解壓的目錄src下,複製redis-trib.rb 文件到redis目錄;

  2. 在redis目錄執行命令:

    注意:這裏--replicas 1 表示每一個主數據庫擁有從數據庫個數爲1。master節點不能少於3個。

    若是須要遠程訪問,這裏的命令中127.0.0.1 須要換成服務器的ip地址。不然不能遠程訪問。

    ./redis-trib.rb  create --replicas  1  127.0.0.1:7001  127.0.0.1:7002  127.0.0.1:7003  127.0.0.1:7004  127.0.0.1:7005  127.0.0.1:7006

各類報錯解決

執行./redis-trib.rb create --replicas 命令後報錯:

而後,ruby-v 和gem -v 查看ruby環境發現都已經安裝了。其實這個錯誤是缺乏redis對ruby的接口,咱們須要下載redis的gem包;

執行命令:gem install redis 有報錯了。

ruby版本過低了。。。。

執行以下命令安裝rvm,用他來安裝ruby更新的版本:

//具體RVM安裝命令地址:http://rvm.io/
  [root@linux ~]# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB 

  [root@linux ~]# curl -sSL https://get.rvm.io | bash -s stable

  [root@linux ~]# find / -name rvm -print
  [root@linux ~]# source /usr/local/rvm/scripts/rvm

安裝好rvm,就能夠看到不少rvm的文件。

 

設置默認的ruby版本

 

在執行gem install redis,就會安裝成功了。

gem install redis

接下來執行命令安裝集羣:

./redis-trib.rb  create --replicas  1  127.0.0.1:7001  127.0.0.1:7002  127.0.0.1:7003  127.0.0.1:7004  127.0.0.1:7005  127.0.0.1:7006

輸入yes,回車。

終於成功了,顯示顯示的主從節點信息。

集羣測試

切換到任意的節點目錄下,鏈接添加數據測試:

redis-cli -p 7001  -c

這裏就能夠看到set name 集羣已經hash了key分佈在哪一個槽上,自動跳轉到對應的節點上。

相關文章
相關標籤/搜索