当前位置 : 主页 > 编程语言 > java >

Redis集群安装步骤-4.0.2版本

来源:互联网 收集:自由互联 发布时间:2021-06-28
redis集群安装部署 ==================解决Redis集群安装过程中遇到的version问题,ruby升级问题==================此时redis官网最新版本为4.0.2一.单机版Redis安装1.下载redis.4.0.2.tar.gz2.tar -zxvf redis.4.0.
redis集群安装部署
==================解决Redis集群安装过程中遇到的version问题,ruby升级问题==================
此时redis官网最新版本为4.0.2

一.单机版Redis安装
1.下载redis.4.0.2.tar.gz
2.tar -zxvf redis.4.0.2.tar.gz
3.编译 make
4.安装 make install PREFIX=/usr/local/redis
5.后台启动 cp /download/redis-4.0.2/redis.conf /usr/local/redis/bin/
6.修改守护进程 vi redis.conf  =>  daemonize yes
7. [bin]# ./redis-server redis.conf


二.Redis集群安装
****************默认Cent6的ruby版本是1.8.x,但是redis4.0.2要求ruby2.2.2以上****************
会遇到以下安装问题:



[root@ip-172-31-7-228 download]# yum install ruby
[root@ip-172-31-7-228 download]# yum install rubygems
[redis-4.0.2]cd /download/redis-4.0.2/src/
[src]# ll *.rb
    -rwxrwxr-x. 1 root root 60843 Sep 21 14:12 redis-trib.rb
[src]# yum install -y ruby ruby-devel rubygems rpm-build
上传redis-4.0.0.gem到download(redis-4.0.0.gem下载路径:https://rubygems.org/gems/redis/versions/4.0.0)
[download]# gem install /download/redis-4.0.0.gem

    ERROR:  Error installing /download/redis-4.0.0.gem:
	    redis requires Ruby version >= 2.2.2.

====================解决version=>2.2.2的问题==========start==========

[download]# yum install ruby
        Loaded plugins: fastestmirror, presto
        No such command: instal. Please use /usr/bin/yum --help
        [root@ip-172-31-7-228 download]# yum install ruby
        Loaded plugins: fastestmirror, presto
        Loading mirror speeds from cached hostfile
        * base: mirrors.shuosc.org
        * extras: mirrors.neusoft.edu.cn
        * updates: mirrors.neusoft.edu.cn
        Setting up Install Process
        ......
         gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3(重要的key)
[download]curl -L get.rvm.io | bash -s stable
ruby -v
        ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

[/]# gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
[/]# curl -L get.rvm.io | bash -s stable
[/]# find / -name rvm -print
        /usr/local/rvm
        /usr/local/rvm/src/rvm
        /usr/local/rvm/src/rvm/scripts/rvm
        /usr/local/rvm/src/rvm/lib/rvm
        /usr/local/rvm/src/rvm/bin/rvm
        /usr/local/rvm/scripts/src/rvm
        /usr/local/rvm/scripts/src/rvm/scripts/rvm
        /usr/local/rvm/scripts/src/rvm/lib/rvm
        /usr/local/rvm/scripts/src/rvm/bin/rvm
        /usr/local/rvm/scripts/rvm
        /usr/local/rvm/scripts/scripts/rvm
        /usr/local/rvm/scripts/lib/rvm
        /usr/local/rvm/scripts/bin/rvm
        /usr/local/rvm/lib/rvm
        /usr/local/rvm/bin/rvm  
 [/]# source /usr/local/rvm/scripts/rvm
 [/]# rvm list known
        # MRI Rubies
        [ruby-]1.8.6[-p420]
        [ruby-]1.8.7[-head] # security released on head
        [ruby-]1.9.1[-p431]
        [ruby-]1.9.2[-p330]
        [ruby-]1.9.3[-p551]
        [ruby-]2.0.0[-p648]
        [ruby-]2.1[.10]
        [ruby-]2.2[.7]
        [ruby-]2.3[.4]
        [ruby-]2.4[.1]
        ruby-head
        ......
        
[/]# rvm use 2.3.3
Required ruby-2.3.3 is not installed.
To install do: 'rvm install "ruby-2.3.3"'
[/]# rvm install ruby-2.3.3        
        Searching for binary rubies, this might take some time.
        Found remote file https://rvm_io.global.ssl.fastly.net/binaries/centos/6/x86_64/ruby-2.3.3.tar.bz2
        Checking requirements for centos.
        Installing requirements for centos.
        Installing required packages: autoconf, automake, bison, libffi-devel, libtool, readline-devel, sqlite-devel, zlib-devel, libyaml-devel, openssl-devel..........................
        Requirements installation successful.
        ruby-2.3.3 - #configure
        ruby-2.3.3 - #download
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                        Dload  Upload   Total   Spent    Left  Speed
        100 21.9M  100 21.9M    0     0  36743      0  0:10:26  0:10:26 --:--:-- 43839
        No checksum for downloaded archive, recording checksum in user configuration.
        ruby-2.3.3 - #validate archive
        ruby-2.3.3 - #extract
        ruby-2.3.3 - #validate binary
        ruby-2.3.3 - #setup
        ruby-2.3.3 - #gemset created /usr/local/rvm/scripts/gems/ruby-2.3.3@global
        ruby-2.3.3 - #generating global wrappers........
        ruby-2.3.3 - #gemset created /usr/local/rvm/scripts/gems/ruby-2.3.3
        ruby-2.3.3 - #generating default wrappers........

[/]# rvm use 2.3.3
Using /usr/local/rvm/scripts/gems/ruby-2.3.3     

[/]# rvm use 2.3.3 --default
Using /usr/local/rvm/scripts/gems/ruby-2.3.3   

[/]# rvm remove 1.8.7 
ruby-1.8.7-head - #already gone
Using /usr/local/rvm/scripts/gems/ruby-2.3.3

====================解决version=>2.2.2的问题==========end==========
继续安装gem
[download]# gem install redis-4.0.0.gem
        Successfully installed redis-4.0.0
        Parsing documentation for redis-4.0.0
        Installing ri documentation for redis-4.0.0
        Done installing documentation for redis after 1 seconds
        1 gem installed

[loacl]cd /usr/local/
[loacl]mkdir redis-cluster
[redis]# cd /usr/local/redis/ 
[redis]# cp -r bin ../redis-cluster/redis01
[redis01]# ls
         dump.rdb           ---快照集群模式-默认方式(另一种模式是AOF模式-"命令行追加模式")
         redis-check-aof
         redis-cli   
         redis-sentinel
         redis-benchmark  
         redis-check-rdb  
         redis.conf  
         redis-server

[redis01]rm -rf dump.rdb

vi redis.conf 修改端口号

vi redis.conf 开启集群模式  cluster-enabled yes

创建多个集群服务
[redis-cluster]#cp -r redis01/ redis0x

修改集群中对应的端口号

将创建集群的ruby脚本复制到redis-cluster目录下
[src]cd /download/redis-4.0.2/src
[src]cp *.rb /usr/local/redis-cluster/
[redis-cluster]# ls
        redis01 redis0n redis-trib.rb

创建集群启动脚本
[redis-cluster]vi startall.sh
    cd redis01
    ./redis-server redis.conf
    cd redis02
    ./redis-server redis.conf
    cd redis0n
    ./redis-server redis.conf    
    ......

[redis-cluster]chmod +x startall.sh 
[redis-cluster]./startall.sh

创建集群
[redis-cluster]./redis-trib.rb create --replicas 1 IP:7001 IP::7002 IP::n......

参考如下显示:
>>> Creating cluster
Connecting to node 192.168.25.153:7001: OK
Connecting to node 192.168.25.153:7002: OK
Connecting to node 192.168.25.153:7003: OK
Connecting to node 192.168.25.153:7004: OK
Connecting to node 192.168.25.153:7005: OK
Connecting to node 192.168.25.153:7006: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.25.153:7001
192.168.25.153:7002
192.168.25.153:7003
Adding replica 192.168.25.153:7004 to 192.168.25.153:7001
Adding replica 192.168.25.153:7005 to 192.168.25.153:7002
Adding replica 192.168.25.153:7006 to 192.168.25.153:7003
M: 5a8523db7e12ca600dc82901ced06741b3010076 192.168.25.153:7001
   slots:0-5460 (5461 slots) master
M: bf6f0929044db485dea9b565bb51e0c917d20a53 192.168.25.153:7002
   slots:5461-10922 (5462 slots) master
M: c5e334dc4a53f655cb98fa3c3bdef8a808a693ca 192.168.25.153:7003
   slots:10923-16383 (5461 slots) master
S: 2a61b87b49e5b1c84092918fa2467dd70fec115f 192.168.25.153:7004
   replicates 5a8523db7e12ca600dc82901ced06741b3010076
S: 14848b8c813766387cfd77229bd2d1ffd6ac8d65 192.168.25.153:7005
   replicates bf6f0929044db485dea9b565bb51e0c917d20a53
S: 3192cbe437fe67bbde9062f59d5a77dabcd0d632 192.168.25.153:7006
   replicates c5e334dc4a53f655cb98fa3c3bdef8a808a693ca

确认yes:
Can I set the above configuration? (type 'yes' to accept): yes


>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.....
>>> Performing Cluster Check (using node 192.168.25.153:7001)
M: 5a8523db7e12ca600dc82901ced06741b3010076 192.168.25.153:7001
   slots:0-5460 (5461 slots) master
M: bf6f0929044db485dea9b565bb51e0c917d20a53 192.168.25.153:7002
   slots:5461-10922 (5462 slots) master
M: c5e334dc4a53f655cb98fa3c3bdef8a808a693ca 192.168.25.153:7003
   slots:10923-16383 (5461 slots) master
M: 2a61b87b49e5b1c84092918fa2467dd70fec115f 192.168.25.153:7004
   slots: (0 slots) master
   replicates 5a8523db7e12ca600dc82901ced06741b3010076
M: 14848b8c813766387cfd77229bd2d1ffd6ac8d65 192.168.25.153:7005
   slots: (0 slots) master
   replicates bf6f0929044db485dea9b565bb51e0c917d20a53
M: 3192cbe437fe67bbde9062f59d5a77dabcd0d632 192.168.25.153:7006
   slots: (0 slots) master
   replicates c5e334dc4a53f655cb98fa3c3bdef8a808a693ca
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.


登录redis:
[redis-cluster] redis01/redis-cli -h 192.168.1.100 -p 7002 -c (-c是代表连接集群)
192.168.1.100:7002> set a 100
        ->Redirected to slot[15499] located at 192.168.1.100:7003                      --slot是redis槽的位置
        OK

正常关闭redis:
[/]cd /usr/local/redis
[/]bin/redis01/redis-cli -p 7001 shutdown

关闭集群脚本
[redis-cluster] vi shutdown.sh
        redis01/redis-cli -p 端口号7001 shutdown
        redis01/redis-cli -p 端口号7002 shutdown
        redis01/redis-cli -p 端口号7003 shutdown
        ...
chmod +x shutdown.sh
网友评论