安装、配置Redis集群
目录
安装、配置Redis集群... 1
1.配置yum... 1
2.安装gcc. 1
3.下载软件包... 2
4.安装(主从都需要安装) 2
5.配置redis集群... 3
6.启动与关闭... 4
7.安装ruby rubygems. 4
8.初始化集群... 4
注:本例操作系统为Red Hat Enterprise Linux Server release 6.4
1.配置yum
未注册的Redhat不支持yum,调整步骤:
cd /etc/yum.repos.d
mv rhel-source.repo rhel-source.repo.bk
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
#163 yum源是国内比较好的。
mv CentOS6-Base-163.repo rhel-source.repo
yum makecache
2.安装gcc
在进行linux系统安装时,系统工程师往往会最小化安装相应的在linux系统。那么,在这样的linux系统上进行源码文件编译安装时,通常都会出现cc: Command not found,这说明系统上没有安装C语言环境,需要安装,在linux系统上的C环境是gcc,因此需要安装gcc。
gcc -v #查看版本
yum -y install gcc #安装
3.下载软件包
cd /usr/local/src/
wget http://download.redis.io/releases/redis-3.0.7.tar.gz #下载
4.安装(主从都需要安装)
tar -xzvf redis-3.0.7.tar.gz #解压
mv redis-3.0.7 /usr/local/
cd /usr/local/redis-3.0.7/
make #安装
如果报错:
A.zmalloc.h:50:31:
错误:jemalloc/jemalloc.h:没有那个文件或目录
B.
zmalloc.h:55:2: 错误:#error
"Newer version of jemalloc required"
原因是jemalloc重载了Linux下的ANSI C的malloc和free函数。
解决办法:make时添加参数
make MALLOC=libc
一般会出现提示
Hint: To run ‘make
test‘ is a good idea ;)
但是不测试,通常是可以使用的。若我们运行make test ,会有如下提示
You need tcl 8.5 or
newer in order to run the Redis test
make: ***[test]
Error_1
解决办法是安装tcl8.5
yum install tcl #安装
再次运行 make test 提示:
All tests passed
without errors!
表示测试通过没有问题。
5.配置redis集群
cd /usr/local/
mkdir redis_cluster
//创建集群目录
cd
redis_cluster
mkdir 7000 7001 //分别代表2个节点 其对应端口 7000 7001
#以创建7000节点为例,
cd 7000
cp /usr/local/redis-3.0.7/redis.conf
./ //拷贝到当前7000目录
vi
redis.conf //编辑配置
daemonize yes
//redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000
port 7000
//端口7000
cluster-enabled yes
//开启集群 把注释#去掉
cluster-config-file nodes.conf //集群的配置 配置文件首次启动自动生成
cluster-node-timeout 15000 //请求超时 默认15秒
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
6.启动与关闭
启动
cd /usr/local/redis_cluster/7000
/usr/local/redis-3.0.7/src/redis-server redis.conf
ps -ef | grep redis 查看是否启动成功
netstat -tnlp | grep redis 可以看到redis监听端口
关闭
/usr/local/redis-3.0.7/src/redis-cli -p 7000 shutdown
7.安装ruby rubygems
yum install ruby
yum install rubygems
gem install redis --version 3.0.7
8.初始化集群
查看防火墙状态
service iptables
status
关闭防火墙
chkconfig iptables off
#初始化集群
/usr/local/redis-3.0.7/src/redis-trib.rb create --replicas 1 192.168.1.10:7000 192.168.1.11:7000 192.168.1.12:7000 192.168.1.10:7001 192.168.1.11:7001 192.168.1.12:7001
#节点角色由顺序决定,先master之后是slave,本文中7000是master,7001是slave