Linux下Redis安装及集群搭建

本文详细介绍在Linux环境下安装Redis及其集群的过程。包括解决安装过程中的常见问题,如依赖缺失等,并提供配置示例和集群搭建步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux下Redis安装及集群搭建

1、Redis安装

1.1、首先到官网下载Redis安装包,这里用的是3.0.7版本,传到Linux安装目录里 

1.2、执行解压指令:tar -zxvf redis-3.0.7.tar.gz

1.3、cd指令切到解压目录中,然后执行指令: make

执行make的时候,会出现异常:

异常一:

make[2]: cc: Command not found

异常原因:没有安装gcc

解决方案:yum install gcc

异常二:

zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory

异常原因:一些编译依赖或原来编译遗留出现的问题

解决方案:make distclean。清理一下,然后再make。

1.4、在make成功以后,执行指令:make test

在make test时出现异常:

异常一:

couldn't execute "tclsh8.5": no such file or directory

异常原因:没有安装tcl

解决方案:yum install -y tcl。

异常二:

!!! WARNING The following tests failed: *** [err]: Server is able to generate a stack trace on selected systems in tests/integration/logging.tcl 

异常原因:某个测试没通过

解决方案:可忽略

1.5、安装,执行指令:make install

1.6、安装完毕后,搭建测试配置,测试启动:

第一种:前台模式,默认配置启动(默认端口6379)

直接执行指令:redis-server

第二种:守护进程(后台)模式,指定配置文件启动

在redis解压根目录中找到配置文件模板(redis.conf),复制到如下位置:

cp redis.conf  /usr/local/redis/7000/7000.conf

通过vi命令修改

daemonize yes

port 7000

pidfile /usr/local/redis/7000/7000.pid

logfile /usr/local/redis/7000/7000.log

dir /usr/local/redis/7000

最后运行redis: redis-server /usr/local/redis/7000/7000.conf

1.7、启动后:

执行指令:redis-cli 连接端口为6379 Host为127.0.0.1的redis服务器

或者:redis-cli -p 7000 -h 192.168.1.103 连接端口为7000 Host为192.168.1.103的redis服务器

1.8、连接了redis服务器后,可以通过 redis-cli -p 7000 -h 192.168.1.103 shutdown 关闭连接

1.9、redis配置文件中的基本配置项:

    port 7000 #端口

    daemonize yes #守护进程模式启动

    cluster-config-file nodes-7000.conf #集群配置文件名

    pidfile /usr/local/redis/7000/redis.pid #进程id存储位置

    logfile /usr/local/redis/7000/redis.log #日志文件存储位置

    dir /usr/local/redis/7000 #工作目录

    cluster-enabled yes #是否支持集群

2、Redis集群搭建

2.1、启动至少6个redis服务器,每台服务配置文件中的配置项增加:

 

   cluster-enabled yes    #开启集群支持

   cluster-config-file nodes-7003(对应端口号).conf      #记录节点信息

   ①我们以7001~7006为端口创建服务,先创建6个文件夹7001、7002、...7006

   ②分别复制配置文件redis.conf到以上目录:cp redis.conf  /usr/local/redis/7001/7001.conf

   ③分别修改配置:

 

daemonize yes

port 7001

pidfile /usr/local/redis/7001/7001.pid

logfile /usr/local/redis/7001/7001.log

dir /usr/local/redis/7001

cluster-enabled yes

cluster-config-file nodes-7001.conf

 

2.2、以各种的配置开启所有服务器

查询开启的服务: ps -ef | grep redis

 

2.3、搭建集群

  cd 到redis的安装目录的src下执行

  ./redis-trib.rb create --replicas 1 192.168.136.128:7001 192.168.136.128:7002 192.168.136.128:7003 192.168.136.128:7004 192.168.136.128:7005 192.168.136.128:7006

 

2.4、错误处理

 ①执行上面的命令时候会报错 

   错误:/usr/bin/env: ruby: No such file or directory

   因为是执行脚本所以需要安装ruby环境,执行 yum install ruby 即可

 

 ②然后再执行上面的命令时候还会报错,提示缺少rubygems组件

   错误:./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)from ./redis-trib.rb:24
   执行:  yum install rubygems
 ③再次执行上面的命令,还会报错,提示不能加载redis,是因为缺少redis的接口
   错误:/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError) from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from ./redis-trib.rb:25
   执行:gem install redis

   这里可能无法安装,因为无法连接gem服务器:
[@zw_22_90 src]# gem install redis --version 3.0.0  
ERROR:  Could not find a valid gem 'redis-3.0.0' (>= 0) in any repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)


  问题解决如下:

    需要手工下载并安装:
    wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem

          问题:

         

           提示为找到该命令,那么需要安装:yum install wget

    gem install -l ./redis-3.2.1.gem

 ④再次执行上面的命令,正常执行
    输入yes,然后配置完成。

2.5、测试

   进入集群环境:redis-cli -c -p 7001 -h 192.168.136.128

    查看集群:cluster nodes 

  master 主   slave 从 

    退出:quit

    至此redis集群搭建成功。

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值