问题描述:
zookeeper客户端连接到zookeeper节点有20秒的延迟,而且每次都是20秒。自己编写客户端进行测试,通过日志看到在某个环节上会出现阻塞,导致延迟。
原因分析:
zookeeper默认使用了ZooKeeperSaslClient,而这个过程中调用了getHostName方法,从而造成程序阻塞。
解决方案:
所以可以通过在hosts文件添加上zookeeper的ip地址,使得getHostName可以直接使用hosts里面的dns结果。
在/etc/hosts文件中添加记录,记录格式如下:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/de96b2abad67e16aa720faf8e8d115e4.png)