Centos7安装redis
安装
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar xzf redis-5.0.3.tar.gz
cd redis-5.0.3
make
cd src
make install
统一管理配置
mkdir -p /etc/redis/bin
mkdir -p /etc/redis/conf
mkdir -p /etc/redis/log
mkdir -p /etc/redis/data
mv redis.conf /etc/redis/conf/
cp redis-server /etc/redis/bin/redis-server
cp redis-cli /etc/redis/bin/redis-cli
# 修改redis.conf
#指定日志文件路径
logfile /etc/redis/log/redis.log
#数据文件路径
dir /etc/redis/data/
# 后台启动redis
daemonize yes
# 允许外网访问
#bind 127.0.0.1
# redis3.2之后
protected-mode no
# 开启集群模式
cluster-enabled yes
#配置节点之间超时时间
cluster-node-timeout 15000
#这个配置很重要,cluster开启必须重命名指定cluster-config-file,不能与别的节点相同,否则会启动失败,最好按主机+端口命名
cluster-config-file nodes-6379.conf
#启动redis
cd /etc/redis/bin
redis-server ../conf/redis.conf
ps -ef|grep redis
创建redis脚本,加入开机启动项
cd /etc/init.d
# 创建脚本
touch redisd
vim redisd
# 复制
#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
REDISPORT=6379
EXEC=/etc/redis/bin/redis-server
CLIEXEC=/etc/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/conf/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE 已存在,redis已经运行起来了"
else
echo "正在启动Redis..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE 不存在,redis没有在运行"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
# 授权
chomd 755 redisd
# 启动redis
service redisd start
# 停止redis
service redisd stop
# 开机启动redis
sudo chkconfig redisd on
开启集群模式(版本不同有差异)
Redis 官方提供了 redis-trib.rb 这个工具,这个工具是用 ruby 实现的,所以需要安装 ruby
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis
# 报错 centos系统默认支持Ruby版本为2.0.0
Fetching: redis-4.0.3.gem (100%)
ERROR: Error installing redis:
redis requires Ruby version >= 2.2.2.
# 解决方法是先安装rvm,再升级ruby版本。
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable
source /usr/local/rvm/scripts/rvm
# 查看ruby版本,选择最新或者version >= 2.2.2安装
rvm list known
rvm install 2.5.3
#使用一个ruby版本
rvm use 2.5.3
#设置默认版本:(设置ruby2.4.1为默认的ruby,因为还安装有2.0.0)
rvm use 2.5.3 --default
#卸载一个已知版本
rvm remove 2.3.4
#查看ruby版本:
ruby --version
#安装redis
gem install redis
# 创建集群,redis集群最少要求有3个master,按照m-s 1:1来算,至少要6个redis节点
redis-trib.rb create --replicas 1 192.168.119.131:9001 192.168.119.131:9002 192.168.119.131:9003 192.168.119.131:9004 192.168.119.131:9005 192.168.119.131:9006
-----------5.0以上版本不在使用redis-trib.rb 而是是用redis-cli
redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1
注意端口一定要开放,除此之外,master节点要开放集群总线端口(就是master 端口+10000)
例如 6379 那么总线端口就是16379
over ,enjoy work!