Hbase错误zookeeper存在3次退休后失败

2023-11-26

我在 Ubuntu 中使用 HBASE 0.94.8 独立模式。它工作正常,我能够在 Hbase-shell 中执行所有操作。但在我登录我的系统后,它给出以下错误

15/07/28 15:10:30 ERROR zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 3 retries
15/07/28 15:10:30 WARN zookeeper.ZKUtil: hconnection-0x14ed40513350009 Unable to set watcher on znode (/hbase)
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
    at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1041)
    at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:172)
    at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:450)
    at org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker.checkIfBaseNodeAvailable(ZooKeeperNodeTracker.java:208)
    at org.apache.hadoop.hbase.zookeeper.RootRegionTracker.waitRootRegionLocation(RootRegionTracker.java:77)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:885)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:998)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:896)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:998)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:900)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:857)

是的,我肯定已经搜索了很多。我找到了一些资料ZooKeeper 重试 3 次后存在失败。这个错误可能是因为动物园管理员已停止。但我不知道要重新启动它。我尝试开始Hbase and thrift再次,但这仍然是问题。

这个命令ps axww | grep QuorumPeerMain给我以下输出:

 6162 pts/2    S+     0:00 grep --color=auto QuorumPeerMain

如果我重新启动系统,Hbase 就会开始工作。但我想要正确的解决方案。


临时解决方案

使用以下命令我 grep 这个 HBASE 进程:

ps -fe grep | hbase

然后杀死HBASE的所有进程:

kill -9 4555//assuming 4555 is process id of hbase

然后使用 sudo 和 thrift 重新启动 hbase,它开始工作,但我想要永久的解决方案。因为如果我在服务器中使用 HBASE(意味着不是本地计算机),我无法每次都重新启动 HBASE。


Issue:

Hbase错误zookeeper存在3次退休后失败清楚地表明zookeeper仲裁未运行 - 最可能的原因可能是与您的zookeeper.quorum设置不一致conf/hbase-site.xml,最小值必须是:

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///home/testuser/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/testuser/zookeeper</value>
  </property>
</configuration>

在下一节中,将简洁地提到为什么需要 Zookeeper 以及如何验证它是否正在运行。


概述:

从你的文本中预先假设(独立设置) - 你把事情搞混了。 Zookeeper简单来说就是管理HBase,并且是必须的要求。

默认情况下,HBase 本身处理 Zookeeper 设置、启动-停止(尽管可以更改)- 验证对文件的查看conf/hbase-evn.sh(在你的 hbase 目录中)必须有一行:

export HBASE_MANAGES_ZK=true

基本上告诉 HBase 是否应该管理自己的 Zookeeper 实例。如果设置为false,编辑为true.

现在为了验证,有一个有用的命令(忘记ps进而grep):

$ jps

该命令将列出机器上的所有 java 进程(HBase 本身就是一个 Java 应用程序),即可能的输出必须是(对于最小的独立 HBase 设置):

62019 Jps
61098 HMaster        
61233 HRegionServer     
61003 HQuorumPeer

不要只是终止 HBase 进程,而是使用启动-停止实用程序:

$ ./bin/stop-hbase.sh

进行必要的更改并重新启动:

$ ./bin/start-hbase.sh

P.S.我可能(完全)误解了你的问题,请在评论中告诉我,我会再次回复你并为即将到来的 SO 访客提供正确的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hbase错误zookeeper存在3次退休后失败 的相关文章

随机推荐

  • 如何多次运行 php 单元并连接覆盖率报告?

    我测试的代码充满了最终静态类 虽然我们无法重构它以进行更好的测试 但我有一个中间解决方案 可以在其自己的进程上运行几个小测试 一切正常 但我没有收到覆盖报告 因为其中一个覆盖了另一个 我目前正在 clover 中生成报告 但我对其他报告非常
  • 如何列出接口类型中的方法名称?

    例如 type FooService interface Foo1 x int int Foo2 x string string 我想做的是获取列表 Foo1 Foo2 使用运行时反射 尝试这个 t reflect TypeOf FooSe
  • Flutter 切换到 Tab 重新加载 Widget 并运行 FutureBuilder

    问题 我有 2 个使用默认选项卡控制器的选项卡 如下所示 Widget build BuildContext context return DefaultTabController length 2 child Scaffold drawe
  • 根据一列的值更新另一列的值

    我有一个名为 Vendor 的表 在该表中我有一个名为 AccountTerms 的列 它仅显示一个值 即 0 1 2 3 等 我还有一个我想使用的专栏 ulARAgeing 以反映该值的含义 例如 0 Current 1 30 Days
  • 错误:使用 SQLDF 没有此类列

    下面是脚本 gt library sqldf gt turnover read csv turnover csv gt names turnover 1 Report Date PersID Status DOB 5 Age Tenure
  • 如何用seaborn拟合泊松分布?

    我尝试将数据拟合为泊松分布 import seaborn as sns import scipy stats as stats sns distplot x kde False fit stats poisson 但我收到这个错误 Attr
  • 如何更新应用程序?

    互联网上似乎没有太多用于更新 Android 应用程序的资源 那么 我需要做的就是更改应用程序的 build gradle 文件中的版本号和名称吗 versionCode 2 versionName 1 0 1 这就是全部 现在我只需要制作
  • 即使一项检查失败如何继续执行

    我正在尝试访问不同的网址并使用 matchImageSnapshot 将屏幕截图与基线图像进行比较 这里的问题是当我的一个 url 因 matchimagesnapshot 失败时 它不会继续到下一个 URL 注意 我尝试使用变量 env
  • 获取插入后生成的id

    我正在 Android 上使用 SQLite 我想知道获取我插入的行的生成 id 的最佳方法 我认为解决方案在包含后进行搜索 但它看起来不是最好的方法 The insert方法返回id刚刚插入的行或 1如果插入过程中出现错误 long id
  • 滚动到带有标题的 Xamarin Forms ListView 的开头

    我在 Xamarin Forms 中滚动到 ListView 顶部时遇到一些问题 我可以通过调用 ScrollTo 并传递第一项来滚动到第一项 问题是 当列表有标题项时 我找不到滚动到标题的方法 这可能吗 我能想到的唯一解决方法是不使用标头
  • “new new Something”如何在 JavaScript 中产生有效的结果?

    我目前正在开发一个 JavaScript 解析器并研究ECMAScript 5 1 规范 这是目前令我困惑的一个问题 11 2 左侧表达式定义以下内容NewExpression生产 NewExpression MemberExpressio
  • 密码散列的盐也应该被“散列”吗?

    我认为这可能是一个愚蠢的问题 但我已经很困惑我应该在这里做什么才能最好 对密码哈希进行加盐处理时 盐是否也应该进行哈希处理还是保留为明文 注意 我正在对 SHA 256 中的密码进行哈希处理 并且 Salt 是预定义的字符串 因为一次只会存
  • 并发文件写入

    如何写入可由多个源 可能以并发方式 访问的文本文件 确保不会丢失写入操作 例如 如果两个不同的进程在同一时刻写入文件 这可能会导致问题 简单的解决方案 不是很快也不是很优雅 是在开始进程时锁定文件 创建 lock 文件或类似文件 并在写入完
  • 如何优化在 date 的 where 子句中包含 to_char 的 Oracle 查询

    我有一张表 其中包含49403459记录 我想查询某个日期范围内的表 说04 10 2010 to 04 10 2010 但是 日期以格式存储在表中10 APR 10 10 15 06 000000 AM 时间戳 结果当我这样做时 SELE
  • 在 .NET Web API POST/PUT 方法中使用继承的类

    我不知道如何在 Web API 控制器中使用继承的类 我have to create only oneAPI 控制器用于创建和更新数据库中继承的对象 与我的模型类似 所有这些模型都存在 Dto public class Animal pub
  • 在 WordPress 的自定义管理页面上提交表单

    我在 WordPress 管理中创建了一个自定义页面 其中有一个简单的文件上传字段和一个提交按钮 我需要弄清楚如何将页面提交到可以处理但在网络上找不到任何内容的地方 有谁知道表单上需要什么 操作 才能使其转到一个函数或另一个我可以处理文件的
  • 打印html元素时如何获得正确的渲染尺寸

    当将 html 元素打印到 A4 尺寸的纸张上时 我无法理解如何以正确的尺寸呈现 html 元素 为了说明我的目的 我将代码简化为一个 html 页面 其中包含一个红色边框的表格 该表格的尺寸应为 210mmx297mm A4 纸张尺寸
  • 通过 os.system() 终止进程中启动的脚本

    我有一个 python 脚本 它启动多个进程 每个进程基本上只是调用一个 shell 脚本 from multiprocessing import Process import os import logging def thread me
  • JavaScript 将 4 个字节的数组转换为 modbusTCP 读取的浮点值

    我正在尝试将 4 个字节的数组转换为浮点值 事情是这样的 我通过 ModbusTCP 从我的请求中得到答案 看起来像这样 data 16610 40202 buffer type Buffer data 64 226 157 10 该字符串
  • Hbase错误zookeeper存在3次退休后失败

    我在 Ubuntu 中使用 HBASE 0 94 8 独立模式 它工作正常 我能够在 Hbase shell 中执行所有操作 但在我登录我的系统后 它给出以下错误 15 07 28 15 10 30 ERROR zookeeper Reco