Redis分布式集群安装--详细过程

首先,我们要了解redis是干什么的?其次,了解redis的使用?最后,将redis进行实际测试使用。

1、redis是什么

redis是非关系性数据库,存储数据格式为key-value,value支持存储多种数据类型,包括list、set、string、hash、sortset等。它之所以受大众欢迎,是因为它将数据存储在内存中,因此读取速度客观。并且,redis具有持久化特性,会定期将数据进行持久化到硬盘,减缓内存消耗。

2、redis的使用方式

redis分为单节点和集群模式,单节点只适用于少量数据,而当数据量不断增大时,单节点内存就无法存储足够的数据,因此出现了集群模式。而集群模式有分为四种:

1)主从模式

创建master和slave两个节点,主机用来读写数据,而从机负责对主机的数据进行备份,所以该模式下的作用仅仅是为了数据备份。

2)分布式模式

该集群模式一般建议创建6个redis节点,分为3主3从。主节点将内存空间划分成不同范围内的数据片,通过哈希函数对key进行计算,得出一个数值,与hash-slot的标号进行对应,并存放该key。该模式下的作用是为了存储大量数据,实现存储空间的横向扩容。

3)keepalived模式

该模式需要对master和slave节点分别创建keepalived.conf文件,通过该文件中配置项的设置,实现主从机的自动切换。即当主服务器宕机时,通过检测,自动将其下的slave服务器转换为master,继续提供服务。

4)哨兵模式

该模式主要是为了监控节点的运行状态,也可以实现主从机的切换,但存在一定的风险,因此不推荐使用。

3、redis的实际使用

本篇主要是介绍为了解决大量数据存储的问题,而搭建redis分布式集群的过程。由于是测试使用,因此在同一台机器上进行安装部署redis节点。

1) 分布式集群的搭建

首先,需要根据安装redis单节点一样,创建6个redis节点,便于后期集群的创建。

安装单节点:

cd /home/tidb/
mkdir redis   && cd redis
mkdir 6379 6380 6381 6382 6383 6384  //创建6个节点文件夹
cd 6379
//将redis-3.0.7.tar.gz拷贝到6379文件夹
tar -zxvf redis-3.0.7.tar.gz  //解压缩
cd redis-3.0.7  //进入压缩文件夹
vim redis.conf  //编辑配置文件

配置文件部分配置内容:


安装部署集群模式,部分主要配置如下:
    port 6379 //端口号
    daemonize no //是否是守护进程
    logfile "" //日志文件存放的位置

    cluster-enabled yes //开启集群模式
    cluster-config-file nodes-6379.conf //集群配置文件
    cluster-node-timeout 15000 //集群节点超时设置

当单节点安装完成后,将Redis的配置文件拷贝到各个文件夹中,并修改对应的端口号和配置文件名。最后,开启6个节点。

单节点:
./src/redis-server redis.conf
多节点:
for(int i=0;i++;i<=4) ./638$i/src/redis-server ./638$i/redis.conf

然后,可以通过ps -ef | grep redis查看进程情况。

2)安装Redis集群,需要配置ruby环境

cd /home/tidb
mkdir ruby
//拷贝ruby-3.0.7.tar.gz到ruby文件夹
cd ruby
tar -zxvf ruby-3.0.7.tar.gz
cd ruby-3.0.7
./configure -prefix=/home/tidb/ruby
make && make install

ruby安装完成后,需要配置环境变量

vim ~/.bash_profile
//在bash_profile文件中,进入编辑模式(a/o/i)
export RUBY_HOME=/home/tidb/ruby
export PATH=$PATH:${RUBY_HOME}/bin
//esc退出编辑模式
:wq  //保存并退出

最后,source ~/.bash_profile并测试ruby是否安装成功---ruby -v(--version)

若显示版本信息,证明安装成功。

3)接下来,需要安装的环境是rubygems

mkdir rubygems
//拷贝rubygem-2.7.7.zip到该文件夹下
unzip rubygem-2,7,7.zip
cd rubygem-2.7.7
ruby setup.rb

安装到这一步,并没有出现我预期地结果,而是出现了错误:缺少zlib包。

ERROR: Loading command: install (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NoMethodError)
undefined method 'invoke_with_build_args' for nil:NilClass

4)安装zlib包

mkdir zlib
//拷贝zlib-1.2.11.tar.gz到文件夹中
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure -prefix=/home/tidb/zlib
make && make install

5)重新回到ruby的文件目录下,编译它里面的zlib

cd /home/tidb/ruby/ext/zlib
ruby extconf.rb --with-zlib-include=/home/tidb/zlib/include/ --with-zlib-lib=/home/tidb/zlib/lib
make && make install
//如果此时仍然报错,请重新编译安装ruby

6)安装成功后,重新回到rubygems安装目录下,运行---ruby setup.rb

7)安装ruby-redis插件

//将redis-3.0.7.gem拷贝到Redis所在目录下
cd /home/tidb/redis/6379
cp redis-3.0.7.gem /home/tidb/redis/6379
gem install redis-3.0.7.gem -local

8)如果此时出现一个OpenSSL的错误,那么解决方法与zlib同样

cd /home/tidb
mkdir openssl
tar -xvf openssl-1.0.2n.tar.gz 
./config -fPIC --prefix=/home/tidb/openssl enable-shared
./config -t
make && make install

//完成后,仍然需要重新编译一下ruby中的OpenSSL
cd /usr/local/ruby/ruby-2.5.0/ext/openssl/
ruby extconf.rb --with-openssl-include=/home/tidb/openssl/include/ --with-openssl-lib=/home/tidb/openssl/lib
make && make install

安装到此,集群所需的所有环境都已经准备好了,接下来终于到启动集群的时刻了。

9)启动一个集群

cd /home/tidb/redis/6379/src
./redis-trib.rb create --replicas 1 10.0.19.3:6379 10.0.19.3:6380 10.0.19.3:6381 10.0.19.3:6382 10.0.19.3:6383 10.0.19.3:6384 

10)集群启动成功后,任意一个客户端进行连接,通过info/nodes可以查看集群/节点信息

cd /home/tidb/redis/6379
./src/redis-cli -c -h 10.0.19.3 -p 6379

10.0.19.3:6379 > cluster info
10.0.19.3:6379 > cluster nodes

最后,感谢博客园园主的原博帮助。链接地址:https://www.cnblogs.com/hello-daocaoren/p/8431902.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值