Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >nacos集群配置

nacos集群配置

作者头像
Reset
发布于 2022-12-27 08:13:46
发布于 2022-12-27 08:13:46
1.1K00
代码可运行
举报
文章被收录于专栏:ResetReset
运行总次数:0
代码可运行

1.nacos的下载(注意nacos需要和springcloud alibaba 版本对应)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
下载合适版本之后,把nacos的3个配置文件分别修改
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
配置文件1. cluster.conf
格式为:IP+端口号 
172.168.139.101:8848 
192.168.187.161:8848
192.168.140.196:8848

注意:发布在云服务上时其他几个为外网IP地址+ 端口号,本机为内网的IP地址
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
配置文件2: application.properties 
该配置文件需要配置持久化(mysql配置)
#################
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos
db.user.0=root  
db.password.0=123456

url:jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
修改配置 startup.sh
(1)修改启动命令
  while getopts ":m:f:s:c:p:d:" opt
d)         #在该位置配置上端口号的配置命令
            PROT=$OPTARG;;  #加入该代码
(2)修改占用内存
## 在该位置限制nacos启动之后占用的内存   -Xms600m -Xmx912m 最小600M 最多912M
    JAVA_OPT="${JAVA_OPT} -server -Xms600m -Xmx912m -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
(3)在最下面
## 新增如下配置: -Dserver.prot=${PROT}
nohup $JAVA -Dserver.prot=${PROT}  ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &



完整配置文件如下:
cygwin=false
darwin=false
os400=false
case "`uname`" in
CYGWIN*) cygwin=true;;
Darwin*) darwin=true;;
OS400*) os400=true;;
esac
error_exit ()
{
    echo "ERROR: $1 !!"
    exit 1
}
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
[ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME

if [ -z "$JAVA_HOME" ]; then
  if $darwin; then

    if [ -x '/usr/libexec/java_home' ] ; then
      export JAVA_HOME=`/usr/libexec/java_home`

    elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then
      export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home"
    fi
  else
    JAVA_PATH=`dirname $(readlink -f $(which javac))`
    if [ "x$JAVA_PATH" != "x" ]; then
      export JAVA_HOME=`dirname $JAVA_PATH 2>/dev/null`
    fi
  fi
  if [ -z "$JAVA_HOME" ]; then
        error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better!"
  fi
fi

export SERVER="nacos-server"
export MODE="cluster"
export FUNCTION_MODE="all"
export MEMBER_LIST=""
export EMBEDDED_STORAGE=""
while getopts ":m:f:s:c:p:d:" opt
do
    case $opt in
        m)
            MODE=$OPTARG;;
        f)
            FUNCTION_MODE=$OPTARG;;
        s)
            SERVER=$OPTARG;;
        c)
            MEMBER_LIST=$OPTARG;;
        p)
            EMBEDDED_STORAGE=$OPTARG;;
        d)         #在该位置配置上端口号的配置命令
            PROT=$OPTARG;;  #加入该代码
        ?)
        echo "Unknown parameter"
        exit 1;;
    esac
done

export JAVA_HOME
export JAVA="$JAVA_HOME/bin/java"
export BASE_DIR=`cd $(dirname $0)/..; pwd`
export CUSTOM_SEARCH_LOCATIONS=file:${BASE_DIR}/conf/

#===========================================================================================
# JVM Configuration
#===========================================================================================
if [[ "${MODE}" == "standalone" ]]; then
    JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"
    JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
    if [[ "${EMBEDDED_STORAGE}" == "embedded" ]]; then
        JAVA_OPT="${JAVA_OPT} -DembeddedStorage=true"
    fi 
    ## 在该位置限制nacos启动之后占用的内存   -Xms600m -Xmx912m 最小600M 最多912M
    JAVA_OPT="${JAVA_OPT} -server -Xms600m -Xmx912m -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
    JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"

fi

if [[ "${FUNCTION_MODE}" == "config" ]]; then
    JAVA_OPT="${JAVA_OPT} -Dnacos.functionMode=config"
elif [[ "${FUNCTION_MODE}" == "naming" ]]; then
    JAVA_OPT="${JAVA_OPT} -Dnacos.functionMode=naming"
fi
JAVA_OPT="${JAVA_OPT} -Dnacos.member.list=${MEMBER_LIST}"

JAVA_MAJOR_VERSION=$($JAVA -version 2>&1 | sed -E -n 's/.* version "([0-9]*).*$/\1/p')
if [[ "$JAVA_MAJOR_VERSION" -ge "9" ]] ; then
  JAVA_OPT="${JAVA_OPT} -Xlog:gc*:file=${BASE_DIR}/logs/nacos_gc.log:time,tags:filecount=10,filesize=102400"
else
  JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext"
  JAVA_OPT="${JAVA_OPT} -Xloggc:${BASE_DIR}/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M"
fi

JAVA_OPT="${JAVA_OPT} -Dloader.path=${BASE_DIR}/plugins/health,${BASE_DIR}/plugins/cmdb"
JAVA_OPT="${JAVA_OPT} -Dnacos.home=${BASE_DIR}"
JAVA_OPT="${JAVA_OPT} -jar ${BASE_DIR}/target/${SERVER}.jar"
JAVA_OPT="${JAVA_OPT} ${JAVA_OPT_EXT}"
JAVA_OPT="${JAVA_OPT} --spring.config.additional-location=${CUSTOM_SEARCH_LOCATIONS}"
JAVA_OPT="${JAVA_OPT} --logging.config=${BASE_DIR}/conf/nacos-logback.xml"
JAVA_OPT="${JAVA_OPT} --server.max-http-header-size=524288"

if [ ! -d "${BASE_DIR}/logs" ]; then
  mkdir ${BASE_DIR}/logs
fi

echo "$JAVA ${JAVA_OPT}"

if [[ "${MODE}" == "standalone" ]]; then
    echo "nacos is starting with standalone"
else
    echo "nacos is starting with cluster"
fi

# check the start.out log output file
if [ ! -f "${BASE_DIR}/logs/start.out" ]; then
  touch "${BASE_DIR}/logs/start.out"
fi
# start
echo "$JAVA ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 &
## 新增如下配置: -Dserver.prot=${PROT}
nohup $JAVA -Dserver.prot=${PROT}  ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
echo "nacos is starting,you can check the ${BASE_DIR}/logs/start.out"

3.启动nacos

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./startup.sh -d 8848

NACOS 集群

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Nacos2.1.0 - 外网服务器上的集群部署
简介什么是 NacosNacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服
Reset
2022/12/19
2.3K0
快速学习源码的一些技巧
Nacos 启动是通过sh startup.sh -m standalone指令,这里主要是 startup.sh 脚本。
鳄鱼儿
2024/05/21
2570
快速学习源码的一些技巧
Nacos极简教程 _
服务发现和服务健康监测:支持基于DNS和基于RPC的服务发现,支持对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求;
落寞的鱼丶
2022/02/17
1.1K0
微服务组件-----Spring Cloud Alibaba 注册中心 Nacos源码(1.4.x版本)分析
【1】服务注册:Nacos Client会通过发送REST请求的方式向Nacos Server注册自己的服务,提供自身的元数据,比如ip地址、端口等信息。Nacos Server接收到注册请求后,就会把这些元数据信息存储在一个双层的内存Map中。
忧愁的chafry
2022/10/30
1.2K0
微服务组件-----Spring Cloud Alibaba 注册中心 Nacos源码(1.4.x版本)分析
Nacos 内存参数修改调优
在Spring Cloud项目中我们经常会用到Nacos,但如果只是在测试环境或者微服务数量相对比较少时,采用Nacos默认的JVM配置会浪费很多资源。特别是那些低配置用来研究的服务器。
程序新视界
2021/12/07
5.5K0
Nacos启动报错解决:which: no javac in (/usr/local/sbin:/usr/local/bin:/
报错信息: [root@localhost bin]# bash startup.sh -m standalone which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) readlink: 缺少操作数 Try 'readlink --help' for more information. dirname: 缺少操作数 Try 'dirname --help' for more information.
非著名运维
2022/06/22
3.6K0
SpringCloud 2.x学习笔记:21、Nacos集群模式部署
官方参考文档 https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
程裕强
2019/07/01
1.1K0
SpringCloud 2.x学习笔记:21、Nacos集群模式部署
【开发日记】Nacos安装踩坑日记
官方地址:https://github.com/alibaba/nacos/releases
全栈开发日记
2022/08/30
1.1K0
【开发日记】Nacos安装踩坑日记
团队java后端基础镜像选择思考
号称万能的java启动脚本;更多能力待挖掘,后面专题分享; 对比 版本/对比维度openjdk:8u312-jre-slim-busteropenjdk:8u212-jre-alpine3.9fabric8/java-alpine-openjdk8-jre:19RootWebApplicationContext Init858ms832ms864msjvm start1.647s1.57s1.693sjava 版本 openjdk version "1.8.0_212"openjdk version "1.8.0_275"体积大小207M105M129M基础镜像大小187M85M109M系统版本 Linux 2e8c6adc94c6 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 Linux最终选择居中的: fabric8/java-alpine-openjdk8-jre:19 预置了一些监控; java -Xms512m -Xmx1024m -Xss256k -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+UseCGroupMemoryLimitForHeap -XX:+HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Dserver.port=8080 -Dspring.cloud.nacos.config.enabled=false -Dspring.cloud.nacos.discovery.server-addr=svc-nacos:8848 -Dspring.cloud.nacos.discovery.namespace=public -javaagent:/opt/agent-bond/agent-bond.jar=jolokia{{host=0.0.0.0}},jmx_exporter{{9779:/opt/agent-bond/jmx_exporter_config.yml}} -XX:ParallelGCThreads=1 -XX:ConcGCThreads=1 -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 -XX:CICompilerCount=2 -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -XX:+ExitOnOutOfMemoryError -cp . -jar /deployments/api-devops-rest.jar 分为下面几种参数: jvm参数-Xms512m -Xmx1024m -Xss256k -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+UseCGroupMemoryLimitForHeap -XX:+HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Dserver.port=8080 -Dspring.cloud.nacos.config.enabled=false -Dspring.cloud.nacos.discovery.server-addr=svc-nacos:8848 -Dspring.cloud.nacos.discovery.namespace=publicagent参数-javaagent:/opt/agent-bond/agent-bond.jar=jolokia{{host=0.0.0.0}},jmx_exporter{{9779:/opt/agent-bond/jmx_exporter_config.yml}}jvm的垃圾收集参数-XX:ParallelGCThreads=1 -XX:ConcGCThreads=1 -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 -XX:CICompilerCount=2 -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePoli
李福春
2025/07/01
690
团队java后端基础镜像选择思考
【Nacos云原生】阅读源码第一步,本地启动Nacos
在我们去阅读Nacos源码之前,我们得先了解Nacos是干嘛的,以及怎么用,这样有利于我们更容易去理解源码;
石臻臻的杂货铺[同名公众号]
2022/06/27
1.2K0
【Nacos云原生】阅读源码第一步,本地启动Nacos
RocketMQ入坑系列(一)角色介绍及基本使用
从今天起,开始Rocket MQ系列。这位MQ经过了双11这种变态级别冲击的洗礼,有稳定出色的表现,作为我们这样的技术人员很有必要研究一下它。
行百里er
2020/12/02
9440
RocketMQ入坑系列(一)角色介绍及基本使用
Nacos服务自动关闭问题汇总
在使用Nacos时,有时候会遇到服务自动关闭的情况。这通常涉及到三方面的原因:内存配置、启动方式和关闭方式。下面逐一说明。
程序新视界
2021/12/07
4.3K0
RocketMQ系列(二)环境搭建
RocketMQ的基本概念在上一篇中给大家介绍了,这一节将给大家介绍环境搭建。RocketMQ中最基础的就是NameServer,我们先来看看它是怎么搭建的。
小忽悠
2020/06/05
7910
RocketMQ系列(二)环境搭建
Nacos真香,从零到一学起来
Nacos是阿里巴巴开源的微服务管理平台,可以帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。
jinjunzhu
2022/09/23
1K0
Nacos真香,从零到一学起来
【随手记】GitLab-CI?拿来吧你!
书接【Bug周刊】的gitlab-ci构建部分,我们已经对一个 maven 项目进行了CI构建,实现每次提交代码后自动打包为 jar 包,并在docker in docker 的镜像中 build 为 docker 镜像。避免跳转麻烦,把上文的构建内容放到了基础部分。
客怎眠qvq
2024/03/28
2700
【随手记】GitLab-CI?拿来吧你!
docker 里面安装 nacos (亲测有效)
安装 nacos 之前,需要在服务器上安装 zookeeper,这个是必须的,因为nacos 需要依赖 zookeeper;
一写代码就开心
2024/01/12
9970
docker 里面安装 nacos (亲测有效)
Kubernetes 1.20.5搭建sentinel
后端程序团队准备一波流springcloud架构,配置中心用了阿里开源的nacos。不出意外的要高一个sentinel做测试了.....。做一个demo开始搞一下吧。
对你无可奈何
2021/04/14
1.2K0
【RocketMq】NameServ启动脚本分析(Ver4.9.4)
最开始的mqnamesrv.sh脚本获取环境变量的部分看不懂其实没啥影响,大略有个印象即可,当然可以截取部分的命令到Linux运行测试一下就明白了,比如准备环境变量等等,最后一句话比较关键。
阿东
2023/02/22
6240
微服务(十四)——Nacos集群&mysql持久化
默认Nacos使用嵌入式数据库实现数据的存储。所以,如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储。
不愿意做鱼的小鲸鱼
2022/09/26
8320
微服务(十四)——Nacos集群&mysql持久化
rocketmq部署过程记录
这里使用了两台虚拟机,部署的是多master和多slave的异步复制模式,部署结构为:
dogfei
2020/07/31
6090
推荐阅读
相关推荐
Nacos2.1.0 - 外网服务器上的集群部署
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档