Linux环境安装redis集群node
[TOC]linux
系统:CentOS release 6.5 (Final)redis
环境要求:数据库
gcc;vim
Ruby:ruby
Rubygems:bash
redis-3.X (须要3.0以上版本支持集群)服务器
注意:我测试时链接外网了,若是没有链接外网就须要离线下载所需的依赖,而后上传安装。app
注意:这里须要gcc和ruby的环境。安装前须要检查系统是否有gcc和ruby的环境:curl
gcc环境
gcc用来编译redis的源码,使用gcc -v 查看,
ruby 环境
ruby 用来执行集群的命名,使用ruby -v,gem -v 查看:
安装好上述两个依赖后,如今安装redis.
tar zxvf redis-3.2.12.tar.gz
cd到redis的解压目录,而后执行make && make install 命令安装:
$ cd /home/redis/redis-3.2.12 $ make && make install //make 这里若是不指定PREFIX,默认将安装在/usr/local/bin下,保持默认就好
安装成功后,出现以下图:
也能够在/usr/local/bin下查看redis的安装文件。
cd到解压目录,指定配置文件启动。
redis-server redis.conf
注意,这里启动的redis不是后台启动,退出会话后redis会自动退出。一般单机redis咱们须要修改以下配置:
daemonize yes //默认不是以守护进程的方式运行,能够经过该配置项修改,使用yes启用守护进程 requirepass foobared //设置客户端链接密码 port 6379 //指定端口 bind 127.0.0.1 //绑定的主机地址,若是须要远程链接,则需修改该参数 protected-mode yes // 保护模式,若是须要远程链接,则须要修改该参数
安装集群至少须要三个主节点,三个对应的从节点。防止某个节点挂掉,其余两个节点能够推举其对应得从节点为主节点,必定程度的容错。
这里在同一台机器上安装,生产环境至少须要三台机器安装。建立6个文件分别存放配置信息,文件夹名以端口命名。好比7001-7006。
在复制redis.conf配置文件
bind 0.0.0.0 //0.0.0.0表示容许全部链接 protected-mode no //保护模式,yes表示不容许远程链接 port 7001 //端口,这里每一个配置文件不一样 daemonize yes //之后台方式启动 appendonly yes //redis 将每一次写操做请求都追加到appendonly.aof 文件中redis从新启动时,会从 该文件恢复出以前的状态。 cluster-enabled yes //启用集群 cluster-node-timeout 5000 //节点超时时间
vim startall.sh 就会打开vim编辑器,建立一个空的文本
这里我每一个分别启动,脚本执行不起做用(心累)
此时,咱们进入解压的目录src下,复制redis-trib.rb 文件到redis目录;
在redis目录执行命令:
注意:这里--replicas 1 表示每一个主数据库拥有从数据库个数为1。master节点不能少于3个。
若是须要远程访问,这里的命令中127.0.0.1 须要换成服务器的ip地址。不然不能远程访问。
./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
执行./redis-trib.rb create --replicas 命令后报错:
而后,ruby-v 和gem -v 查看ruby环境发现都已经安装了。其实这个错误是缺乏redis对ruby的接口,咱们须要下载redis的gem包;
执行命令:gem install redis 有报错了。
ruby版本过低了。。。。
执行以下命令安装rvm,用他来安装ruby更新的版本:
//具体RVM安装命令地址:http://rvm.io/ [root@linux ~]# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB [root@linux ~]# curl -sSL https://get.rvm.io | bash -s stable [root@linux ~]# find / -name rvm -print [root@linux ~]# source /usr/local/rvm/scripts/rvm
安装好rvm,就能够看到不少rvm的文件。
设置默认的ruby版本
在执行gem install redis,就会安装成功了。
gem install redis
接下来执行命令安装集群:
./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
输入yes,回车。
终于成功了,显示显示的主从节点信息。
切换到任意的节点目录下,链接添加数据测试:
redis-cli -p 7001 -c
这里就能够看到set name 集群已经hash了key分布在哪一个槽上,自动跳转到对应的节点上。