基于vagrant的redis主从实验

阅读更多

平台: Mac

工具: Vagrant

系统: Centos6.5

实验目的: Redis主从

 

实现思路

制作一个基于sentos6.5, 已经安装好reids的box, 添加一个脚本配置从机, 然后作为后面主机从机的基础box

 

制作sentos6.5+redis的box

 

mkdir vagrant_redis

cd vagrant_redis

 

1.初始化vagrant

vagrant init sentos6.5

 

2.定义两台机器

vim Vagrantfile

 

打开公网

config.vm.network "public_network"

 

3.启动

vagrant up 

选择网络的时候选择1, 设置桥接的网卡

 

4.连接到主机

vagrant ssh

 

5. 主机安装redis

切换到root用户安装软件

sudo su -

 

先安装redis所需要的依赖包

yum -y install vim gcc-c++ tcl

 

下载redis

wget http://download.redis.io/redis-stable.tar.gz

解压

tar xvzf redis-stable.tar.gz

进入目录

cd redis-stable

make

在make成功以后,会在src目录下多出一些可执行文件:redis-server,redis-cli等等

为了方便使用, 将其复制到usr目录下

cp src/redis-server /usr/local/bin/

cp src/redis-cli /usr/local/bin/

 

然后新建目录,存放配置文件

 

mkdir /etc/redis

mkdir /var/redis

mkdir /var/redis/log

mkdir /var/redis/run

mkdir /var/redis/6379

 

在redis解压根目录中找到配置文件模板,复制到如下位置

cp redis.conf /etc/redis/6379.conf

 

通过vim命令修改

vim /etc/redis/6379.conf

daemonize yes

pidfile /var/redis/run/redis_6379.pid

logfile /var/redis/log/redis_6379.log

dir /var/redis/6379

 

最后运行redis

redis-server /etc/redis/6379.conf

 

写一个从机上面的一键配置脚本, 使用说明: sh config_redis_slave.sh 主机的ip地址 主机的端口

 

vim config_redis_slave.sh

```

#!/bin/bash

 

if [ ! $1 ];then

        echo "Usage: sh config_redis_slave ip_addr port"

        exit

fi

 

if [ ! $2 ];then

        echo "Usage: sh config_redis_slave ip_addr port"

        exit

fi

 

echo "slaveof $1 $2" >> /etc/redis/6379.conf

redis-server /etc/redis/6379.conf

```

 

打包

sudo rm -rf /etc/udev/rules.d/70-persistent-net.rules  //打包前的准备

exit

vagrant package --output sentos6.5redis.box

vagrant box add --name sentos6.5redis sentos6.5redis.box

vagrant box list

 

看到sentos6.5redis的box说明已经添加成功了, 基于这个box搭建redis主从集群

cd ../

mkdir redis_master_slave

cd redis_master_slave

 

1.初始化

vagrant init sentos6.5redis

 

2.定义一主三从, 从的数量可以根据需求来配置

vim Vagrantfile

 

添加一主一从, 配置网络为公网, 让局域网其他人也可以访问

 config.vm.define "master" do |master|

      master.vm.network "public_network"

      master.vm.hostname = "master"

  end  

  config.vm.define "slave1" do |slave1|

      slave1.vm.network "public_network"

      slave1.vm.hostname = "slave1"

  end 

  config.vm.define "slave2" do |slave2|

      slave2.vm.network "public_network"

      slave2.vm.hostname = "slave2"

  end 

  config.vm.define "slave3" do |slave3|

      slave3.vm.network "public_network"

      slave3.vm.hostname = "slave3"

  end 

 

3.全部启动

vagrant up 

选择网络的时候选择1, 设置桥接的网卡

 

4.连接到主机

vagrant ssh master

 

5.启动redis服务, 并设置值并读取

sudo su -

redis-server /etc/redis/6379.conf

redis-cli

set name maxwelldu

get name

exit

ifconfig 

192.168.31.128

 

6.添加一个标签, control+t 一个脚本配置从1

vagrant ssh slave1

sudo su -

 

redis-server /etc/redis/6379.conf 192.168.31.194 6379

redis-cli

get name

 

后面所有的从机都像第6步一样操作即可

 

相关命令和网址:

关闭redis-server

pkill redis-server

官网地址

http://redis.io/

http://redis.cn/

你可能感兴趣的:(基于vagrant的redis主从实验)