使用fescar遇到can not register RM,err:can not connect to fescar-server.

2023-05-16

前提

如果你看到了这篇文章,说明你已经成功跑起了阿里爸爸fescar官方提供的example和server,并且你的客户端和服务端之间心跳正常,但是当客户端进行事务操作时却提示以下错误

com.alibaba.fescar.common.exception.FrameworkException: can not register RM,err:can not connect to fescar-server.
	at com.alibaba.fescar.core.rpc.netty.RmRpcClient.doConnect(RmRpcClient.java:357) [fescar-core-0.1.3.jar:na]
	at com.alibaba.fescar.core.rpc.netty.RmRpcClient.connect(RmRpcClient.java:322) [fescar-core-0.1.3.jar:na]
	at com.alibaba.fescar.core.rpc.netty.RmRpcClient.reconnect(RmRpcClient.java:204) [fescar-core-0.1.3.jar:na]
	at com.alibaba.fescar.core.rpc.netty.RmRpcClient.access$000(RmRpcClient.java:65) [fescar-core-0.1.3.jar:na]
	at com.alibaba.fescar.core.rpc.netty.RmRpcClient$1.run(RmRpcClient.java:153) [fescar-core-0.1.3.jar:na]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_144]
	at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308) [na:1.8.0_144]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java) [na:1.8.0_144]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_144]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_144]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_144]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_144]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-all-4.1.29.Final.jar:4.1.29.Final]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_144]

下面是过程,想马上解决问题的小伙伴可以直接看解决方案

过程

笔者接触fescar是从springcloud-alibaba开始,fescar服务端搭建和集成springcloud可以看这里

问题复现

完全按照根据官方提供的文档执行

一、下载fescar服务端

笔者使用的是v0.1.3版,将fescar-server-0.1.3.tar.gz解压到你的远端服务器,执行启动命令

sh fescar-server.sh 8091 ~/fescar/data/

脚本后第一个参数为端口(需要保证客户端可以访问且一致),第二个参数为fescar的data路径,不需要修改服务端的application.conf中的内容

二、下载sprincloud-alibaba源码并创建对应数据库
  1. 运行文档中的4个建表语句

  2. 下载springcloud-alibaba的master分支上的源码(0.2.2.BUILD-SNAPSHOT),导入idea,可以看到如下结构:
    在这里插入图片描述
    修改红框中4个模块的application.conf中的service

    service {
     #vgroup->rgroup
      vgroup_mapping.account-service-fescar-service-group = "localRgroup"
      #only support single node
      localRgroup.grouplist = "你的fescar服务器ip或域名:8091"
     #degrade current not support
     enableDegrade = false
     #disable
     disable = false
    }
    
  3. 修改mysql链接,这个应该不会出现问题

  4. 启动storage和business模块,另外两个不需要启动
    可以看到server端输出如下心跳日志
    在这里插入图片描述

  5. 使用postman请求org.springframework.cloud.alibaba.cloud.examples.HomeController下的feign方法

    http://127.0.0.1:18081/fescar/feign

    提示开头的错误

解决方案

  1. 检查防火墙是否开启
  2. 下载fescar的源码版导入idea
    看到server模块的如下内容
    在这里插入图片描述
    fescar默认使用的是内网ip,修改方式有多种,修改好后重新打包
1.写死 XID.setIpAddress("当前服务器的外网ip或域名");
2.通过ags传入
if (args.length > 2) {
	XID.setIpAddress(args[2]);
}else{
	XID.setIpAddress(NetUtil.getLocalIp());
}
  1. 将服务端的fescar-server-0.1.3.jar替换为刚才打包的
    在这里插入图片描述
  2. 重新执行启动指令(如果你用第二种方式别忘了加上ip的参数),再次尝试feign接口,成功
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用fescar遇到can not register RM,err:can not connect to fescar-server. 的相关文章

  • 解决ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

    如何解决ERROR 2003 HY000 Can t connect to MySQL server on localhost 10061 1 登录到安装Mysql的主机 xff0c 打开cmd命令行工具 xff0c 执行命令mysql u
  • roscore报错: ‘ascii’ codec can’t decode byte 0xe6 in position 13: ordinal not in range(128)

    零 问题描述 使用ROS是 xff0c 执行roscore报一下错误 xff1a ascii codec can t decode byte 0xe6 in position 13 ordinal not in range 128 The
  • ROS-虚拟CAN通讯/实质CAN通信

    xff11 xff0e 源码安装canopen 从官网下载canopen至Ubuntu xff0c 下载地址 xff1a https github com ros industrial ros canopen tree kinetic de
  • C语言寄存器变量register

    用register声明的变量是寄存器变量 xff0c 是存放在CPU的寄存器里的 而我们平时声明的变量是存放在内存中的 虽说内存的速度已经很快了 xff0c 不过跟寄存器比起来还是差得远 寄存器变量和普通变量比起来速度上的差异很大 xff0
  • 蓝牙通信、串口通信、和can通信以及MCU之间的关系

    说明 xff1a 其端口和can需要设置波特率 xff1a 250 500 xff0c 和can的类型 xff0c can1 can2 串口直接和模拟量通信需要设置串口的信息 xff0c 如下图 xff1a 蓝牙和模拟量通信 xff0c 不
  • Jenkins 报错: command not found

    主要是路径问题 xff0c Jenkins无法识别 在一台 macOS 的 anget 中 xff0c 我们的 pipeline 脚本一直报错 xff1a cmake command not found xff0c 但实际系统中已经通过 b
  • ubuntu18.04 command not found: catkin_init_workspace

    使用catkin init workspace命令报错 xff1a command not found catkin init workspace 使用以下命令解决 xff1a source opt ros kinetic setup ba
  • Linux Socket CAN——驱动开发(转)

    Linux Socket CAN驱动开发 一 CAN总线协议 CAN是Controller Area Network 控制器局域网 的缩写 CAN通信协议在1986年由德国电气商博世公司所开发 xff0c 主要面向汽车的通信系统 现已是IS
  • Rt-thread的CAN应用2

    1 rtt中使能CAN1 2 CubeMX生成部分代码 xff0c 完成下面操作然后生成MDK ARM项目文件 3 将CubeMX生成的 HAL CAN MspInit 函数 粘贴到drv can c中 并在rt hw can init 函
  • PX4:Policy “CMP0097“ is not known to this version of CMake.

    make px4 fmu v3 时报的错 CMake版本的问题 由https blog csdn net zhizhengguan article details 118380965推测 xff0c 删除cmake policy也没事 ma
  • kvaser pcie can 在ros中使用socketcan开发

    kvaser pcie can 在ros中使用socketcan开发 0 系统配置 Ubuntu 16 04 6 LTS Linux version 4 15 0 45 generic 1 官网下载地址 https www kvaser c
  • CAN学习笔记3:STM32 CAN控制器介绍

    STM32 CAN控制器 1 概述 STM32 CAN控制器 bxCAN 支持CAN 2 0A 和 CAN 2 0B Active版本协议 CAN 2 0A 只能处理标准数据帧且扩展帧的内容会识别错误 而CAN 2 0B Active 可以
  • 山石岩读丨前沿领域探析——汽车CAN总线协议详解及攻击面分析

    1 CAN总线的基本概念以及由来 CAN Controller Area Network 总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线 它起初用于实现汽车内ECU之间可靠的通信 后因其简单实用可靠等特点 而广泛应用于工
  • STM32的CAN总线的接收双FIFO使用方法

    通过下面的框图我们可以看到 STM32F013有两个接收FIFO 但是实际的使用中如何让着两个FIFO都被使用呢 解决办法就在这里 1 STM32F103有0 13共14个过滤器组 每个过滤器组都可以绑定指定的FIFO 2 特别需要注意的一
  • 【汽车电子】浅谈汽车四大总线:LIN、CAN、FlexRay、MOST

    目录 1 前言 2 汽车四大总线 2 1 LIN总线 2 1 1 LIN总线概述 2 1 2 LIN总线工作原理 2 2 CAN总线 2 2 1 CAN总线概述 2 2 2 CAN总线工作原理 2 2 3 CAN总线的优点 2 3 Flex
  • CAN总线的EMC设计方案

    一 CAN接口EMC设计概述 Controller Area Network简称为CAN 多用于汽车以及工业控制 用于数据的传输控制 在应用的过程中通讯电缆容易耦合外部的干扰对信号传输造成一定的影响 单板内部的干扰也可能通过电缆形成对外辐射
  • CAN总线的报文分析(三)

    系列文章目录 文章目录 系列文章目录 前言 一 数据帧 最常用 1 帧起始 2 仲裁段 3 控制段 4 数据段 5 CRC段 6 ACK段 7 帧结束 二 远程帧 三 错误帧 四 过载帧 五 帧间隔 总结 前言 CAN总线上的节点发送数据都
  • 难懂?这样理解SPI与CAN很简单!

    难懂 这样理解SPI与CAN很简单 什么是串行通讯 为什么仍需使用串行通讯 SPI与CAN SPI 接口特点 CAN现场总线特点 什么是串行通讯 在正式进入主题前 我么先来介绍一下什么叫做 串行通信 串行通信是计算机的一种数据传输通信方式
  • STM32F407 CAN1 CAN2

    注意CAN1可以单独使用 CAN2要开启CAN1时钟才能使用 u8 CAN1 Mode Init u8 mode GPIO InitTypeDef GPIO InitStructure CAN InitTypeDef CAN InitStr
  • pico示波器使用

    文章目录 Pico示波器保存波形 Pico示波器录制数据 Pico示波器解析CAN报文 Pico示波器保存波形 Pico示波器可以通过以下步骤保存波形 在示波器上选择要保存的波形 连接示波器到计算机上 可以使用USB或者Ethernet连接

随机推荐

  • 疑难 2、龙蜥Anolis系统如何安装GItLab Runner

    本文内容以语雀为准 说明 原理参见上文龙蜥Anolis系统如何安装GitLab本文以 Anolis 8为例进行说明 xff08 如果使用的是 Anolis 7 xff0c 需要将下方链接中的参数8改为7 xff09 安装 尝试获取结果 使用
  • 疑难 3:GitLab Runner CI/CD 在 CentOS/Anolis 中使用 shell 执行器时,出现:fatal: git fetch-pack: expected shallow l

    疑难 3 xff1a GitLab Runner CI CD 在 CentOS Anolis 中使用 shell 执行器时 xff0c 出现 xff1a fatal git fetch pack expected shallow list
  • kubernetes(k8s)高可用集群:导读

    本文内容以语雀为准 Master xff08 Control Plane xff09 的 kube apiserver kube controller manager kube scheduler 服务至少有3个节点Master xff08
  • 附录8:批量删除 k8s(ctr)使用的历史镜像

    以语雀文档为准 说明 以 k8s 使用 containerd 为例k8s 滚动发布时 xff0c 一般采用改动镜像ID xff0c 比如 xff1a 某个镜像 xff0c 首次发布的时候是 0 0 1 SNAPSHOT xff0c 第一次更
  • 附录7:CentOS MySQL 安装

    以语雀 文档为准 安装镜像源 CentOS 7 CentOS 8 MySQL 5 7 yum y install http repo mysql com mysql57 community release el7 rpm 官方未提供 xff
  • 附录6、Ubuntu 乌班图 源码编译 异常处理

    以语雀 文档为准 异常 error C compiler cc is not found 解决 xff1a span class token function sudo span span class token function apt
  • 附录5:CentOS、Anolis 龙蜥 源码编译 异常处理

    以语雀 文档为准 异常 xff1a bin sh cc span class token builtin class name command span not found 解决 xff1a yum y span class token f
  • 关于angularJS绑定数据时自动转义html标签

    对于前后台分离开发 xff0c 在使用angular为开发框架的时候 xff0c 如果后台在返回数据的时候包含html格式的数据 xff0c angularJS在进行数据绑定时默认是会以文本的形式输出 xff0c 也就是对你数据中的html
  • 附录1:配置 containerd 加速

    以语雀 文档为准 说明 不推荐在 k8s 网络配置前加速 xff0c 可能会导致无法拉取镜像 xff08 原因可能是镜像的原因 xff0c 或者是配置的原因 xff0c 可以考虑事先或报错时手动拉取镜像 xff09 安装 span clas
  • 附录2:CentOS 下载

    以语雀 文档为准 视频演示 点击查看 bilibili CentOS Vault Mirror CentOS 7 8 最新版 xff08 含各大云厂商的镜像 xff09 CentOS 7 http isoredirect centos or
  • 附录3:Anolis 龙蜥 下载

    以语雀 文档为准 视频演示 点击查看 bilibili 官网 xff1a https openanolis cn 7 7 正式版 https mirrors openanolis cn anolis 7 7 isos GA x86 64 7
  • 附录4:Ubuntu 乌班图 下载

    以语雀 文档为准 https releases ubuntu com https old releases ubuntu com releases 版本号 版本代号 下载地址 14 04 5 Trusty Tahr https old re
  • 小工具1:tcping

    以语雀 文档为准 说明 tcping exe 是一个控制台应用程序 xff0c 其操作类似于 ping xff0c 但它在tcp端口上工作 在 Windows 上要查看指定 IP 端口 是否连通 xff0c 通常要使用 telnet xff
  • 小工具2:Windows curl.exe

    以语雀 文档为准 GitHub 仓库 xff1a https github com curl curlGitHub 仓库 Windows 版 xff1a https github com curl curl for win下载页面 xff1
  • 小工具3:Windows tail.exe

    以语雀 文档为准 文件 xff1a tail zip xff0c 文件来源于网络 xff0c 用于实时查看文件内容 xff0c 与 Linux 的 tail 有相同的用法 下载上述文件 xff0c 解压 xff0c 将 tail exe 放
  • 小工具4:Windows cports.exe

    以语雀 文档为准 文件 cports zip xff0c 文件来源于网络 xff0c 用于实时查看端口占用情况 xff0c 使用管理员权限运行时 xff0c 可杀端口 下载上述文件 xff0c 解压 xff0c 将 cports exe 放
  • 为何在 node 项目中使用固定版本号,而不使用 ~、^?

    以语雀 文档为准 使用 时吃过亏希望版本号掌握在自己手里 xff0c 作者自己升级 xff08 跟随官方进行升级 xff0c 就算麻烦作者 xff0c 也不想麻烦使用者 xff09 虽然 pnpm 很好用 xff0c 但是不希望在项目中用到
  • 导读 2、kubernetes(k8s)导读

    以语雀 文档为准 内容来自 Kubernetes 权威指南 第5版等 kubernetes 是什么 xff1f kubernetes是一个全新的基于容器技术的分布式架构领先方案 xff0c 是容器云的优秀平台选型方案 xff0c 已经成为新
  • 区块链——脱坑truffle

    使用truffle构建一个智能合约 实现输出 helloworld 的功能 网上有很多帖子 但也有很多坑 这里展示我的搭建过程 帮助大家绕过那些麻烦 一 安装web3 solc truffle npm g install solc npm
  • 使用fescar遇到can not register RM,err:can not connect to fescar-server.

    前提 如果你看到了这篇文章 xff0c 说明你已经成功跑起了阿里爸爸fescar官方提供的example和server xff0c 并且你的客户端和服务端之间心跳正常 xff0c 但是当客户端进行事务操作时却提示以下错误 com span