搭建SprinfCloud-Consul报错解决方案

  • 搭建步骤
    • 1、解压
    • 2、在consul目录下创建conf、data/consulData文件夹
    • 3、把basic.json文件放到conf目录。
    • 4、开启端口:及其它相关端口
      • 报错过程
    • 5、重载防火墙:firewall-cmd --reload
    • 6、启动consul:
      • 报错过程
        • 为解决此问题作出的尝试
    • 7、浏览器登陆:http://XXX.XX.XX.XXX:8900,即安装成功
    • 8、配置系统变量
    • 9、配置开机自启动
    • 10、执行命令重新加载/运行
    • 11、如果重新加载配置文件,则直接运行consul reload即可,consul leave同理

搭建步骤

1、解压

unzip -o -d /usr/springcloud/consul consul_1.6.0_linux_amd64.zip

2、在consul目录下创建conf、data/consulData文件夹

3、把basic.json文件放到conf目录。

此处贴上basic.json文件内容

{"ports": {"http": 8900,"dns": 8601,"grpc": 8401,"serf_lan": 8311,"serf_wan": 8312,"server": 8310}
}

4、开启端口:及其它相关端口

firewall-cmd --zone=public --add-port=8900/tcp --permanent

报错过程

在这步的时候遇到问题
FirewallD is not running

对于此问题的解决方法:
 1)查看防火墙状态
 指令:systemctl status firewalld
 执行结果:
 ?.firewalld.service - firewalld - dynamic firewall daemon
 Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
 Active: inactive (dead)
 Docs: man:firewalld(1)
 由此可见,防火墙当前是dead状态,即防火墙未开启
 2)通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。
 3)再次通过systemctl status firewalld查看firewalld状态
 执行结果:
 ?.firewalld.service - firewalld - dynamic firewall daemon
 Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
 Active: active (running) since Fri 2019-11-22 09:51:57 CST; 8s ago
 Docs: man:firewalld(1)
 Main PID: 3779 (firewalld)
CGroup: /system.slice/firewalld.service
?..3779 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
Nov 22 09:51:56 VM_0_8_centos systemd[1]: Starting firewalld - dynamic firewall daemon…
Nov 22 09:51:57 VM_0_8_centos systemd[1]: Started firewalld - dynamic firewall daemon.
显示防火墙已开启
 4)再次执行当前指令,显示success表示执行成功。

5、重载防火墙:firewall-cmd --reload

6、启动consul:

./consul agent -dev -ui -node=node1 -client 0.0.0.0 -bind=XXX.XX.XX.XXX -config-dir /usr/springcloud/consul/conf/ -data-dir /usr/springcloud/consul/data/consulData/

报错过程

在执行第6步的时候出现如下问题:

Error starting agent: Failed to start Consul server: Failed to start RPC layer: listen tcp XX.XXX.XXX.XXX:XXXX: bind: cannot assign requested address
2019/11/21 11:43:16 [INFO] agent: Exit code: 1

为解决此问题作出的尝试

1、查看端口状态

#ssh XX.XXX.XXX.XXX -p XXXX
返回如下:
ssh: connect to host XX.XXX.XXX.XXX port XXXX: No route to host

2、通过搜索No route to host问题,去/etc/hosts配置了一下hosts文件并重启了网络(然而没卵用)

#vim /etc/hosts
#service network restart
Restarting net work (via systemctl): [ OK ]

3、通过搜索下一个回答,进行如下尝试

答案告诉我,
出现No route to host 的时候,有如下几种可能:
1、对方的域名确实不通(然而我发现直接ping域名能通)
2、本机自己开了防火墙
3、本机的etc/hosts 里面没有配置本机的机器名和ip (可能性最大)

于是关闭防火墙

我配置了本机的机器名和ip,同样没卵用
我想起来了,本机的网络ip不是静态的,
使用ifconfig查看ip地址确实不是我配的那个本机ip
那么
我要不要配一个静态ip呢?
尝试配了一个静态ip,然后云服务器就。。连。不。上。了。。。
重装了系统,接着搞
这次进行第6步的时候绑定了内网地址(就是ifcfg的时候看到的地址)

这一次运行成功了,输出如上

但是呢,发生了一个问题:由于是直接跑的指令,所以我要执行下一条指令时Ctrl+c退出时,consul就停了。
如上问题的解决方法是:在运行consul的指令后面加上&符,将指令转为后台执行

7、浏览器登陆:http://XXX.XX.XX.XXX:8900,即安装成功

当我配置成内网的时候,我输入内网ip和外网ip访问发现并不能访问
向上级汇报之后,上级登陆管理员账号,将云服务器的相应端口号的访问权限打开了就好了

8、配置系统变量

指令:vim /etc/profile
编辑系统变量文件,配置如下内容
export CONSUL_HOME=consul目录
export PATH=$PATH:CONSUL_HOME
配置完成之后使用环境变量配置生效指令
指令:source /etc/profile

待配置文件生效之后,可以查看安装的consul版本号等信息
指令:consul --version
输出:
Consul v1.6.0
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)

9、配置开机自启动

1)编辑start.sh
vim /consul目录地址/start.sh

添加如下:

#!/bin/bash
/usr/springcloud/consul/consul agent -dev -ui -node=node1 -client 0.0.0.0 -bind=内网ip -config-dir /consul目录地址/conf/ -data-dir /consul目录地址/data/consulData/
2)给start.sh 授权

chmod -R 777 /consul目录地址/start.sh

3)编辑文件/lib/systemd/system/consul.service
vim /lib/systemd/system/consul.service
添加如下:
[Unit]
Description=consul
After=network.target

[Service]
ExecStart=/consul目录地址/start.sh
KillSignal=SIGTERM

[Install]
WantedBy=multi-user.target

10、执行命令重新加载/运行

重新加载
systemctl daemon-reload

开机运行
systemctl enable consul

运行
systemctl start consul

11、如果重新加载配置文件,则直接运行consul reload即可,consul leave同理

搭建Consul报错Failed to start RPC layer: listen tcp XX.XXX.XXX.XXX:XXXX:: bind: cannot assign requested相关推荐

  1. Maven搭建webapp报错Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.2.0:generat

    在使用maven模板搭建webapp项目时,项目搭建失败 报错如下: 这里显示搭建项目的脚手架和插件等未找到 解决办法: 我们找到自己的maven的仓库,找到搭建webapp的xml文件,我的mave ...

  2. Spark报错 Failed to send RPC xxx to/ip:43074 java.nio.channels.ClosedChannelException

    1.美图 2.背景 是这样的,我写了一个spark程序,然后,运行的时候,我kiill yarn掉这个程序,然后发现程序报个错然后继续运行了. 我在页面点击任务停止就没事,我页面点击是调用yarn a ...

  3. IDEA+tomcat在debug中关于断点的报错:No executable code found at line XX in class XXX

    问题 断点报错,变成一个禁止符号 解决 这是由于编译引起的错误,该代码段未被编译 在tomcat中重新部署一下断点就可以使用了

  4. 记录一次etcd报错: listen tcp xxx.xxx.xxx.xxx:2380:bind: cannot assign requested address

    记录一次etcd报错 背景 问题定位 问题排查 解决方案 小结 背景 今天打算在腾讯云环境上安装k8s(采用ansible脚本自动化部署安装),当安装完etcd之后,发现启动报错. 机器:腾讯云服务器 ...

  5. 搭建FTP报错:Job for vsftpd.service failed because the control process exited with error code. See

    搭建FTP报错:Job for vsftpd.service failed because the control process exited with error code. See " ...

  6. 淘淘商城项目报错 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-

    @[TOC](淘淘商城项目报错 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (d ...

  7. 记录一次wagon报错Failed to execute goal org.codehaus.mojo:wagon-maven-plugin:1.0:upload-single

    记录一次wagon报错Failed to execute goal org.codehaus.mojo:wagon-maven-plugin:1.0:upload-single (default-cl ...

  8. Pyinstaller 打包exe 报错 “failed to execute script XXX“的一种解决方案

    Pyinstaller 打包exe 报错 "failed to execute script XXX"的一种解决方案 参考文章: (1)Pyinstaller 打包exe 报错 & ...

  9. tomcat运行报错Failed to start component [StandardEngine[Catalina].StandardHost[localhost].

    一.问题 tomcat运行报错Failed to start component [StandardEngine[Catalina].StandardHost[localhost]. 多半情况是找不到 ...

最新文章

  1. VTK:采样函数用法实战
  2. powerdesigner连接db2生成模型步骤
  3. 常见Java面试题之JVM加载class文件的原理机制
  4. 设置tomcat自动启动的相关脚本
  5. linux shell 中21含义
  6. IAR STM32报错Error[Pe147]:declaration is incompatible with“__nounwind __interwork __softfp unsigned
  7. Linux之Keepalived实现服务器集群高可用
  8. wss3.0 对文档库的一些操作
  9. Python基础-Pygame游戏框架之飞机大战
  10. android把2变成02_【Android】学习札记第2章之数组二(Arrays工具类)
  11. 人工智能:一种现代的方法|课后习题解答
  12. linux opendir php,PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
  13. 介绍一个使用go写的TUI性能监测工具gotop
  14. 如何清除 浏览器-hao123的绑定
  15. python中forward是什么意思_pytorch 调用forward 的具体流程
  16. 真实案件之:意料之外的 RAC 宕机罪犯 - 子游标
  17. 215868-33-0,Ocean Blue, SE,3-羧基-6,8-二氟-7-羟基香豆素琥珀酰亚胺酯蓝色荧光染料
  18. 基于Cortex-A53内核Linux系统gec6818开发板的电子自助点餐设计
  19. 医咖会SPSS免费教程学习笔记—R*C卡方检验
  20. 云服务器测速脚本_Linux VPS服务器带宽测速脚本:Speedtest Linux进行网络测速方法...

热门文章

  1. springboot配置log4j2踩地雷
  2. 2、Inferred type ‘S‘ for type parameter ‘S‘ is not within its bound; should extend ‘com.yummy.sell.da
  3. ETest系列产品1 | 便捷式嵌入式系统半实物仿真测试平台ETest_PT
  4. 黑马程序员——C语言学习——预处理指令、extern与static、typedef、递归
  5. win10 右键菜单onedrive 彻底删除办法
  6. 联想sr650安装centos_一次联想ThinkServer RD650 510i配置及系统安装过程
  7. 压敏电阻的参数、选型及应用
  8. 微信协议,个人微信api接口
  9. 4.BPMN/DMN/CMMN规范简单梳理
  10. 机器视觉 · 相机分类及通用参数