搭建Consul报错Failed to start RPC layer: listen tcp XX.XXX.XXX.XXX:XXXX:: bind: cannot assign requested
搭建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相关推荐
- Maven搭建webapp报错Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.2.0:generat
在使用maven模板搭建webapp项目时,项目搭建失败 报错如下: 这里显示搭建项目的脚手架和插件等未找到 解决办法: 我们找到自己的maven的仓库,找到搭建webapp的xml文件,我的mave ...
- Spark报错 Failed to send RPC xxx to/ip:43074 java.nio.channels.ClosedChannelException
1.美图 2.背景 是这样的,我写了一个spark程序,然后,运行的时候,我kiill yarn掉这个程序,然后发现程序报个错然后继续运行了. 我在页面点击任务停止就没事,我页面点击是调用yarn a ...
- IDEA+tomcat在debug中关于断点的报错:No executable code found at line XX in class XXX
问题 断点报错,变成一个禁止符号 解决 这是由于编译引起的错误,该代码段未被编译 在tomcat中重新部署一下断点就可以使用了
- 记录一次etcd报错: listen tcp xxx.xxx.xxx.xxx:2380:bind: cannot assign requested address
记录一次etcd报错 背景 问题定位 问题排查 解决方案 小结 背景 今天打算在腾讯云环境上安装k8s(采用ansible脚本自动化部署安装),当安装完etcd之后,发现启动报错. 机器:腾讯云服务器 ...
- 搭建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 " ...
- 淘淘商城项目报错 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 ...
- 记录一次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 ...
- Pyinstaller 打包exe 报错 “failed to execute script XXX“的一种解决方案
Pyinstaller 打包exe 报错 "failed to execute script XXX"的一种解决方案 参考文章: (1)Pyinstaller 打包exe 报错 & ...
- tomcat运行报错Failed to start component [StandardEngine[Catalina].StandardHost[localhost].
一.问题 tomcat运行报错Failed to start component [StandardEngine[Catalina].StandardHost[localhost]. 多半情况是找不到 ...
最新文章
- VTK:采样函数用法实战
- powerdesigner连接db2生成模型步骤
- 常见Java面试题之JVM加载class文件的原理机制
- 设置tomcat自动启动的相关脚本
- linux shell 中21含义
- IAR STM32报错Error[Pe147]:declaration is incompatible with“__nounwind __interwork __softfp unsigned
- Linux之Keepalived实现服务器集群高可用
- wss3.0 对文档库的一些操作
- Python基础-Pygame游戏框架之飞机大战
- android把2变成02_【Android】学习札记第2章之数组二(Arrays工具类)
- 人工智能:一种现代的方法|课后习题解答
- linux opendir php,PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
- 介绍一个使用go写的TUI性能监测工具gotop
- 如何清除 浏览器-hao123的绑定
- python中forward是什么意思_pytorch 调用forward 的具体流程
- 真实案件之:意料之外的 RAC 宕机罪犯 - 子游标
- 215868-33-0,Ocean Blue, SE,3-羧基-6,8-二氟-7-羟基香豆素琥珀酰亚胺酯蓝色荧光染料
- 基于Cortex-A53内核Linux系统gec6818开发板的电子自助点餐设计
- 医咖会SPSS免费教程学习笔记—R*C卡方检验
- 云服务器测速脚本_Linux VPS服务器带宽测速脚本:Speedtest Linux进行网络测速方法...
热门文章
- springboot配置log4j2踩地雷
- 2、Inferred type ‘S‘ for type parameter ‘S‘ is not within its bound; should extend ‘com.yummy.sell.da
- ETest系列产品1 | 便捷式嵌入式系统半实物仿真测试平台ETest_PT
- 黑马程序员——C语言学习——预处理指令、extern与static、typedef、递归
- win10 右键菜单onedrive 彻底删除办法
- 联想sr650安装centos_一次联想ThinkServer RD650 510i配置及系统安装过程
- 压敏电阻的参数、选型及应用
- 微信协议,个人微信api接口
- 4.BPMN/DMN/CMMN规范简单梳理
- 机器视觉 · 相机分类及通用参数