Redis在Centos下搭建主从复制
1.安装虚拟机 VM
2.安装Centos7(必看)
https://blog.csdn.net/mtm001/article/details/103231135
安装jdk(以后用,可略过)
https://blog.csdn.net/mtm001/article/details/103231142
安装Tomcat(可略过)
https://blog.csdn.net/mtm001/article/details/103231147
3.环境配置
安装步骤 注意:红色字是执行的命令,可直接复制使用
1.上传、解压、更名
上传到:/soft/redis
解压:
当前目录:
cd /soft/redis
tar -zxvf redis-4.0.9.tar.gz
ls -l
结果如下
drwxrwxr-x. 6 root root 4096 3月 27 2018 redis-4.0.9 -rw-r--r--. 1 root root 1737022 7月 23 2019 redis-4.0.9.tar.gz
改名
mv redis-4.0.9 redis
查看
ls -l
drwxrwxr-x. 6 root root 4096 3月 27 2018 redis -rw-r--r--. 1 root root 1737022 7月 23 2019 redis-4.0.9.tar.gz
进入redis
cd redis
2.编译(make)和安装(install)
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
载后再执行一次上面的命令,会得到如下提示,说明安装成功 已加载插件:fastestmirror Loading mirror speeds from cached hostfile
-
base: mirrors.aliyun.com
-
extras: mirrors.aliyun.com
-
updates: mirrors.aliyun.com 软件包 gcc-4.8.5-39.el7.x86_64 已安装并且是最新版本 软件包 zlib-1.2.7-18.el7.x86_64 已安装并且是最新版本 软件包 zlib-devel-1.2.7-18.el7.x86_64 已安装并且是最新版本 软件包 pcre-devel-8.32-17.el7.x86_64 已安装并且是最新版本 软件包 1:openssl-1.0.2k-19.el7.x86_64 已安装并且是最新版本 软件包 1:openssl-devel-1.0.2k-19.el7.x86_64 已安装并且是最新版本 无须任何处理
make && make install
最后看到
Hint: It's a good idea to run 'make test' ;) INSTALL install INSTALL install INSTALL install INSTALL install INSTALL install make[1]: 离开目录“/soft/redis/redis/src” [[email protected] redis]#
查看时,已经安装在/soft/redis/redis文件夹中
如果安装时想更改目录:跳过,我不用这个
make install PREFIX=/usr/local/redis
3.配置(修改redis.conf文件) 查找 先按esc键,再输入 /关键字 n查找下一个 N查找上一个
vi redis.conf
#bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问
protected-mode no # 把yes改成no,允许外网访问
daemonize yes # 把no改成yes,后台运行
4.设置开机启动
新建一个文件,用于开机启动参数配置(可能用vi代替, 如果没有vim也可以yum install vim进安装)
vi /etc/init.d/redis
注意文件下面的内容,需要修改(这里可以看下,后面给出了全内容,直接复制过去)
EXEC=/usr/local/bin/redis-server # 执行脚本的地址 REDIS_CLI=/usr/local/bin/redis-cli # 客户端执行脚本的地址 PIDFILE=/var/run/redis.pid # 进程id文件地址 CONF="/usr/local/src/redis-3.0.2/redis.conf" #配置文件地址
完整的代码(直接复制过去,注意开头部分,有时候被吃掉,要自己补起)
#!/bin/sh # chkconfig: 2345 90 10 # description: Redis is a persistent key-value database PATH=/usr/local/bin:/sbin:/usr/bin:/bin REDISPORT=6379 EXEC=/usr/local/bin/redis-server REDIS_CLI=/usr/local/bin/redis-cli PIDFILE=/var/run/redis.pid CONF="/soft/redis/redis/redis.conf" case "$1" in start) if [ -f $PIDFILE ] then echo "$PIDFILE exists, process is already running or crashed" else echo "Starting Redis server..." $EXEC $CONF fi if [ "$?"="0" ] then echo "Redis is running..." fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." $REDIS_CLI -p $REDISPORT SHUTDOWN while [ -x ${PIDFILE} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; restart|force-reload) ${0} stop ${0} start ;; *) echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2 exit 1 esac
设置权限
chmod 755 /etc/init.d/redis
启动测试
/etc/init.d/redis start
Starting Redis server... 7259:C 23 May 09:48:54.309 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 7259:C 23 May 09:48:54.309 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=7259, just started 7259:C 23 May 09:48:54.309 # Configuration loaded Redis is running...
通过客户端(C/S)来进行访问,出现以下内容代表成功
[[email protected] redis]# cd /usr/local/bin/ [[email protected] bin]# ./redis-cli 127.0.0.1:6379> set username admin 127.0.0.1:6379> get username "admin"
集群版搭前奏
1.安装gcc
yum install gcc-c++
2.安装ruby(搭建集群版用到)
yum install centos-release-scl-rh //会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源
yum install rh-ruby23 -y //直接yum安装即可
scl enable rh-ruby23 bash //必要一步
ruby -v //查看安装版本 不然会报错 ruby版本要>=2.3
yum install ruby yum install rubygems
3.安装redis-trib.rb运行依赖的ruby包(搭建集群版用到)
gem install redis
弄两台,可以用克隆
主从复制
主,我的是192.168.93.100
确定在 cd /soft/redis/redis下
vi redis.conf
找到bind,本来是 bind 127.0.0.1
bind 0.0.0.0
port 6379
从,我的是192.168.93.101
vi redis.conf
bind 192.168.93.101 #写自己的地址
281 # slaveof <masterip> <masterport>
slaveof 192.168.93.100 6379
重启两台服务器
登入主服务器:
cd /soft/redis/redis/
redis-cli
[[email protected] redis]# cd /usr/local/bin/
[[email protected] bin]# ./redis-cli
127.0.0.1:6379> set test admin
用 windows客户端工具查看,发现可以同步的。
也可以从主登入到从:说没有设置权限
但是有查的权限的
我从从那里登不进呢
其它模式还没有搞。
哨兵模式
集群模式