redis搭建

作者: 爱吃饭的小芒果 | 来源:发表于2018-08-07 14:57 被阅读0次

    参考:

    https://my.oschina.net/guol/blog/506193(安装)

    https://www.cnblogs.com/kerwinC/p/6611634.html(安装)

    https://blog.csdn.net/qq_39244264/article/details/80281702

    https://www.cnblogs.com/xuliangxing/p/7133544.html

    redis模式有多种,如下:

    一、单节点模式

    二、主从模式   一主二从

    三、redis-sentinel(哨兵机制)集群  一主二从三哨兵

    四、cluster模式

            一般情况下,使用主从模式加Sentinal监控就可以满足基本需求了,但是当数据量过大一个主机放不下的时候,就需要对数据进行分区,将key按照一定的规则进行计算,并将key对应的value分配到指定的Redis实例上,这样的模式简称Redis集群。

    1、cluster模式的安装及配置:

    tar zxvf redis-4.0.1.tar.gz

    cd redis-4.0.1/

    make

    make PREFIX=/opt/local/redis-cluster install

    2、修改配置文件

        看看6379的具体信息:grep -v -E '(^#|^$)' redis-6379.conf

        主要是修改端口及部分cluster的路径

    3、启动redis

    ./server ./../conf/redis.conf

    4、启动集群

    ./redis-trib.rb create --replicas 1 172.16.1.100:6379 172.16.1.100:6380 172.16.1.100:6381 172.16.1.100:7379 172.16.1.100:7380 172.16.1.100:7381


    启动报错,因为启动集群的时候需要用到ruby,但测试机默认没有安装ruby

    下一步:进行ruby安装


    官网

    https://www.ruby-lang.org/en/downloads/

    下载地址

    https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz

    解压缩

    $ tar -xvzf ruby-2.4.1.tgz   

    $ cd ruby-2.4.1

    配置并编译源代码

    $ ./configure

    ./configure --prefix=/usr/local/ruby-1.9.1

    $ make

    $ sudo make install

    安装成功,检出版本

    $ruby -v

    ruby -v 报错,加个软链:

    ln  -s /usr/local/ruby/bin/ruby /usr/bin/ruby

    $ruby -v 

    显示版本信息,正常了


    ruby -v 成功之后,发现执行还是报错,搜索发现因为ruby中没有导入redis库

    下一步:ruby中安装redis库

    下载redis-4.0.1.gem,执行安装:

    gem install -l ./redis-4.0.1.gem

    参考:https://blog.csdn.net/qq_39244264/article/details/80281702


    执行发现gem找不到,

    下一步:安装gem

    参考:https://www.cnblogs.com/xuliangxing/p/7133544.html

    RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。

    一、在线安装RubyGems

     通过命令直接安装

    & yum install rubygems

    二、离线安装RubyGems

    如果你的 Ruby 低于 1.9 版本,也可以通过手动安装:

    首先下载安装包:https://rubygems.org/pages/download

    解压并进入目录,执行命令:ruby setup.rb

    解压

    tar -zxvf rubygems-2.6.12.tgz

    $ cd /home/cmfchina/rubygems

    $ tar -zxvf rubygems-2.6.12.tgz

     执行命令:

    ruby setup.rb

    更新 RubyGems 命令:

    $ gem update --system          # 需要管理员或root用户

    查看是否安装成功

    which gem

    gem -v 失败,因为安装路径没有在默认路径下,加软链

    ln -s /opt/local/rubygems-2.7.7/bin/gem /usr/bin/gem

    gem -v成功

    至此,全部安装完成,开始回到上一步,执行redis库的安装

    gem install -l ./redis-4.0.1.gem

    进入redis-cluster进行集群创建

    ./redis-trib.rb create --replicas 1 10.141.176.195:6379 10.153.43.135:6380 10.153.62.135:6381 10.141.176.195:7379 10.153.43.135:7380 10.153.62.135:7381

    执行成功如下:

    >>> Creating cluster

    >>> Performing hash slots allocation on 6 nodes...

    Using 3 masters:

    10.141.176.195:6379

    10.153.43.135:6380

    10.153.62.135:6381

    Adding replica 10.153.43.135:7380 to 10.141.176.195:6379

    Adding replica 10.141.176.195:7379 to 10.153.43.135:6380

    Adding replica 10.153.62.135:7381 to 10.153.62.135:6381

    下一步:使用rb命令查看redis集群情况,并对集群进行管理

     检查一下cluster的状态:    

    参考:https://blog.csdn.net/xfg0218/article/details/56505216

    关闭redis服务./bin/redis-cli -p 端口号 shutdown

    报错:[ERR]Node 192.168.25.135:7001 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

    解决办法:关闭redis服务,然后删除conf下的node开头的文件,重新启动redis解决

    报错:>>> Creating cluster 

    [ERR] Sorry, can't connect to node 10.153.43.135:6380

    解决办法:

    检查bind全部都注释了,mode也不是安全模式,后来发现这台机器启动的有问题,打印日志跟别的不一样。因此重新安装redis仍未解决,重新换了台机器安装redis后,成功创建集群OK。

    redis查看集群状态是否正常

    进入集群客户端

    任意选一个redis节点,进入redis 所在目录

    cd /redis 所在目录/bin/

    ./redis-cli -h 本地节点的ip -p redis的端口号 -a 密码

    cluster nodes         

    cluster info                查看集群状态

    ./redis-cli -h 10.148.23.194 -p 6379

    cluster nodes

    如果有节点下线,显示如下

    正常情况,显示如下:

    相关文章

      网友评论

        本文标题:redis搭建

        本文链接:https://www.haomeiwen.com/subject/medgvftx.html