标签: hbase

在Hbase中创建表时的hbase.MasterNotRunningException

ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times
Run Code Online (Sandbox Code Playgroud)

我在HBase中创建表时遇到此错误.我按照以下方式使用HBase创建表.我在控制台上键入以下命令.

create 'test', 'cf'
Run Code Online (Sandbox Code Playgroud)

我得到了上面提到的错误.出现此错误的原因是什么?我在独立系统中尝试此表.

hadoop hbase

7
推荐指数
1
解决办法
5499
查看次数

ConnectionLoss for/hbase + Connection由peer重置?

我正在我的本地机器(伪分布式)上运行Hadoop MapReduce作业,该作业读取和写入HBase.我间歇性地得到一个错误,这会破坏工作,即使计算机一个人没有运行其他重要进程 - 请参阅下面的日志.作业死后,ZooKeeper Dump的输出看起来像这样,运行失败后客户端数量增加:

HBase is rooted at /hbase
Master address: SS-WS-M102:60000
Region server holding ROOT: SS-WS-M102:60020
Region servers:
 SS-WS-M102:60020
Quorum Server Statistics:
 ss-ws-m102:2181
  Zookeeper version: 3.3.3-cdh3u0--1, built on 03/26/2011 00:20 GMT
  Clients:
   /192.168.40.120:58484[1]\(queued=0,recved=39199,sent=39203)
   /192.168.40.120:37129[1]\(queued=0,recved=162,sent=162)
   /192.168.40.120:58485[1]\(queued=0,recved=39282,sent=39316)
   /192.168.40.120:58488[1]\(queued=0,recved=39224,sent=39226)
   /192.168.40.120:58030[0]\(queued=0,recved=1,sent=0)
   /192.168.40.120:58486[1]\(queued=0,recved=39248,sent=39267)
Run Code Online (Sandbox Code Playgroud)

我的开发团队目前正在使用CDH3U0发行版,因此HBase 0.90.1 - 这是一个在最近发布的版本中解决的问题吗?或者我应该对当前设置做些什么?我是否应该期望重新启动ZK并定期杀死客户端?我愿意接受任何合理的选择,让我的工作能够始终如一地完成.

2012-06-27 13:01:07,289 INFO org.apache.zookeeper.ClientCnxn: Opening socket connection to server SS-WS-M102/192.168.40.120:2181
2012-06-27 13:01:07,289 INFO org.apache.zookeeper.ClientCnxn: Socket connection established to SS-WS-M102/192.168.40.120:2181, initiating session
2012-06-27 13:01:07,290 WARN org.apache.zookeeper.ClientCnxn: Session 0x0 for server SS-WS-M102/192.168.40.120:2181, unexpected error, closing socket connection and …
Run Code Online (Sandbox Code Playgroud)

hbase apache-zookeeper

7
推荐指数
1
解决办法
7705
查看次数

如何将几个QualifierFilter应用于HBase中的一行

我们想用两个QualifierFilters过滤HBase表上的扫描.意味着我们只希望获得表格的行,这些行具有某个列'col_A' (!)某个其他列'col_B'.

我们目前的方法如下:

FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);
Filter filter1 = new QualifierFilter(CompareOp.EQUAL, new BinaryComparator("col_A".getBytes()));
filterList.addFilter(filter1);
Filter filter2 = new QualifierFilter(CompareOp.EQUAL, new BinaryComparator("col_B".getBytes()));
filterList.addFilter(filter2);

Scan scan = new Scan();
scan.setFilter(filterList);
... 
Run Code Online (Sandbox Code Playgroud)

尽管HBase表中有多行同时包含列'col_A'和'col_B',但ResultScanner不会返回此扫描的任何结果.

如果我们只将scan1应用于扫描,一切正常,我们会得到所有'col_A'的行.如果我们只将filter2应用于扫描,则它是相同的.我们确实获得了所有包含'col_B'的行.

只有当我们合并这两个过滤器时,我们才会得到任何结果.

只有从表中获得col_A AND col_B的行的正确方法是什么?

hbase filter database-scan

7
推荐指数
1
解决办法
6643
查看次数

HBase错误:hbase-default.xml文件似乎是旧版本的HBase(null)

我正在尝试编写一个连接HBase的程序.但是,当我执行以下命令HBaseConfiguration.create(); 我得到以下错误:.

"hbase-default.xml文件似乎是和旧版本的HBase(null),这个版本是0.92.1-cdh4.1.2.当我深入挖掘并调试内部时观察以下内容:

    class HBaseConfiguration
        private static void checkDefaultsVersion(Configuration conf) {
            if (conf.getBoolean("hbase.defaults.for.version.skip", Boolean.FALSE))return;                                                                                                 
            String defaultsVersion = conf.get("hbase.defaults.for.version");
            String thisVersion = VersionInfo.getVersion();
            if (!thisVersion.equals(defaultsVersion)) {
                    throw new RuntimeException(
                    "hbase-default.xml file seems to be for and old version of HBase (" +
                        defaultsVersion + "), this version is " + thisVersion);
            }
        }
Run Code Online (Sandbox Code Playgroud)

在我的情况下,HBase将默认版本返回为null,我不知道为什么它返回为null,因为我检查了与HBase.jar一起打包的hbase-default.xml中的相应条目,它具有正确的条目.

当我从独立程序尝试相同的事情时,它按预期工作.

Guyz,如果您有任何疑问,请与我们联系.

先谢谢,罗希特

hadoop hbase

7
推荐指数
1
解决办法
4117
查看次数

HBase shell扫描字节到字符串的转换

我想扫描hbase表并将整数看作字符串(而不是它们的二进制表示).我可以进行转换,但不知道如何使用hbase shell中的Java API编写扫描语句:

org.apache.hadoop.hbase.util.Bytes.toString(
  "\x48\x65\x6c\x6c\x6f\x20\x48\x42\x61\x73\x65".to_java_bytes)

 org.apache.hadoop.hbase.util.Bytes.toString("Hello HBase".to_java_bytes)
Run Code Online (Sandbox Code Playgroud)

我将非常高兴有扫描示例,获取搜索二进制数据(long)并输出正常字符串.我使用的是hbase shell,而不是JAVA.

hbase jruby

7
推荐指数
2
解决办法
1万
查看次数

Hbase和BigTable有什么区别?

谁能告诉我Apache HBase数据库和Bigtable有什么区别?还是一样?哪一个支持关系(如果有)?如果他们是大搜索者,有什么区别?

database hbase bigtable

7
推荐指数
1
解决办法
4431
查看次数

zookeeper无法打开socket到localhost/0:0:0:0:0:0:0:1:2181

我正在使用zookeeper ensemble for hbase.Zookeeper在3台机器上运行.虽然HBase也处于完全分布式模式.我有Nutch 2.x版本.当我启动nutch来抓取一些数据时,它会在nutch日志文件中给出以下bug.

ERROR zookeeper.ClientCnxnSocketNIO - Unable to open socket to localhost/0:0:0:0:0:0:0:1:2181
2015-01-23 16:34:21,956 WARN  zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.SocketException: Network is unreachable
        at sun.nio.ch.Net.connect0(Native Method)
        at sun.nio.ch.Net.connect(Net.java:457)
        at sun.nio.ch.Net.connect(Net.java:449)
        at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:647)
        at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:266)
        at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:276)
        at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:958)
        at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:993)
2015-01-23 16:34:22,063 WARN  zookeeper.RecoverableZooKeeper - Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
Run Code Online (Sandbox Code Playgroud)

当我在三个zookeepers实例上运行命令时

echo ruok | nc 1.1.1.1 2181 it says imok
Run Code Online (Sandbox Code Playgroud)

这有什么问题?我的hbase版本是0.94.14,zookeeper版本是3.4.5,solr版本是4.10.3(用于索引),Nutch版本是2.2.3

apache hbase nutch apache-zookeeper

7
推荐指数
1
解决办法
1万
查看次数

Phoenix sqlline无法在终端上显示表的所有列

使用phoenix sqlline连接hbase.在SecureCRT终端上,我只能看到有三列超过10列的表.我想显示表的所有列以测试数据是否正常.是否应该设置任何配置?

0: jdbc:phoenix:10.35.66.72:2181:/hbase> select * from WL.MSGCENTER_PUSHMESSAGE;
+--------------+---------+---------------------------------------------------------------------------------------------------------------------------------------------+
|    PLANID    | BATCHID |                                                                                                                                                 |
+--------------+---------+---------------------------------------------------------------------------------------------------------------------------------------------+
| 520          | 1       | C285995F-AB23-4CF0-A9A4-F29175E9CD36                                                                                                           |
+--------------+---------+---------------------------------------------------------------------------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

选择1行(0.805秒)

hbase phoenix

7
推荐指数
2
解决办法
9583
查看次数

如何过滤部分行键扫描HBase?

我有带行键的HBase表,它由文本ID和时间戳组成,如下所示:

...
string_id1.1470913344067
string_id1.1470913345067
string_id2.1470913344067
string_id2.1470913345067
...
Run Code Online (Sandbox Code Playgroud)

如何过滤HBase扫描(在Scala或Java中)以获得某些字符串ID和时间戳超过某个值的结果?

谢谢

java hbase scala mapreduce

7
推荐指数
2
解决办法
7976
查看次数

如何使用spark-shell添加hbase-site.xml配置文件

我有以下简单的代码:

import org.apache.hadoop.hbase.client.ConnectionFactory
import org.apache.hadoop.hbase.HBaseConfiguration
val hbaseconfLog = HBaseConfiguration.create()
val connectionLog = ConnectionFactory.createConnection(hbaseconfLog)
Run Code Online (Sandbox Code Playgroud)

我在spark-shell上运行,我收到以下错误:

 14:23:42 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected 
error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:30)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
Run Code Online (Sandbox Code Playgroud)

实际上有很多这些错误,其中有几个偶尔出现:

14:23:46 WARN client.ZooKeeperRegistry: Can't retrieve clusterId from 
Zookeeper org.apache.zookeeper.KeeperException$ConnectionLossException: 
KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
Run Code Online (Sandbox Code Playgroud)

通过Cloudera的VM,我可以通过简单地重新启动hbase-master,regionserver和thrift来解决这个问题,但在我公司这里我不允许这样做,我也通过复制文件hbase-site.xml解决了一次激发conf目录,但我也不能,它有没有办法在spark-shell参数中设置这个特定文件的路径?

hbase apache-spark

7
推荐指数
1
解决办法
364
查看次数