背景

最近搭建个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. c++图像处理程序编译成.so动态链接库供Java调用(包含jni文件与引用第三方动态链接库opencv)

    一.linux编译so文件需要准备的环境 1.安装JDK(注意:不能安装openjdk,因为openjdk没有include目录,编译时需要用到include目录的头文件) 2.安装gcc和g++   ...

  2. Docker 之 Dockerfile

    Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明. 一.官方镜像 学习docker镜像的制作之前,先去看看官方的镜像是怎么制作的,查看官方dockerf ...

  3. 设计模式之装饰器-AOP

    HelloWorld简单例子如下:此例子好好体会下继承 is a和组合 has a的异同. using System; using System.Runtime.InteropServices; na ...

  4. Mybatis逆向工程的2种方法,一键高效快速生成Pojo、Mapper、XML,摆脱大量重复开发

    一.写在开头 最近一直在更新<Java成长计划>这个专栏,主要是Java全流程学习的一个记录,目前已经更新到Java并发多线程部分,后续会继续更新:而今天准备开设一个全新的专栏 <E ...

  5. python教程6.4-json序列化

    序列化:dumps,编码,将python类型转成json对象 反序列化:loads,解码,将json对象转成python对象 pickle 模块提供了四个功能:dumps.loads.dump.loa ...

  6. jeecgboot集成Mongodb

    1.引入jar包依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId ...

  7. 2020年9月至10月 Splashtop 新功能

    ​ Splashtop 已为 Splashtop Business Access.Splashtop Remote Support.Splashtop SOS 和 Splashtop On-Prem ...

  8. RestTemplate 介绍和用法

    RestTemplate 简介 RestTemplate 是从 Spring3.0 开始支持的一个 HTTP 请求工具,它提供了常见的REST请求方案的模版,例如 GET 请求.POST 请求.PUT ...

  9. .net c# 文件分片/断点续传之下载--客户端

    断点续传客户端实现主要参考了以下文章: https://blog.csdn.net/binyao02123202/article/details/76599949 客户端实现续传的主要是一下几点 1. ...

  10. Jenkins获取gitlab源代码

    Jenkins获取gitlab源代码 Jenkins权限获取 在日常工作做由于Jenkins启动用户是Jenkins,在执行脚本时系统命令是无法让Jenkins执行的,如果需要Jenkins权限有两种 ...