redis 集羣模式安裝文檔

參考文檔:https://www.cnblogs.com/boshen-hzb/p/7699783.html  

一、Redis(3.2.1)Centos7安裝

1.1下載安裝Redis

3.2.1穩定版--64

放在mntredisDB目錄下

mkdir  -p  /mnt/redisDb/

cd  /mnt/redisDb/

wget  http://download.redis.io/releases/redis-3.2.1.tar.gz

tar  -zxvf  redis-3.2.1.tar.gz

進入到src目錄執行 cd redis-3.2.1/src/

make install

如果缺少gcc編譯環境,執行如下2條命令安裝linux的gcc編譯環境

yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake

yum -y install wget httpd-tools vim

安裝成功後再次執行make install如果報以下錯誤

 

 

執行 make MALLOC=libc

執行 make test

 

 

解決make test報錯。

再次執行 make test , 出現如下頁面代表成功

 

1.2 安裝ruby以及集羣

第一種方法:

換yum源安裝,執行: yum install centos-release-scl-rh

會在/etc/yum.repos.d/目錄下多出一個CentOS-SCLo-scl-rh.repo源

yum install rh-ruby23  -y      

scl enable rh-ruby23 bash

ruby -v查看安裝版本

Ps: 安裝scl yum install -y scl-utils  yum install python33-*

 

第二種方法:

yum install ruby ruby-devel rubygems

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
       curl -L get.rvm.io | bash -s stable
       find / -name rvm -print

source /usr/local/rvm/scripts/rvm

Linux自帶ruby版本太低,#rvm list known 查看已知版本

rvm install 2.3.3
         rvm use 2.3.3    rvm use 2.3.3 --default    ruby --version

rvm remove 2.0.0

 

 

Ruby安裝成功後,redis集羣按照依賴ruby

執行gem install redis

 

1.3 配置集羣

打算在三臺機器上配置六個分片節點:一主一從。

1.3.1配置第一個分片

mkdir  /mnt/redisDb/redis-3.2.1/conf

進入目錄,建立分片日誌文件、數據文件

mkdir  -p  /mnt/redisDb/node-7000/logs/

mkdir  -p  /mnt/redisDb/node-7000/data/

mkdir  -p  /mnt/redisDb/node-7001/logs/

mkdir  -p  /mnt/redisDb/node-7001/data/

進入/mnt/redisDb/redis-3.2.1/conf目錄,複製默認conf設置配置文件,修改以下項

bind  10.25.253.52

protected-mode yes

port 7000

############## GENERAL ###########

daemonize yes

pidfile /mnt/redisDb/node-7000/redis-7000.pid

logfile "/mnt/redisDb/node-7000/logs/redis-7000.log"

########### SNAPSHOTTING  #############

dir  /mnt/redisDb/node-7000/data/

dbfilename redis-7000.rdb

 

 

############## APPEND ONLY MODE###########

appendonly yes

appendfilename "redis-7000.aof"

############## REPLICATIO###########

masterauth nykj_2018

############## SECURITY###########

requirepass nykj_2018

############### REDIS CLUSTER  ###########

cluster-enabled yes

cluster-config-file nodes-7000.conf

cluster-node-timeout 15000

 

參數調優

repl-backlog-size 30mb

 

參考文件:

 

 

配置redis環境變量

vi /etc/profile

export PATH="$PATH:/mnt/redisDb/redis-3.2.1/src"

source /etc/profile

 

啓動:

redis-server  /mnt/redisDb/redis-3.2.1/conf/redis-7000.conf

 

 

 

 

 

 

 

1.3.2 配置集羣其他分片

新建目錄

mkdir  /mnt/redisDb/redis-3.2.1/conf

 

mkdir  -p  /mnt/redisDb/node-7002/logs/

mkdir  -p  /mnt/redisDb/node-7002/data/

mkdir  -p  /mnt/redisDb/node-7003/logs/

mkdir  -p  /mnt/redisDb/node-7003/data/

mkdir  -p  /mnt/redisDb/node-7004/logs/

mkdir  -p  /mnt/redisDb/node-7004/data/

mkdir  -p  /mnt/redisDb/node-7005/logs/

mkdir  -p  /mnt/redisDb/node-7005/data/

 

配置環境變量、設置配置文件、然後啓動(記得修改ip啊)

 

cp  redis-7000.conf  redis-7001.conf

sed -i "s/7000/7001/g" redis-7001.conf

sed -i "s/7000/7002/g" redis-7002.conf

1.3.3 設置ruby

如果設置了redis密碼,如要在ruby文件中配置該密碼

find / -name client.rb

/usr/local/rvm/gems/ruby-2.3.3/gems/redis-4.0.1/lib/redis/client.rb

修改client.rb 文件,修改password爲配置文件設置密碼

 

 

1.3.4 啓動集羣配置

如果已第一種安裝ruby執行 scl enable rh-ruby23 bash 再執行集羣命令

redis-trib.rb create --replicas 1 10.25.253.52:7000 10.28.255.158:7002 10.25.69.188:7004  10.28.255.158:7003 10.25.253.52:7001 10.25.69.188:7005

 

1.4 運維命令

命令行,查看集羣情況

redis-cli -c -h yourhost -p yourpost a yourpassword

redis-cli -c -h 10.25.253.52  -p 7000  -a  nykj_2018

 

cluster nodes

或者執行

  scl  enable  rh-ruby23 bash

      ./redis-trib.rb check 10.25.253.52:7000src目錄)

 

3.5.2 集羣命令行

        1.//集羣(cluster)  

        2.cluster info 打印集羣的信息  

        3.cluster nodes 列出集羣當前已知的所有節點(node),以及這些節點的相關信息。   

        4.  

        5.//節點(node)  

        6.cluster meet <ip> <port>  ip  port 所指定的節點添加到集羣當中,讓它成爲集羣的一份子。  

        7.cluster forget <node_id> 從集羣中移除 node_id 指定的節點。  

        8.cluster replicate <node_id> 將當前節點設置爲 node_id 指定的節點的從節點。  

        9.cluster saveconfig 將節點的配置文件保存到硬盤裏面。   

        10.  

        11.//(slot)  

        12.cluster addslots <slot> [slot ...] 將一個或多個槽(slot)指派(assign)給當前節點。  

        13.cluster delslots <slot> [slot ...] 移除一個或多個槽對當前節點的指派。  

        14.cluster flushslots 移除指派給當前節點的所有槽,讓當前節點變成一個沒有指派任何槽的節點。  

        15.cluster setslot <slot> node <node_id> 將槽 slot 指派給 node_id 指定的節點,如果槽已經指派給另一個節點,那麼先讓另一個節點刪除該槽>,然後再進行指派。  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

其他

1.1 Yum安裝

wget http://mirrors.163.com/centos/6/os/i386/Packages/python-2.7.5-68.el7.x86_64.rpm

wget http://mirrors.163.com/centos/6/os/i386/Packages/python-libs-2.7.5-68.el7.x86_64.rpm

wget http://mirrors.163.com/centos/6/os/i386/Packages/python-iniparse-0.4-9.el7.noarch.rpm

wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-3.4.3-158.el7.centos.noarch.rpm

wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm

rpm -ivh python-*

rpm -ivh yum-*

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章