java.net.UnknownHostException: host01: host01: Name or service not known

本文介绍了解决在Linux环境下部署Java集群时遇到的UnknownHostException异常的方法。通过修改/etc/hosts文件并添加缺失的主机名,成功解决了系统无法识别特定主机的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在linux系统下部署Java产品的集群环境时,后台报出如下异常,系统报找不到名为“host01”的主机:

java.net.UnknownHostException: host01:host01: Name or service not known

       at java.net.InetAddress.getLocalHost(InetAddress.java:1473)

        atcom.nse.cmccdm.hwtools.snmptrap.TrapThread.init(TrapThread.java:59)


解决方法:

修改/etc/hosts文件

操作:1、cd etc ——2、vi hosts ——3、在最后一行添加如下所示;

127.0.0.1 主机名 localhost.localdomain localhost

或是

127.0.0.1 主机名 

主机名是新加的,原来没有,保存,问题解决。




{"type": "server", "timestamp": "2025-06-06T01:48:11,770+0000", "level": "WARN", "component": "o.e.c.c.ClusterFormationFailureHelper", "cluster.name": "k8s-logs", "node.name": "es-cluster-0", "message": "master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and this node must discover master-eligible nodes [es-cluster-0, es-cluster-1, es-cluster-2] to bootstrap a cluster: have discovered []; discovery will continue using [] from hosts providers and [{es-cluster-0}{h2iaNMGyQcOspxpVKhnYUw}{JxxYbe5JSq65pjnC_B4GIw}{10.244.2.78}{10.244.2.78:9300}{ml.machine_memory=8201764864, xpack.installed=true, ml.max_open_jobs=20}] from last-known cluster state; node term 0, last-accepted version 0 in term 0" } {"type": "server", "timestamp": "2025-06-06T01:48:14,764+0000", "level": "WARN", "component": "o.e.d.SeedHostsResolver", "cluster.name": "k8s-logs", "node.name": "es-cluster-0", "message": "failed to resolve host [es-cluster-1.elasticsearch.kube-logging.svc.cluster.local]" , "stacktrace": ["java.net.UnknownHostException: es-cluster-1.elasticsearch.kube-logging.svc.cluster.local", "at java.net.InetAddress$CachedAddresses.get(InetAddress.java:797) ~[?:?]", "at java.net.InetAddress.getAllByName0(InetAddress.java:1505) ~[?:?]", "at java.net.InetAddress.getAllByName(InetAddress.java:1364) ~[?:?]", "at java.net.InetAddress.getAllByName(InetAddress.java:1298) ~[?:?]", "at org.elasticsearch.transport.TcpTransport.parse(TcpTransport.java:528) ~[elasticsearch-7.2.0.jar:7.2.0]", "at org.elasticsearch.transport.TcpTransport.addressesFromString(TcpTransport.java:470) ~[elasticsearch-7.2.0.jar:7.2.0]", "at org.elasticsearch.transport.TransportService.addressesFromString(TransportService.java:754) ~[elasticsearch-7.2.0.jar:7.2.0]", "at org.elasticsearch.discovery.SeedHostsResolver.lambda$resolveHostsLists$0(SeedHostsResolver.java:141) ~[elasticsearch-7.2.0.jar:7.2.0]", "at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]", "at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:688) ~[elasticsearch-7.2.0.jar:7.2.0]", "at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]", "at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]", "at java.lang.Thread.run(Thread.java:835) [?:?]"] } {"type": "server", "timestamp": "2025-06-06T01:48:14,766+0000", "level": "WARN", "component": "o.e.d.SeedHostsResolver", "cluster.name": "k8s-logs", "node.name": "es-cluster-0", "message": "timed out after [5s] resolving host [es-cluster-2.elasticsearch.kube-logging.svc.cluster.local]" } {"type": "server", "timestamp": "2025-06-06T01:48:15,766+0000", "level": "WARN", "component": "o.e.d.SeedHostsResolver", "cluster.name": "k8s-logs", "node.name": "es-cluster-0", "message": "failed to resolve host [es-cluster-1.elasticsearch.kube-logging.svc.cluster.local]" , "stacktrace": ["java.net.UnknownHostException: es-cluster-1.elasticsearch.kube-logging.svc.cluster.local", "at java.net.InetAddress$CachedAddresses.get(InetAddress.java:797) ~[?:?]", "at java.net.InetAddress.getAllByName0(InetAddress.java:1505) ~[?:?]", "at java.net.InetAddress.getAllByName(InetAddress.java:1364) ~[?:?]", "at java.net.InetAddress.getAllByName(InetAddress.java:1298) ~[?:?]", "at org.elasticsearch.transport.TcpTransport.parse(TcpTransport.java:528) ~[elasticsearch-7.2.0.jar:7.2.0]", "at org.elasticsearch.transport.TcpTransport.addressesFromString(TcpTransport.java:470) ~[elasticsearch-7.2.0.jar:7.2.0]", "at org.elasticsearch.transport.TransportService.addressesFromString(TransportService.java:754) ~[elasticsearch-7.2.0.jar:7.2.0]", "at org.elasticsearch.discovery.SeedHostsResolver.lambda$resolveHostsLists$0(SeedHostsResolver.java:141) ~[elasticsearch-7.2.0.jar:7.2.0]", "at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]", "at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:688) ~[elasticsearch-7.2.0.jar:7.2.0]", "at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]", "at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]", "at java.lang.Thread.run(Thread.java:835) [?:?]"] } {"type": "server", "timestamp": "2025-06-06T01:48:15,768+0000", "level": "WARN", "component": "o.e.d.SeedHostsResolver", "cluster.name": "k8s-logs", "node.name": "es-cluster-0", "message": "failed to resolve host [es-cluster-2.elasticsearch.kube-logging.svc.cluster.local]" , "stacktrace": ["java.net.UnknownHostException: es-cluster-2.elasticsearch.kube-logging.svc.cluster.local", "at java.net.InetAddress$CachedAddresses.get(InetAddress.java:797) ~[?:?]", "at java.net.InetAddress.getAllByName0(InetAddress.java:1505) ~[?:?]", "at java.net.InetAddress.getAllByName(InetAddress.java:1364) ~[?:?]", "at java.net.InetAddress.getAllByName(InetAddress.java:1298) ~[?:?]", "at org.elasticsearch.transport.TcpTransport.parse(TcpTransport.java:528) ~[elasticsearch-7.2.0.jar:7.2.0]", "at org.elasticsearch.transport.TcpTransport.addressesFromString(TcpTransport.java:470) ~[elasticsearch-7.2.0.jar:7.2.0]", "at org.elasticsearch.transport.TransportService.addressesFromString(TransportService.java:754) ~[elasticsearch-7.2.0.jar:7.2.0]", "at org.elasticsearch.discovery.SeedHostsResolver.lambda$resolveHostsLists$0(SeedHostsResolver.java:141) ~[elasticsearch-7.2.0.jar:7.2.0]", "at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]", "at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:688) ~[elasticsearch-7.2.0.jar:7.2.0]", "at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]", "at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]", "at java.lang.Thread.run(Thread.java:835) [?:?]"] }
最新发布
06-07
`java.net.UnknownHostException: hbase01: Name or service not known` 是一个Java网络编程中的常见错误,当你试图通过网络连接到名为 `hbase01` 的主机(可能是IP地址或域名)时,但系统找不到这个主机或者无法解析提供的名称,就会抛出这个异常。这通常意味着以下几个可能的原因: 1. **DNS解析失败**:你的机器可能没有正确配置DNS,或者 `hbase01` 这个域名在DNS中没有注册。 2. **主机不存在**:`hbase01` 是一个局域网内的机器名,如果它没有在同一个网络环境中,或者IP地址有误,你将无法连接。 3. **防火墙或网络限制**:如果你的网络环境有防火墙或者其他安全设置,可能阻止了对 `hbase01` 的访问。 4. **连接超时**:如果网络连接不稳定,也可能导致这样的错误,尤其是在高延迟或断开连接的情况下。 为了解决这个问题,你可以尝试以下步骤: - **检查DNS设置**:确保你的机器能正常解析 `hbase01` 这个域名。 - **确认主机存在**:检查 `hbase01` 是否有一个正确的IP地址,如果是IP,直接使用而不是名字。 - **测试网络连接**:用ping命令测试到 `hbase01` 的连通性。 - **查看网络配置**:确认你的应用程序是否正确设置了连接目标地址和端口。 - **检查防火墙规则**:确保没有阻止对指定IP或端口的访问。 如果你是在编写代码时遇到这个问题,可以考虑添加异常处理代码来优雅地处理这个错误,例如: ```java try { URL url = new URL("http://" + hbase01); } catch (UnknownHostException e) { System.err.println("Failed to connect to hbase01: " + e.getMessage()); // 这里可以提供备用方案或者更详细的错误处理 } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值