2、nacos集群部署遇到的坑

一、单个nacos配置

1.1、下载地址:

点nacos去下载、下载tar.gz是Linux版本的。

1.2、解压

tar -zxvf nacos-server-2.1.0.tar.gz

1.3、将解压文件移动到/usr/local目录下

mv nacos nacos- 2.1.0
cd /usr/local/nacos- 2.1.0/

1.4、启动nacos,启动命令(standalone代表着单机模式运行,非集群模式)

sh bin/startup.sh -m standalone

启动完成后输入 :
http://192.168.10.26:8848/nacos
即可进入nacos控制台,账号nacos,密码nacos

1.5、新建数据库 nacos_config,将conf目录下的 nacos-mysql.sql 文件导入到数据库中

编辑 config 目录下的 application.properties 文件:
	vim conf/application.properties
	spring.datasource.platform=mysql 
	db.num=1                                                         
	db.url.0=jdbc:mysql://127.0.0.1(服务器ip):3306/数据库名字?characterEncoding=utf8&connectTimeout=8000&socketTimeout=3000&autoReconnect=true 
	db.user=账号
	db.password=密码

注意:#db.url.0中的、connectTimeout=8000(尽量改大一点、8秒)

1.6、关闭服务器

sh bin/shutdown.sh

二、集群(都是在nacos/conf下的)

  1. 备份:cluster.conf.example 为 cluster.conf 在这里插入图片描述

  2. 查询ip

  3. 编辑vim nacos/conf/cluster.conf
    在这里插入图片描述

  4. 先备份startup.sh 备份为 startup.sh.bk
    在这里插入图片描述

  5. vim编辑nacos/bin/startup.sh
    在这里插入图片描述
    在这里插入图片描述

  6. 坑:nacos默认的使用2g内存、集群至少6g运行内存。需要修改其参数
    在这里插入图片描述

  7. nacos集群启动

    sh bin/startup.sh -p 端口号
    sh bin/startup.sh -p 3333
    
  8. 查询多少个nacos
    ps -ef|grep nacos|grep -v grep|wc -l

三、nginx(nginx 的 nginx.conf修改)

在这里插入图片描述

四、云服务器启动

	java -jar xxx.jar	项目启动
	java -jar xxx.jar --server.port=80	指定端口项目启动
	java -jar xxx.jar &	后台运行项目
	ps aux | grep java	查看项目
	Kill -9 	删除
  • java -jar XXX.jar &

    1. 命令结尾没有 “&” ,则变成 “java -jar XXX.jar ” ,表示在当前ssh窗口,可按CTRL + C打断程序运行,或者直接关闭窗口,则程序直接退出
    2. 命令结尾添加 “&” ,则变成 “java -jar XXX.jar &” ,表示在当窗口关闭时,程序才会中止运行。&代表让该命令在后台执行。
  • nohup java -jar XXX.jar > Log.log & 或者 nohup java -jar XXX.jar >> Log.log &

    1. 命令 “nohup java -jar XXX.jar &” 部分,表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。注意,该作业的所有输出被重定向到nohup.out的文件中。
    2. 命令 “nohup java -jar XXX.jar > Log.log &” 部分,表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,并且该作业的所有输出被重定向到Log.log的文件中。“ > Log.log ” 该命令就是指定日志输出的文件。
    3. ">>"表示将输出以追加的方式重定向到Log.log中
  • nohup java -jar XXX.jar > Log.log 2>&1 & 或者 nohup java -jar XXX.jar >> Log.log 2>&1 & 或者 nohup java -jar XXX.jar > /dev/null 2>&1 &

    1. 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。

    2. 标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。

    3. 标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。

    4. 屏蔽输出,起到禁止输出作用:/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果。

    5. “> Log.log 2>&1” :表示将 stdout 和 stderr 合并后重定向到 Log.log

  • nohup java -jar -XX:MetaspaceSize=1g -XX:MaxMetaspaceSize=1g -Xmx2048m -Xms2048m -Xmn256k test-*.jar >/dev/null &

    1. -XX:MetaspaceSize=256m的含义到底是什么呢?其实,这个JVM参数是指Metaspace扩容时触发FullGC的初始化阈值,也是最小的阈值。这里有几个要点需要明确:
    2. 无论-XX:MetaspaceSize配置什么值,Metaspace的初始容量一定是21807104(约20.8m);
    3. Metaspace由于使用不断扩容到-XX:MetaspaceSize参数指定的量,就会发生FGC;且之后每次Metaspace扩容都会发生FGC;
    4. 如果Old区配置CMS垃圾回收,那么第2点的FGC也会使用CMS算法进行回收;
    5. Meta区容量范围为[20.8m, MaxMetaspaceSize);
    6. 如果MaxMetaspaceSize设置太小,可能会导致频繁FGC,甚至OOM;
    7. 建议:
      MetaspaceSize和MaxMetaspaceSize设置一样大;
      具体设置多大,建议稳定运行一段时间后通过jstat -gc pid确认且这个值大一些,对于大部分项目256m即可。
	-Xmx10240m:代表最大堆
	-Xms10240m:代表最小堆
	-Xmn5120m:代表新生代

五、启动sentinel和nacos问题

  • 非集群模式: 没事
  • 集群模式
    sentinel默认占用8080端口。nacos集群默认占用8080端口。
    它两会造成冲突、所有必须修改其中一个端口号。我选择修改sentinel端口
    java -jar sentinel-dashboard-1.7.2.jar  --server.port=3333
    

注意:若是服务器、开放端口

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值