同机器或者不同机器搭建redis集群

java技术文章

2018-09-11

52

0

一、同机器下的集群搭建:
   1,创建redis实例统一存放的文件夹——在/usr/local路径下创建cluster文件夹,命令:mkdir cluster

 2,创建每个实例单独存放的文件夹——在cluster文件夹下创建6个文件夹,分别为7001,7002,7003,7004,7005,7006,
   命令:mkdir 7001 7002 7003 7004 7005 7006
   3,将下载的redis-3.2.8.tar.gz上传到虚拟机的/usr/local/redis(前提先建一个redis)下,并解压,命令:tar –zxvf redis-3.2.8.tar.gz,得到redis-3.2.8包

4,安装gcc,执行yum -y install gcc gcc-c++ libstdc++-devel和make CFLAGS="-march=x86-64"【进入redis-3.2.8/src目录执行当前命令】两次输入y继续安装,安装完成后然后进入redis-3.2.8包,执行make  install   PREFIX=/usr/local/redis2命令

   5,进入cd /usr/local/redis2c,复制bin文件夹到之前创建的6个包下面(/usr/local/cluster/700*),

   如:cp -r bin /usr/local/cluster/7001 

复制redis-3.2.8下的redis.conf到/usr/local/cluster下面,并进入该目录

    6,修改redis.conf文件,修改内容如下
        1)屏蔽限制本地访问,在bind 127.0.0.1之前加#(同机器下,可能不需要改,未做测试)
         2)protected-mode后的yes改为no
         3)daemonize后的no改为yes
          4)去掉cluster-enabled yes前面的#(按Esc键退出i编辑模式,输入/,再输入cluster-enabled,回车,就可以快速找到)
            5)去掉#方法同4)
 
           6)  port后的端口号改6次,每次都改成与之前创建的6个包名一致,如7001,每改一次,将redis.conf文件,复制到对应的包下,如7001(端口只要不冲突可以随便改,这里 为了方便管理改成和包名一致)
 
     7,分别启动6个redis实例,并查看
      8,进入cd /usr/local/redis/redis-3.2.8/src下,执行./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,报了一个错,如下
需要安装:
            1)ruby的环境,执行命令:yum install ruby
            2)rubygems组件,执行命令:yum install rubygems
            3)redis和ruby的接口,执行命令:gem install redis
如果报node 192.168.133.xx:7001 is not empty之类的错误说明集群未正确关闭或是存有日志文件则
针对错误信息执行集群修复命令:./redis-trib.rb fix 192.168.133.128:7001
 
8、升级Ruby的版本
安装rvm,我不知道这是个什么东西,但是感觉像是Ruby的一个包管理器。
# curl -L get.rvm.io | bash -s stable
WTF,又出问题了
 
# gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
gpg: keyring `/root/.gnupg/secring.gpg' created
gpg: requesting key D39DC0E3 from hkp server keys.gnupg.net
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key D39DC0E3: public key "Michal Papis (RVM signing) <mpapis@gmail.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
然后重新下载rvm安装,成功了。
# curl -L get.rvm.io | bash -s stable 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 24090  100 24090    0     0  18023      0  0:00:01  0:00:01 --:--:--  129k
Downloading https://github.com/rvm/rvm/archive/1.29.3.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.29.3/1.29.3.tar.gz.asc
gpg: Signature made Mon 11 Sep 2017 04:59:21 AM CST using RSA key ID BF04FF17
gpg: Good signature from "Michal Papis (RVM signing) <mpapis@gmail.com>"
gpg:                 aka "Michal Papis <michal.papis@toptal.com>"
gpg:                 aka "[jpeg image of size 5015]"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 409B 6B17 96C2 7546 2A17  0311 3804 BB82 D39D C0E3
     Subkey fingerprint: 62C9 E5F4 DA30 0D94 AC36  166B E206 C29F BF04 FF17
GPG verified '/usr/local/rvm/archives/rvm-1.29.3.tgz'
Creating group 'rvm'

Installing RVM to /usr/local/rvm/
Installation of RVM in /usr/local/rvm/ is almost complete:

  * First you need to add all users that will be using rvm to 'rvm' group,
    and logout - login again, anyone using rvm will be operating with `umask u=rwx,g=rwx,o=rx`.

  * To start using RVM you need to run `source /etc/profile.d/rvm.sh`
    in all your open shell windows, in rare cases you need to reopen all shell windows.
接着,source环境,让rvm可用。
# source /usr/local/rvm/scripts/rvm
查看Ruby可用版本
# 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]
可以看到最新的版本是2.4.1,那么我们装最新的吧。至此,我们升级了Ruby的版本。
9、安装gem redis接口,成功!
gem install redis
Fetching: redis-4.0.1.gem (100%)
Successfully installed redis-4.0.1
Parsing documentation for redis-4.0.1
Installing ri documentation for redis-4.0.1
Done installing documentation for redis after 0 seconds
1 gem installed

 

10,安装完成后再次执行,启动命令,并输入yes并回车
11,启动成功
12,做下测试,随便进入一个redis实例,如进入cd /usr/local/cluster/7001下执行./bin/redis-cli -c -p 7001
 
 
二、不同机器下的集群搭建:
注意: redis的安装步骤与同机器下一致,这里只讲解个别不同配置的修改
1,首先另外创建三个虚拟机(这里为方便演示只创建3个)     
2,每台都设置固定ip  (不会设置,可以参考:http://blog.csdn.net/u012042021/article/details/72781888)
            node1设为192.168.133.128;
            node2设为192.168.133.129;
            node3设为192.168.133.130
 
3,每台都创建好两个redis实例(与同机器一样),分别为:
              node1下7001、7002;
              node2下7003、7004;
              node3下7005、7006
4,分别修改这3台机器下对应的2个redis实例的redis.conf文件绑定对应机器的ip,如node1下的两个redis配置改成 bind 192.168.133.128,保存退出
注意:改好之后,要关闭每台虚拟机的防火墙,执行命令:service iptables stop——立即生效,永久关闭防火墙执行命令:chkconfig iptables off——重启生效
5,分别启动这6个实例
node1:
node2:  
node3:
6,进入node2 (随便那台都行) cd /usr/local/redis/redis-3.2.8/src下(你的解压目录),执行
./redis-trib.rb  create  --replicas  1   192.168.133.128:7001  192.168.133.128:7002 192.168.133.129:7001  192.168.133.129:7002  192.168.133.130:7001  192.168.133.130:7002
7,所有组件都按同机器下安装一致,仍然报了一个错
8,解决方法有两种,官方推荐使用第二种:
    1)分别删除实例包下的三个文件,再重新启动
2)针对错误信息执行集群修复命令:./redis-trib.rb fix 192.168.133.128:7001
      启动与同机器一致
9,测试,随便进入一台机器,如node3,随便进入一个redis实例,如7002,
   进行set、get测试
再进入另一台机器,如node1,检查get
 
 
 

发表评论

全部评论:0条

鸿福951

努力打造一个好用的webui

热评文章

推荐文章