【解决】HDFS JournalNode启动慢问题排查

文章目录

  • 一. 问题描述
  • 二. 问题分析
      1. 排查机器性能
      1. DNS的问题
  • 三. 问题解决

一句话:因为dns的问题导致journalnode启动时很慢,通过修复dns对0.0.0.0域名解析,修复此问题。

一. 问题描述

从journalnode启动到服务可用,完成RPC Listen,需要花费大概1分多钟的问题,而这不符合安装预期。

二. 问题分析

1. 排查机器性能

简单查看cpu、内存、磁盘、网络等是否存在问题

shell 复制代码
# top 资源占用
top

# 内存
free -h
# 磁盘占用
df -h

# 网络延迟
ping hostname

发现都正常。

2. DNS的问题

查看了资源都正常,此时有些迷茫,打开chat-gpt问问:

其中第一点提到了DNS的问题,而日志中看到:

在启动journalnode过程中会启动8480、和8485端口,而这两个端口使用的ip都是0.0.0.0。

0.0.0.0意味着journalnode将监听所有可用ip地址,这里的ip地址指的是journalnode所在节点的所有地址。

好处是内网ip和外网ip都能被访问ing?

执行:nmap -v 0.0.0.0

shell 复制代码
 nmap -v 0.0.0.0
 
。。。
Initiating Parallel DNS resolution of 1 host. at 18:00
Completed Parallel DNS resolution of 1 host. at 18:00, 13.00s elapsed
。。。

大概意思是0.0.0.0的DNS解析花费了13秒。

另外一台机同样执行:

shell 复制代码
nmap -v 0.0.0.0

。。。
Initiating Parallel DNS resolution of 1 host. at 18:17
Completed Parallel DNS resolution of 1 host. at 18:17, 0.03s elapsed
。。。

只花了0.03秒,说明此节点的DNS解析确实有问题。

再观察个有意思的现象:

shell 复制代码
 nmap -v hostname1

Starting Nmap 6.40 ( http://nmap.org ) at 2023-11-23 18:20 CST
Initiating Ping Scan at 18:20
Scanning xxx [2 ports]
Completed Ping Scan at 18:20, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 18:20
。。。。
Completed Connect Scan at 18:20, 0.03s elapsed (1000 total ports)
。。。
Host is up (0.00038s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
3306/tcp open  mysql
8899/tcp open  ospf-lite
9000/tcp open  cslistener
9010/tcp open  sdr

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds

当我对具体hostname执行这个命令时,发现没有DNS解析,这里是hosts文件起了作用,绕开了DNS。

Hosts文件是一种本地的文本文件,位于计算机的文件系统中。它用于将特定的主机名映射到相应的IP地址,充当本地的静态映射表。

当系统尝试访问某个主机名时,它首先会查找本地hosts文件,如果找到对应的映射,就直接使用这个映射而不进行DNS查询。这可以提高访问速度,并且可以在本地定义自定义的主机名到IP地址的映射。

那既然能绕过DNS,我将journalnode的配置改成具体hostname,如下:hdfs-site.xml

xml 复制代码
    <property>
        <name>dfs.journalnode.rpc-address</name>
        <value>hostname1:8485</value>
        <description>Address for JournalNode RPC (e.g., "hostname:8485")</description>
    </property>
    <property>
        <name>dfs.journalnode.http-address</name>
        <value>hostname1:8480</value>
        <description>Address for JournalNode HTTP (e.g., "hostname:8480")</description>
    </property>

重新启动journalnode:

发现启动速度果然上来了。那基本上可以确定是因为DNS解析慢导致了hadoop组件启动慢。

三. 问题解决

修改DNS配置

去掉无法连接的DNS地址后,测试journalNode服务在0.0.0.0地址监听,启动过程无延迟。

相关推荐
mounter6253 小时前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
ACP广源盛139246256735 小时前
破局 Type‑C 切换器痛点@ACP#GSV6155+LH3828/GSV2221+LH3828 黄金方案
c语言·开发语言·网络·人工智能·嵌入式硬件·计算机外设·电脑
嵌入式小企鹅6 小时前
蓝牙学习系列(八):BLE L2CAP 协议详解
网络·学习·蓝牙·ble·协议栈·l2cap
广州灵眸科技有限公司7 小时前
为RK3588注入澎湃算力:RK1820 AI加速卡完整适配与评测指南
linux·网络·人工智能·物联网·算法
byoass7 小时前
csdn_upload_005
网络·安全·云计算
IT WorryFree7 小时前
飞塔防火墙与第三方设备进行IPSEC故障诊断期间,用户可能会观察到以下错误:
linux·服务器·网络
不是书本的小明10 小时前
K8S应用优化方向
网络·容器·kubernetes
~plus~10 小时前
.NET 8 C# 委托与事件实战教程
网络·c#·.net·.net 8·委托与事件·c#进阶
w61001046611 小时前
CKA-2026-Service
linux·服务器·网络·service·cka
GTgiantech11 小时前
灵活拓展网络边界:电口光模块的智慧选型与部署指南
网络