今天学习redis的时候,讲到了redis集群, 然后趁着机会把redis在centos6.5上安装了一下,并进行了集群设置, 看有些人讲解的集群设置,不是很清楚,少步骤,最后导致最后一步集群的时候出错了,然后又来回找终于解决了, 成功部署了redis集群,现在把步骤写下来,供以后使用。
1. centos6.5 安装redis2.8.7
首先需要先把必备的软件安装上,如wget,gcc等 yum install wget, yum install gcc-c++,然后就可以用wget进行下载了, 我是先进入到usr/local这个文件夹下 cd /usr/local .然后进行下载
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
在进行make的时候,会出现一些异常:
zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory
异常原因:一些编译依赖或原来编译遗留出现的问题
解决方案:make distclean。清理一下,然后再make。
在make成功以后,需要make test。在make test出现异常。
异常一:
couldn't execute "tclsh8.5": no such file or directory
异常原因:没有安装tcl
解决方案:yum install -y tcl。
在make成功以后,会在src目录下多出一些可执行文件:redis-server,redis-cli等等。
方便期间用cp命令复制到usr目录下运行。
cp redis-server /usr/local/bin/
cp redis-cli /usr/local/bin/
然后新建目录,存放配置文件
mkdir /etc/redis
mkdir /var/redis
mkdir /var/redis/log
mkdir /var/redis/run
mkdir /var/redis/7000
在redis解压根目录中找到配置文件模板,复制到如下位置。
cp redis.conf /etc/redis/7000.conf
通过vim命令修改
daemonize yes
port 7000
pidfile /var/redis/run/redis_7000.pid
logfile /var/redis/log/redis_7000.log
dir /var/redis/7000
最后运行redis:
$ redis-server /etc/redis/7000.conf
运行成功,然后输入 ps -ef|grep redis 就可以看到redis的运行情况了。
2.开始进行redis集群设置。
(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)
127.0.0.1:7000
127.0.0.1:7001127.0.0.1:7002
127.0.0.1:7003
127.0.0.1:7004
127.0.0.1:7005
创建集群需要到目录文件夹
mkdir /var/redis/7001
mkdir /var/redis/7002
mkdir /var/redis/7003
mkdir /var/redis/7004
mkdir /var/redis/7005
再在etc/redis 这个文件夹里复制7000.conf 分别改名为7001.comf ,7002.conf, 7003.conf 7004.conf 7005.conf
然后在打开7000.conf这个文件 vi /etc/redis/7000.conf 对里面进行修改
daemonize yes
port 7000
pidfile /var/redis/run/redis_7000.pid
logfile /var/redis/log/redis_7000.log
dir /var/redis/7000
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 5000
appendonly yes
其中红线标注的不要省略了,不然无法进行集群设置,会报错, 红线标注的位置在828行左右。 在这个附近就可以找到三个红线标注的然后改了就行。 剩下的7001,7002.。。7005都是这样改的
,只不过把数字换成对应的数字就行了。
因为修改了端口号,所以要先重启,不然会报错, 在重启之前,先杀死redis的进程:pkill -9 redis。 然后再 reboot.
重启以后,就可以分别启动redis了
redis-server /etc/redis/7000.conf
redis-server /etc/redis/7001.conf
redis-server /etc/redis/7002.conf
redis-server /etc/redis/7003.conf
redis-server /etc/redis/7004.conf
redis-server /etc/redis/7005.conf
然后就可以看redis的启动情况
ps -ef|grep redis
结果如图所示:
这样就表示启动成功了,下面就要开始进行集群设置了。
因为要集群,所以需要redis集群插件
我们需要安装支持redis的gem工具,否则会报错
注意:gem install redis --version 3.0.0 失败的话,需要修改一下gem的源
这些配置好以后,就可进行集群设置了:
让上面的实例互相通讯(1 表示为每个master分配一个salve)
/usr/local/redis-stable/src/redis-trib.rb create --replicas 1 \127.0.0.1:7000 \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
输入yes,然后配置完成
至此,redis集群已经完成了。
使用redis-cli命令进入集群环境
redis-cli -c -p 7000 |
感觉这个链接里讲的也有点深度, 可以在集群配置好后看下。redis 集群设置
每天进步一点点!