安装Redis在Linux环境中
这里我们用的是manjaro一个小众一些的发行版
我选用的是manjaro 17 KDE
如果你已经安装好了manjaro 那么你需要准备一个redis.tar.gz包
这里我选用的是截至目前最新的redis 4.0.1版本
我们可以在官网进行下载 https://redis.io/download选择Stable (稳定版)下载
这里我安装在/usr/local 目录下
我们创建redis-cluster目录
cd /usr/local/
sudo mkdir redis-cluster
cd redis-cluster
mkdir redis01...redis06
#在集群目录下创建6个文件夹 redis01到redis06用来存放编译后的redis目录
#现在我们将刚才下载好的redis安装包解压并进行编译
tar zxvf redis-4.0.1.tar.gz
cd redis-4.0.1
#redis根目录进行编译,之后在对redis4 src目录进行编译
make
cd src
make install DESTDIR = path #设置编译安装路径 这里我安装的是/usr/local/redis-cluster/redis01
cp redis01 -> redis02...redis06 #将安装好的redis01 分别复制到redis02..redis06中
redis01..redis-06 redis.conf #在这里我们需要修改redis.conf中的三个参数 默认是没有Vim编辑器的
#我们可以使用nano编辑器或者命令行安装Vim编辑器
#sudo pacman -S clang Vim
daemonize yes #将redis设置为守护进程
port xxxx #设置不重复的redis端口 我是redis7001-7006
cluster-enabled yes #启用集群模式
ps aux|grep redis #查看是否有redis进程
#进入解压后的redis目录执行创建redis命令 这里将redis ip和端口设置成自己的ip和端口 我这里是单机多实例
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.错误内容:/usr/bin/env: ruby: No such file or directory
pacman -S install ruby #因为是执行的ruby的脚本,安装ruby环境
2.错误内容:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:24
pacman -S install rubygems #需要执行此命令因为缺少rubygems组件
3.错误内容:
/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 #执行此命令,因为缺少redis和ruby的接口
#如果gem install redis 失败的话,需要修改一下gem的源
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
#安装后在执行 redis-trib.rb create 命令就会安装成功了
#创建一个py结尾的文件 现在系统都会自带python所以不需要进行安装
#我们启动redis 这里我写了一个简陋的Python脚本用来启动集群 如下:
import os
os.system('cd /usr/local/redis-cluster/redis01 && sudo ./redis-server /usr/local/redis-cluster/redis01/redis.conf')
os.system('cd /usr/local/redis-cluster/redis02 && sudo ./redis-server /usr/local/redis-cluster/redis02/redis.conf')
os.system('cd /usr/local/redis-cluster/redis03 && sudo ./redis-server /usr/local/redis-cluster/redis03/redis.conf')
os.system('cd /usr/local/redis-cluster/redis04 && sudo ./redis-server /usr/local/redis-cluster/redis04/redis.conf')
os.system('cd /usr/local/redis-cluster/redis05 && sudo ./redis-server /usr/local/redis-cluster/redis05/redis.conf')
os.system('cd /usr/local/redis-cluster/redis06 && sudo ./redis-server /usr/local/redis-cluster/redis06/redis.conf')
这里大家可以使用shell或者python任意语言实现更好的启动 关闭等方式
ps aux|grep redis #查看是否有redis进程
这样就显示我们创建成功了.
如果有写的不对的请指正或者有更好更简洁的实现方式欢迎大家分享.