- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我要疯了:
安装好Hadoop/Hbase,一切正常;
/opt/jdk1.6.0_24/bin/jps
23261 ThriftServer
22582 QuorumPeerMain
21969 NameNode
23500 Jps
23021 HRegionServer
22211 TaskTracker
22891 HMaster
22117 SecondaryNameNode
21779 DataNode
22370 Main
22704 JobTracker
伪分布式环境。
hbase 外壳
正在运行“列表”并得出正确的结果;
hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.90.1-cdh3u0, r, Fri Mar 25 16:10:51 PDT 2011
hbase(main):001:0> status
1 servers, 0 dead, 8.0000 average load
通过 ruby 和 thrift 连接时,一切正常;我们正在添加数据,它正在进入系统,我们可以查询/扫描它。一切似乎都很好。
但是,当使用 Java 连接时:
groovy> import org.apache.hadoop.hbase.HBaseConfiguration
groovy> import org.apache.hadoop.hbase.client.HBaseAdmin
groovy> conf = HBaseConfiguration.create()
groovy> conf.set("hbase.master","127.0.0.1:60000");
groovy> hbase = new HBaseAdmin(conf);
Exception thrown
org.apache.hadoop.hbase.ZooKeeperConnectionException: org.apache.hadoop.hbase.ZooKeeperConnectionException: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:1000)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:303)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:294)
at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:156)
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:84)
我一直在努力寻找原因,但我真的一点头绪都没有。一切似乎都已正确安装。
netstat -lnp|grep 60000
tcp6 0 0 :::60000 :::* LISTEN 22891/java
看起来也不错。
# telnet localhost 60000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
如果您键入任何内容 + 回车,则连接并死机(不确定是否是这个想法,9090 上的 thrift 也是如此)。
谁能帮帮我?
最佳答案
这是 Zookeeper(ZK) 错误。 HBase 客户端尝试从 Zookeeper 获取/hbase 节点并失败。
您可以从 HBase 主 Web 界面获取 ZK 转储。您应该看到所有与 ZK 的连接并弄清楚是否有什么东西耗尽了它们。
在深入研究其他任何事情之前,您可以尝试重新启动 ZK 集群,看看它是否能解决您的问题。 (奇怪的是你看到一个客户)。
HBase 有一个设置可以增加到 ZK 的连接数。这是
hbase.zookeeper.property.maxClientCnxns
最近有一些与默认连接数相关的更新(见下文)(有一个包含所有默认配置的 hbase-default.xml 文件)。您可以在 hbase-site.xml 文件(在 HBase conf 目录下)中覆盖它并将其提高到 100 或更多。但请确保您没有以这种方式掩盖真正的问题,您不应该在单个客户端上看到这个问题。
我们遇到过类似的情况,但它发生在升级到 HBase-0.90 之后,map-reduce 作业的繁重操作期间。
以下是与您的问题相关的几个问题:
如果您仍然无法弄清楚,请发送电子邮件至 hbase-users 列表或加入 freenode 上的#hbase channel 并提出实时问题。
关于java - Hbase 客户端 ConnectionLoss for/hbase 报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6153560/
我正在努力学习本教程 https://github.com/cf-platform-eng/spring-boot-cities/tree/master/cities-service在 Cloud F
0){ echo "Username or email already exists."; }else{ $query = mysql_que
我想在Linux上编译ARToolKit源码,下载源码,按照ARToolKit文档,配置GLUT , OpenGL, libjpeg 等库。 转到 ARToolKit 目录并键入 ./Configer
你好,我在这个程序中遇到错误,wcout 不是 `std' 的成员。如您所见,我也使用了 iostream,但没有用。我有 Dev-C++ 4.9.9.2,我的操作系统是 XP SP3我需要你的帮助。
我尝试对一个网站进行多次投票,但我得到: panic: runtime error: invalid memory address or nil pointer dereference [signal
当我将“ using namespace std; int main(){ string s[30]; int n = 20; for(int i = 0; i using
我设置了 EMAIL_URL process.env.MAIL_URL="smtp://xx%40gmail.com:yyy@smtp.gmail.com:465" 这个工作找到了 Email.sen
我有如下文件夹结构 . ├── docker-compose.yml └── web-app ├── create_tomcat_admin.sh ├── Dockerfile
这是我在 php 中的查询代码: $query3 = mysql_query("SELECT * FROM area_of_work") or die('Invalid query:'. mysql_
我正在尝试将 therubyracer/therubyracer-heroku 安装到我的应用程序,因为它在 heroku 服务器中不起作用,因为我没有 javascript 运行时环境。 当我尝试安
我正在开发一个非常简单的 React 应用程序。它有一个组件,在这个组件中,我试图在单击链接时设置状态。但出于某种原因,setState 甚至没有得到认可。它带有下划线,表示未解析的函数或方法 set
我有三个来源:代码处理.h typedef enum {typeBool, typeVarDeclaration, typeFuncDeclaration } nodeEnum; typedef st
我正在尝试从我的 Android 手机向 raspi 发送连续的命令。我使用了此链接中的代码,但出现错误。 链接:https://stackoverflow.com/questions/2347143
我正在尝试从数据库中加载数据并将其放入不同的 View 中。 log cat 返回错误,它找不到“_id”列。 有人可以帮我解决这个问题吗? SqlHelper代码: public class Fib
我的alertview给出了这个问题..它与sqlite无关..它给出了一些信息.. 我该如何解决这个问题? UIAlertView *infoShow = [[UIAlertView alloc]
这个问题在这里已经有了答案: launch activities from different package (5 个答案) 关闭 10 年前。 最近我一直在开发一个新的应用程序,我正在尝试使用
这是我的代码: #include #include typedef struct test { int *a; char *s; }TEST; int main (void) {
所以我定义了一个函数,如果它是由它的 lonesome 实现的,那么它非常适合对线性数组进行合并排序,但是如果我把它放到一个类中,它就会出错。我认为这是一个很好的例子,说明我不太了解类(class)的
我是 IOS 新手。我有一个示例项目,并试图在此基础上学习 Obj-C。 现在我正处于学习如何使用 UIAlertController 的阶段。我有这样的代码: if (loanAmount == 0
当我尝试使用 wincachegrind 并获取 cachegrind 文件时,它返回 Cannot find call target. cachegrind.out line number:68 有
我是一名优秀的程序员,十分优秀!