背景

最近搭建个nacos环境,用的镜像是2.2版本的,yaml如下:

nacos-conf

apiVersion: v1
kind: ConfigMap
metadata:
name: nacos-cm
namespace: nacos
data:
mysql.host: "122.122.100.101" # mysql ip
mysql.db.name: "nacos" #上面创建数据库是指的的库名称
mysql.port: "3306" #端口
mysql.user: "nacos_userName" #用户
mysql.password: "nacos_pwd" #用户密码

StatefulSet

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: nacos
namespace: nacos
spec:
serviceName: nacos-headless
replicas: 1 #3
template:
metadata:
labels:
app: nacos
annotations:
pod.alpha.kubernetes.io/initialized: "true"
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "app"
operator: In
values:
- nacos
topologyKey: "kubernetes.io/hostname"
containers:
- name: k8snacos
imagePullPolicy: Always
image: nacos/nacos-server:latest #2022年12月安装的是2.2
resources:
requests:
memory: "2Gi"
cpu: "500m"
ports:
- containerPort: 8848
name: client
- containerPort: 9848
name: client-rpc
- containerPort: 9849
name: raft-rpc
- containerPort: 7848
name: old-raft-rpc
env:
- name: NACOS_REPLICAS
value: "1" #3
- name: MYSQL_SERVICE_HOST
valueFrom:
configMapKeyRef:
name: nacos-cm
key: mysql.host
- name: MYSQL_SERVICE_DB_NAME
valueFrom:
configMapKeyRef:
name: nacos-cm
key: mysql.db.name
- name: MYSQL_SERVICE_PORT
valueFrom:
configMapKeyRef:
name: nacos-cm
key: mysql.port
- name: MYSQL_SERVICE_USER
valueFrom:
configMapKeyRef:
name: nacos-cm
key: mysql.user
- name: MYSQL_SERVICE_PASSWORD
valueFrom:
configMapKeyRef:
name: nacos-cm
key: mysql.password
- name: MODE
#value: "cluster"
value: "standalone"
#- name: SPRING_DATASOURCE_PLATFORM #2.2版本一定要这个,官方的yaml漏了这个,不然会报错:
#value: "mysql"
- name: NACOS_AUTH_ENABLE
value: "true"
- name: MYSQL_SERVICE_DB_PARAM
value: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
- name: NACOS_SERVER_PORT
value: "8848"
- name: PREFER_HOST_MODE
value: "hostname"
- name: NACOS_SERVERS
value: "nacos-0.nacos-headless.nacos.svc.cluster.local:8848 nacos-1.nacos-headless.nacos.svc.cluster.local:8848 nacos-2.nacos-headless.nacos.svc.cluster.local:8848"
#格式 nacos-0.nacos-headless.<namespace>.svc.cluster.local
volumeMounts:
- name: azure
mountPath: /home/nacos/data
subPath: nacos/data
- name: azure
mountPath: /home/nacos/logs
subPath: nacos/logs volumes:
- name: azure
persistentVolumeClaim:
claimName: mysql-pvc
selector:
matchLabels:
app: nacos

一直报错:

nacos server did not start because dumpservice bean construction failure. errMsg:102, dataSource or tableName is null

我开始根据报错搜索,判断的原因有:

1、数据库连接信息不对,连不上;

2、MYSQL_SERVICE_DB_PARAM 这个环境变量没补上,要写上,明确给定时区;

结果发现这个发现是错的。

最后折腾了几天加了一个官方钉钉群,一个老哥幽幽地指出:

“你试试添加SPRING_DATASOURCE_PLATFORM”,然后我试试就逝世,加上了:

- name: SPRING_DATASOURCE_PLATFORM  #2.2版本一定要这个,官方的yaml漏了这个,不然会报错:
value: "mysql"

启动成功!!WTF,官方示例太不讲究了,坑人!!!rnm,退钱!!诶,我好像没交钱,活生生把火憋了回去;

nacos v2.2 k8s部署启动报错:nacos server did not start because dumpservice bean construction failure. errMsg102, errllsg dataSource or tableName is null的更多相关文章

  1. maven项目使用tomcat启动报错:Server Tomcat v8.5 Server at localhost failed to start

    背景说明:1)该项目为maven项目,使用的maven的本地仓库里有不少之前使用过下载的jar包: 2)从svn下载该项目后,无报错情况: 3)部署到tomcat启动报错 如下 : 4)在网上搜索了很 ...

  2. MySQL5.6启动报错The server quit without updating PID file

    Mysql启动报错如下: [root@db01 opt]# service mysqld start Starting MySQL.... ERROR! The server quit without ...

  3. Tomcat启动报错,Server Tomcat v8.0 Server at localhost failed to start

    Eclipse 中Tomcat 启动报错Eclipse的提示窗口  Server Tomcat v8.0 Server at localhost failed to start .日志输出中报   F ...

  4. 项目启动报错 The server time zone value '�й���׼ʱ��' is unrecognize...

    背景介绍: 把项目在新的电脑上运行,MySQL版本不同出现错误 错误: 报错The server time zone value '�й���׼ʱ��' is unrecognized or repr ...

  5. mysql启动报错 The server quit without updating PID file

    [root@uz6542 data]# /etc/init.d/mysqld startStarting MySQL... ERROR! The server quit without updatin ...

  6. Tomcat启动报错:SERVER: Error ListenerStart 排查过程记录

    报错的Tomcat截图:   要排查此问题,首先需要调整tomcat的日志级别,调整成通过log4j来记录日志的方式,具体的调整方式: http://tomcat.apache.org/tomcat- ...

  7. mysql启动报错The server quit without updating PID file

    现网mysql无法启动是很让人头疼的,数据很有可能恢复不了,解决方法如下: 查看mysql目录下的日志,根据日志来锁定错误原因(mysql的错误日志很抽象) a.如果日志不能提供任何帮助则可进行以下步 ...

  8. Mysql启动报错 The server quit without updating PID

    [root@db mysql]# service mysql restartMySQL server PID file could not be found![失败]Starting MySQL... ...

  9. nacos启动报错

    Caused by: com.alibaba.nacos.api.exception.NacosException: Nacos Server did not start because dumpse ...

  10. Linux下使用JDK11部署Nacos启动报错:Could not find or load main class

    Linux下使用JDK11部署Nacos 错误日志 /nacos/jdk-11.0.12/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize ...

随机推荐

  1. 推荐一个使用 HardLink 硬链接减少重复文件占用磁盘空间的工具

    在 NTFS 文件系统里面,咱可以使用 HardLink 硬链接的方式,将多个重复的文件链接到磁盘的同一份记录里面,从而减少在磁盘里面对重复文件存储多份记录,减少磁盘空间的占用.本文将和大家推荐我所做 ...

  2. dotnet C# 如果在构造函数抛出异常 是否可以拿到对象赋值的变量

    如果使用某个变量去获取某个类型的对象创建,但是在这个类型的构造函数调用时抛出异常,请问此变量是否可以拿到对应的对象 如下面代码 private void F1() { Foo foo = null; ...

  3. js实现懒加载原理

    概念:对于页面有很多静态资源的情况下(比如网商购物页面),为了节省用户流量和提高页面性能,可以在用户浏览到当前资源的时候,再对资源进行请求和加载.原理:当图片元素的偏移高度<=设备高度+滚动条与 ...

  4. vue使用promise.all异步实现多个请求完成之后在执行某些操作

    使用场景:多个请求方法拿到数据之后需要对这不同的数据进行比较,之后在输出并渲染 思路:使用promise.all()异步操作: Promise.all([ //上架 new Promise((reso ...

  5. Python中强大的通用ORM框架:SQLAlchemy

    Python中强大的通用ORM框架:SQLAlchemy https://zhuanlan.zhihu.com/p/444930067

  6. CentOS7部署Docker(联网)

    一.参考地址 https://blog.csdn.net/m0_49762804/article/details/131398587 二.Docker安装 安装依赖环境,yum-utils ## 检查 ...

  7. java基础 韩顺平老师的 异常 自己记的部分笔记

    443,异常处理入门 package com.hspedu.exception_; public class Exception { public static void main(String[] ...

  8. text/event-stream协议

    客户端接收 text/event-stream html <!DOCTYPE html> <html> <head> <meta charset=" ...

  9. linux常用关机/重启命令:shutdown,init 0,init 6

    目录 一.使用shutdown关机,重启,定时关机 二.使用init关机/重启 一.使用shutdown关机,重启,定时关机 1.设置计算机10分钟之后关机 [root@node5 ~]# shutd ...

  10. u8二次开发再遇问题再总结

    在调用api生成采购入库单时,报错:该操作会造成订单到货和入库同时存在,请重新检查操作!普通采购必有订单,存货[0501-0304-0075]不能手工录入 这是因为:采购入库单单据必须要录入上游单据, ...