情况:

本地测试zookeeper客户端报错,解析错误

核心报错信息: java.lang.IllegalArgumentException: Unable to canonicalize address localhost/:2181 because it’s not resolvable

问题描述

错误一:

[2024-01-30 17:30:50,097] WARN Session 0x0 for server localhost/:2181, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)

java.lang.IllegalArgumentException: Unable to canonicalize address localhost/:2181 because it's not resolvable

at org.apache.zookeeper.SaslServerPrincipal.getServerPrincipal(SaslServerPrincipal.java:65)

at org.apache.zookeeper.SaslServerPrincipal.getServerPrincipal(SaslServerPrincipal.java:41)

at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1001)

at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1060)

执行./zkCli.sh之后,会出现报错信息以及客户端链接JDK情况。原先是安装的JDK21版本,出现了localhost/:2181 because it's not resolvable报错

错误二: 本地修改了/etc/profile的JDK环境变量配置,source之后还是不生效。

原因分析:

错误一:原因是因为JDK的版本太高,需要使用JDK8版本。

错误二:主要是因为linux电脑,不是root权限下,bash时候不会去读etc/profile文件,需要去修改/.bashrc

可以参考:https://www.yisu.com/ask/25763933.html

解决方案:

问题一:修改JDK版本为JDK8 问题二:根据上述参考,修改/.bashrc文件

步骤一:检查是否正确配置了环境变量。在Bash shell中,可以编辑/.bashrc或/.bash_profile文件,添加类似以下内容:

export JAVA_HOME=/path/to/jdk

export PATH=$PATH:$JAVA_HOME/bin

步骤二:重新加载配置文件:在配置环境变量之后,使用source命令重新加载配置文件,例如:

source ~/.bashrc

补充排查命令:

which java

java -version

$JAVA_HOME

相关链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。

大家都在找:

zookeeper:如何查看zookeeper服务状态

分布式:分布式存储

云原生:云原生官网