赞
踩
IP地址 | 系统版本 | redis版本 | |
maste | 192.168.10.11 | Centos 7.8 | redis-7.0.0 |
slave-1 | 192.168.10.12 | ||
slave-2 | 192.168.10.13 |
- cd 目录名 #这一步可跳过
- wget https://download.redis.io/releases/redis-7.0.0.tar.gz
- tar -xf redis-7.0.0.tar.gz
- yum install -y gcc-c++ #安装编译需要的环境
- cd Redis目录 #不知道是哪个目录看第1步
- make && make install #安装后的执行文件放在/usr/local/bin
vim /usr/lib/systemd/system/redis.service
- ##文件内容##
-
- [Unit]
- Description=Redis persistent key-value database
- After=network.target
- After=network-online.target
- Wants=network-online.target
-
- [Service]
- ExecStart=执行目录/redis-server Redis目录/redis.conf --supervised systemd #启动命令
- ExecStop=/usr/libexec/redis-shutdown #停止命令
- Type=forking
- User=用户名 #正常情况下是root用户,如果需要用其他用户启动则改为其他用户
- Group=组名 #跟上面同理,正常情况下是root
- RuntimeDirectory=redis
- RuntimeDirectoryMode=0755
- LimitNOFILE=65536 #限制文件和进程打开的数量,如不限制则设置为LimitNOFILE=unlimited
- PrivateTmp=true
-
-
- [Install]
- WantedBy=multi-user.target
###注意###
文件中的ExecStart需要的参数不知道的话可以用下面的命令查找
- whereis redis-server
- find / -name redis.conf
- vim /usr/libexec/redis-shutdown
- chmod +x /usr/libexec/redis-shutdown
- ##文件内容##
-
- #!/bin/bash
- #
- # Wrapper to close properly redis and sentinel
- test x"$REDIS_DEBUG" != x && set -x
-
- REDIS_CLI=/usr/local/bin/redis-cli
-
- # Retrieve service name
- SERVICE_NAME="$1"
- if [ -z "$SERVICE_NAME" ]; then
- SERVICE_NAME=redis
- fi
-
- # Get the proper config file based on service name
- CONFIG_FILE="Redis目录/$SERVICE_NAME.conf"
-
- # Use awk to retrieve host, port from config file
- HOST=`awk '/^[[:blank:]]*bind/ { print $2 }' $CONFIG_FILE | tail -n1`
- PORT=`awk '/^[[:blank:]]*port/ { print $2 }' $CONFIG_FILE | tail -n1`
- PASS=`awk '/^[[:blank:]]*requirepass/ { print $2 }' $CONFIG_FILE | tail -n1`
- SOCK=`awk '/^[[:blank:]]*unixsocket\s/ { print $2 }' $CONFIG_FILE | tail -n1`
-
- # Just in case, use default host, port
- HOST=${HOST:-127.0.0.1}
- if [ "$SERVICE_NAME" = redis ]; then
- PORT=${PORT:-6379}
- else
- PORT=${PORT:-26739}
- fi
-
- # Setup additional parameters
- # e.g password-protected redis instances
- [ -z "$PASS" ] || ADDITIONAL_PARAMS="-a $PASS"
-
- # shutdown the service properly
- if [ -e "$SOCK" ] ; then
- $REDIS_CLI -s $SOCK $ADDITIONAL_PARAMS shutdown
- else
- $REDIS_CLI -h $HOST -p $PORT $ADDITIONAL_PARAMS shutdown
- fi
systemctl daemon-reload
- echo 'vm.overcommit_memory=1' >> /etc/sysctl.conf && sysctl -p #所有节点
- mkdir 目录 # 创建数据目录
- vim Redis目录/redis.conf # 所有节点都需要修改文件。
- systemctl daemon-reload # 修改配置后重新加载服务
- ##找到并修改、增加以下内容
-
- bind 0.0.0.0 #监听IP,有多个IP用逗号隔开
- daemonize yes
- logfile "/var/log/redis_6379.log"
- save 900 1
- save 300 10
- save 60 10000
- dir 数据目录 #自定义数据目录
- masterauth 密码
- requirepass 密码 # masterauth与requirepass的密码可以设置一样
- ##找到并修改、增加以下内容
-
- bind 0.0.0.0 #监听IP,有多个IP用逗号隔开
- daemonize yes
- logfile "/var/log/redis_6379.log"
- save 900 1
- save 300 10
- save 60 10000
- dir 数据目录 #自定义数据目录
- masterauth 密码
- requirepass 密码 # masterauth与requirepass的密码可以设置一样
- slaveof master的IP master的端口号 #端口号一般情况下是6379
- ### slave-2配置同slave-1基本一样
- ### 具体看上一步
- systemctl start redis
- systemctl restart redis
- systemctl stop redis
- systemctl status redis
redis-cli -h 本机IP -a 密码 info replication #在master机上操作
redis-cli -h 本机IP -a 密码 info replication #在slave机上操作
- ##在master机上插入数据
- redis-cli -h master的IP
- auth 密码
- set xx xxx
- ##在slave机上查看数据
- redis-cli -h 本机IP -a 密码
- get xxx 查看数据
-
-
- ##插入数据失败(正常)
- set xxx
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。