CentOS7安装Redis集群

作者: 蓝骑士 分类: Linux,个人作品 发布时间: 2018-06-21 14:21

安装依赖

yum install gcc-c++
yum install ruby ruby-devel rubygems rpm-build

安装官方脚本

wget https://rubygems.org/downloads/redis-3.2.1.gem
gem install redis-3.2.1.gem

下载Redis源码

wget http://download.redis.io/releases/redis-3.2.11.tar.gz
tar zxvf redis-3.2.11.tar.gz
cd redis-3.2.11
make
make PREFIX=/usr/local/redis install
# 拷贝conf文件
mkdir /usr/local/redis/conf/
cp redis.conf /usr/local/redis/conf/redis.conf
# 启动redis
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf

搭建Redis集群

# 复制多个conf文件
cd /usr/local/redis/conf/
cp redis.conf redis_xxx.conf
# 修改配置,每个conf文件都需修改
vim redis_xxx.conf
    port xxxx #修改端口 
    cluster-enabled yes #打开注释,开启集群模式 
    cluster-config-file nodes-xxxx.conf #集群的配置文件
    pidfile /var/run/redis_xxxx.pid #pidfile文件 
    logfile "xxxx.log" #日志文件 
    dbfilename dump_xxxx.rdb #rdb持久化文件 
    cluster-node-timeout 5000 #请求超时,单位毫秒 
    appendonly yes #开启aof持久化方式
vim start-all.sh
	#! /bin/bash
	/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis_1.conf
	/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis_2.conf
	/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis_3.conf
	/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis_4.conf
chmod +x start-all.sh	
./start-all.sh
# 查看是否启动成功
ps aux | grep redis
	root       2780  0.8  0.5 139016  9808 ?        Ssl  09:29   0:45 /usr/local/redis-cluster/redis/bin/redis-server 0.0.0.0:7001 [cluster]
	root       2782  0.9  0.4 136968  7756 ?        Ssl  09:29   0:46 /usr/local/redis-cluster/redis/bin/redis-server 0.0.0.0:7002 [cluster]
	

创建集群

第一步:搭建集群 ./redis-trib.rb create ,选择yes接受建议的配置
第二步:进入集群客户端 ./redis-cli -h 任意主机host -p 任意主机port -c,-c表示以集群方式连接redis
第三步:保存数据
第四步:cluster info 查询集群状态信息
第五步:cluster nodes 查询集群结点信息

 

cd redis-3.2.11
cp src/redis-trib.rb /usr/local/redis-cluster/redis-trib.rb
# 集群创建命令: ./redis-trib.rb create 创建集群,--replicas 1 给每个主机分配一个从机,后面其他参数都是redis服务的ip:port。最后输入yes来接受建议的配置
redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.01:7002 127.0.0.1:7003 127.0.0.1:7004
	[OK] All 16384 slots covered. # 表示创建成功
/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 7001 -c
127.0.0.1:7001> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:3
cluster_stats_messages_sent:12578
cluster_stats_messages_received:12578

添加防火墙过滤

firewall-cmd --zone=public --add-port=7001/tcp --permanent
firewall-cmd --zone=public --add-port=7002/tcp --permanent
firewall-cmd --zone=public --add-port=7003/tcp --permanent
firewall-cmd --zone=public --add-port=7004/tcp --permanent
firewall-cmd --zone=public --add-port=17001/tcp --permanent # 集群通信端口号为redis端口加10000
firewall-cmd --zone=public --add-port=17002/tcp --permanent # 集群通信端口号为redis端口加10000
firewall-cmd --zone=public --add-port=17003/tcp --permanent # 集群通信端口号为redis端口加10000
firewall-cmd --zone=public --add-port=17004/tcp --permanent # 集群通信端口号为redis端口加10000
firewall-cmd --reload # 重新加载

 

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!