Search in sources :

Example 1 with AppDataMigrateResult

use of com.sohu.cache.constant.AppDataMigrateResult in project cachecloud by sohutv.

the class AppDataMigrateCenterTest method testCheckMigrateMachine.

@Test
public void testCheckMigrateMachine() {
    // 1.机器是否在列表里(已测)
    // 2.是否正确安装redis-migrate-tool(已测)
    // 3.是否存在正在执行的redis-migrate-tool(已测)
    String migrateMachineIp = "127.0.0.1";
    AppDataMigrateEnum sourceRedisMigrateEnum = AppDataMigrateEnum.REDIS_NODE;
    String sourceServers = "127.0.0.1:6379";
    AppDataMigrateEnum targetRedisMigrateEnum = AppDataMigrateEnum.REDIS_CLUSTER_NODE;
    String targetServers = "127.0.0.1:6380";
    AppDataMigrateResult redisMigrateResult = appDataMigrateCenter.check(migrateMachineIp, sourceRedisMigrateEnum, sourceServers, targetRedisMigrateEnum, targetServers, REDIS_SOURCE_PASS, REDIS_TARGET_PASS);
    logger.info("===============testCheck start=================");
    logger.info(redisMigrateResult.toString());
    logger.info("===============testCheck end=================");
}
Also used : AppDataMigrateEnum(com.sohu.cache.constant.AppDataMigrateEnum) AppDataMigrateResult(com.sohu.cache.constant.AppDataMigrateResult) BaseTest(com.sohu.test.BaseTest) Test(org.junit.Test)

Example 2 with AppDataMigrateResult

use of com.sohu.cache.constant.AppDataMigrateResult in project cachecloud by sohutv.

the class AppDataMigrateCenterTest method testCheckServers.

@Test
public void testCheckServers() {
    // 1. 实例列表格式问题(已测)
    // 2.1 rdb文件是否存在(已测)
    // 2.2 redis节点是否存活
    String migrateMachineIp = "127.0.0.1";
    // RedisMigrateEnum sourceRedisMigrateEnum =
    // RedisMigrateEnum.REDIS_NODE;
    // String sourceServers = "127.0.0.1:6388";
    AppDataMigrateEnum sourceRedisMigrateEnum = AppDataMigrateEnum.RDB_FILE;
    String sourceServers = "/opt/soft/redis/data/dump-6380.rdb";
    AppDataMigrateEnum targetRedisMigrateEnum = AppDataMigrateEnum.REDIS_CLUSTER_NODE;
    String targetServers = "127.0.0.1:6380";
    AppDataMigrateResult redisMigrateResult = appDataMigrateCenter.check(migrateMachineIp, sourceRedisMigrateEnum, sourceServers, targetRedisMigrateEnum, targetServers, REDIS_SOURCE_PASS, REDIS_TARGET_PASS);
    logger.info("===============testCheck start=================");
    logger.info(redisMigrateResult.toString());
    logger.info("===============testCheck end=================");
}
Also used : AppDataMigrateEnum(com.sohu.cache.constant.AppDataMigrateEnum) AppDataMigrateResult(com.sohu.cache.constant.AppDataMigrateResult) BaseTest(com.sohu.test.BaseTest) Test(org.junit.Test)

Example 3 with AppDataMigrateResult

use of com.sohu.cache.constant.AppDataMigrateResult in project cachecloud by sohutv.

the class AppDataMigrateController method check.

/**
     * 检查配置
     * @return
     */
@RequestMapping(value = "/check")
public ModelAndView check(HttpServletRequest request, HttpServletResponse response, Model model) {
    //相关参数
    String migrateMachineIp = request.getParameter("migrateMachineIp");
    String sourceRedisMigrateIndex = request.getParameter("sourceRedisMigrateIndex");
    AppDataMigrateEnum sourceRedisMigrateEnum = AppDataMigrateEnum.getByIndex(NumberUtils.toInt(sourceRedisMigrateIndex, -1));
    String sourceServers = request.getParameter("sourceServers");
    String targetRedisMigrateIndex = request.getParameter("targetRedisMigrateIndex");
    AppDataMigrateEnum targetRedisMigrateEnum = AppDataMigrateEnum.getByIndex(NumberUtils.toInt(targetRedisMigrateIndex, -1));
    String targetServers = request.getParameter("targetServers");
    String redisSourcePass = request.getParameter("redisSourcePass");
    String redisTargetPass = request.getParameter("redisTargetPass");
    //检查返回结果
    AppDataMigrateResult redisMigrateResult = appDataMigrateCenter.check(migrateMachineIp, sourceRedisMigrateEnum, sourceServers, targetRedisMigrateEnum, targetServers, redisSourcePass, redisTargetPass);
    model.addAttribute("status", redisMigrateResult.getStatus());
    model.addAttribute("message", redisMigrateResult.getMessage());
    return new ModelAndView("");
}
Also used : AppDataMigrateEnum(com.sohu.cache.constant.AppDataMigrateEnum) AppDataMigrateResult(com.sohu.cache.constant.AppDataMigrateResult) ModelAndView(org.springframework.web.servlet.ModelAndView) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 4 with AppDataMigrateResult

use of com.sohu.cache.constant.AppDataMigrateResult in project cachecloud by sohutv.

the class AppDataMigrateController method stop.

/**
     * 停掉迁移任务
     * @return
     */
@RequestMapping(value = "/stop")
public ModelAndView stop(HttpServletRequest request, HttpServletResponse response, Model model) {
    //任务id:查到任务相关信息
    long id = NumberUtils.toLong(request.getParameter("id"));
    AppDataMigrateResult stopMigrateResult = appDataMigrateCenter.stopMigrate(id);
    model.addAttribute("status", stopMigrateResult.getStatus());
    model.addAttribute("message", stopMigrateResult.getMessage());
    return new ModelAndView("");
}
Also used : AppDataMigrateResult(com.sohu.cache.constant.AppDataMigrateResult) ModelAndView(org.springframework.web.servlet.ModelAndView) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 5 with AppDataMigrateResult

use of com.sohu.cache.constant.AppDataMigrateResult in project cachecloud by sohutv.

the class AppDataMigrateCenterImpl method check.

@Override
public AppDataMigrateResult check(String migrateMachineIp, AppDataMigrateEnum sourceRedisMigrateEnum, String sourceServers, AppDataMigrateEnum targetRedisMigrateEnum, String targetServers, String redisSourcePass, String redisTargetPass) {
    // 1. 检查migrateMachineIp是否安装
    AppDataMigrateResult migrateMachineResult = checkMigrateMachine(migrateMachineIp);
    if (!migrateMachineResult.isSuccess()) {
        return migrateMachineResult;
    }
    // 2. 检查源配置
    AppDataMigrateResult sourceResult = checkMigrateConfig(migrateMachineIp, sourceRedisMigrateEnum, sourceServers, redisSourcePass, true);
    if (!sourceResult.isSuccess()) {
        return sourceResult;
    }
    // 3. 检查目标
    AppDataMigrateResult targetResult = checkMigrateConfig(migrateMachineIp, targetRedisMigrateEnum, targetServers, redisTargetPass, false);
    if (!targetResult.isSuccess()) {
        return targetResult;
    }
    return AppDataMigrateResult.success();
}
Also used : AppDataMigrateResult(com.sohu.cache.constant.AppDataMigrateResult)

Aggregations

AppDataMigrateResult (com.sohu.cache.constant.AppDataMigrateResult)5 AppDataMigrateEnum (com.sohu.cache.constant.AppDataMigrateEnum)3 BaseTest (com.sohu.test.BaseTest)2 Test (org.junit.Test)2 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)2 ModelAndView (org.springframework.web.servlet.ModelAndView)2