Nacos集群部署

吴书松
吴书松
发布于 2024-05-30 / 9 阅读
1

Nacos集群部署

Nacos集群部署

1、nacos集群配置

1、关闭单机启动

System.setProperty(ConfigConstants.STANDALONE_MODE, "false");

2、修改nacos端口

nacos不能通过server.port去修改端口,需要通过java配置去修改

System.setProperty("server.port","18847");

或者

java -Dfile.encoding=utf-8 -jar jm-cloud-register.jar --server.port=8849 --spring.profiles.active=dev

3、配置nacos的工作目录,并指定集群配置

指定工作目录的绝对路径

		System.setProperty(EnvUtil.NACOS_HOME_KEY, "F:\\work\\project\\idea\\v1\\pig-tmp-demo\\nacos-jq\\dev");

在路径下创建目录:conf

在conf中创建文件:cluster.conf 内容:nacos集群的各个IP:PORT

#2024-06-21T10:14:19.578
192.168.1.233:18847
192.168.1.233:28846
192.168.1.233:8848

启动命令


添加启动参数

1:-Dnacos.standalone=false
2:-Dnacos.home=/usr/local/java/nacos/wk/

如:

nohup java -Dfile.encoding=utf-8 -Dnacos.standalone=false -Dnacos.home=/usr/local/java/nacos/wk/ -jar -Xms512M -Xmx512M wss-news-0.0.1-SNAPSHOT.jar --server.port=8848 --spring.profiles.active=dev  >/dev/null 2>&1 &


整个启动类代码

/**
 * Nacos starter.
 *
 * @author jm-admin
 */
@Slf4j
@SpringBootApplication(scanBasePackages = "com.alibaba.nacos")
@ServletComponentScan
@EnableScheduling
public class JmCloudNacosApplication {

    public static void main(String[] args) {
        if (initEnv(args)) {
            SpringApplication.run(JmCloudNacosApplication.class, args);
        }
    }

    /**
     * 初始化运行环境
     */
    private static boolean initEnv(String[] args) {
        boolean standaloneFlag;
        String standalone = System.getProperty(ConfigConstants.STANDALONE_MODE);
        log.info("========================================================== start init =============================================================");
        log.info("========================================================== start standalone:{} ", standalone);
        if (StrUtil.isBlank(standalone)) {
            standalone = "true";
        }
        standaloneFlag = "true".equals(standalone);


        System.setProperty(ConfigConstants.AUTH_ENABLED, "true");
        System.setProperty(ConfigConstants.LOG_BASEDIR, "logs");
        System.setProperty(ConfigConstants.LOG_ENABLED, "false");
        System.setProperty(ConfigConstants.NACOS_CONTEXT_PATH, "/nacos");

        if (standaloneFlag) {
            System.setProperty(ConfigConstants.STANDALONE_MODE, "true");
        } else {
            String nacosHome = System.getProperty(EnvUtil.NACOS_HOME_KEY);
            if (StrUtil.isBlank(nacosHome)) {
                nacosHome = "./";
            }
            log.info("========================================================== start nacos.home:{} ", nacosHome);
            System.setProperty(ConfigConstants.STANDALONE_MODE, "false");
            System.setProperty(EnvUtil.NACOS_HOME_KEY, nacosHome);
        }

        return true;
    }
}