redis搭建

参考:

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搭建)