IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 应对高版本的zookeeper not connected解决方案(低版本适用) -> 正文阅读

[大数据]应对高版本的zookeeper not connected解决方案(低版本适用)

前提

截止2021-07-29,各帖子文章解决zookeeper not connected的方法仍不全面,特别是面对通过Docker-Compose部署的Zookeeper、高版本的Zookeeper、高版本的Dubbo等情况,完全没有资源,因此我来撰写一篇

CentOS 8
Docker-Compose
Zookeeper 3.7.0
Dubbo 3.0.1
SpringBoot 2.5.2
application.yml

1、Dubbo Timeout

(1) dubbo.config-center.timeout

这个timeout默认是6000(ms),将其改大些,是最常见的解决方法
但仅此1个方法对于我的这台老爷爷机器完全不够

(2) dubbo.registry.timeout

也需要修改这个timeout
添加的内容如下(如果已经有dubbo:,则在dubbo的范围内直接添加最后4行即可):

dubbo:
  registry:
    timeout: 30000
  config-center:
    timeout: 30000

2、tickTime

(1)

tickTime: Zookeeper的基本时间单位,tickTime的默认值是3秒,即3000ms
minSessionTimeout: 自从Zookeeper3.3.0后,启动Zookeeper,服务器允许与客户端协商的最小会话超时(ms)
maxSessionTimeout: 自从Zookeeper3.3.0后,启动Zookeeper,服务器允许与客户端协商的最大会话超时(ms)

(2)

而minSessionTimeout、maxSessionTimeout的时间长度都以tickTime为单位,minSessionTimeout默认为2个tickTime,maxSessionTimeout默认为20个tickTime

(3)

那为了防止超时导致的zookeeper not connected,就要对默认的tickTime进行修改(毕竟minSessionTimeout、maxSessionTimeout依赖于tickTime,单单需改tickTime即可)

(4)

tickTime在Zookeeper的配置文件zoo.cfg中,既然是通过Docker部署的Zookeeper,又需要使用配置文件,那配置文件的目录挂载少不了

(5)

先找出zoo.cfg在容器中的路径,通过一下方法查找:

find / -name zoo.cfg

查找到的路径为(中间那段乱乱的数字为容器ID,太长了影响观看,我给删短了再贴上来):

/var/lib/docker/overlay2/5c4fbc/diff/conf/zoo.cfg

可见Zookeeper容器中的zoo.cfg路径为:/conf/zoo.cfg(从diff开始都与容器目录无关,其他容器也是如此)

(5)

据此在宿主机中自定义的目录下创建zoo.cfg,在docker-compose.yml中与容器的zoo.cfg路径挂载起来(这里就不贴出来了)
创建的zoo.cfg:

dataDir=/data
dataLogDir=/datalog
tickTime=30000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
server.1=localhost:2888:3888;2181
audit.enable=true

3、Zookeeper disable改为enable

Zookeeper 3.7.0默认是disable的(我的说法不准确,随便康康就行),因此要让它跑起来,同在zoo.cfg中添加修改即可,修改的内容就在上方的zoo.cfg中有写,即:audit.enable=true

4、不添加RunWith(SpringRunner.class)

我发现SpringBoot的版本一高就不需要这个了,直接用@SpringBootTest即可,但用到@Test时JUnit还是少不了,添加上RunWith(SpringRunner.class)反而会出错,不知道其他人是不是如此,原因我也不明白,版本在2.5.0及以上就会这样

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-30 12:48:25  更:2021-07-30 12:48:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 4:04:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码