爱死你了 发表于 2016-12-18 08:08:43

基于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/
页: [1]
查看完整版本: 基于vagrant的redis主从实验